diff --git a/buildscripts/build_manuals_mcstas b/buildscripts/build_manuals_mcstas index 83e99f4d92..f3209b13b3 100755 --- a/buildscripts/build_manuals_mcstas +++ b/buildscripts/build_manuals_mcstas @@ -9,8 +9,6 @@ fi # Ensure our 3rd party modules are in place and updated -./3rdparty/sync.sh - ./mkdist mcstas-manuals $1 docs/manuals/mcstas/ "" noarch "o" -- NONE echo echo LaTeX build of McStas manuals v $1 done! diff --git a/docpkg/manuals/mcstas/Component_manual.pdf b/docpkg/manuals/mcstas/Component_manual.pdf index 3642399884..39535ee726 100644 Binary files a/docpkg/manuals/mcstas/Component_manual.pdf and b/docpkg/manuals/mcstas/Component_manual.pdf differ diff --git a/docpkg/manuals/mcstas/manual.pdf b/docpkg/manuals/mcstas/manual.pdf index 52846108db..e279225336 100644 Binary files a/docpkg/manuals/mcstas/manual.pdf and b/docpkg/manuals/mcstas/manual.pdf differ diff --git a/docs/manuals/mcstas/CMakeLists.txt b/docs/manuals/mcstas/CMakeLists.txt index e54b1ee4e0..e988a6684d 100644 --- a/docs/manuals/mcstas/CMakeLists.txt +++ b/docs/manuals/mcstas/CMakeLists.txt @@ -56,12 +56,24 @@ message( "LaTeX configuration" ) # set(LATEX_OUTPUT_PATH ".") file(GLOB LIST RELATIVE "${CMAKE_CURRENT_LIST_DIR}" "*.tex" "*.sty" "*.bib" "*.bst" "[m-s]*/*.tex" "[m-s]*/*.parms" "figures/*") +# TeX snippets foreach(NAME sources samples optics monitors misc) - add_custom_command( - OUTPUT "${NAME}.done" - COMMAND "${PROJECT_SOURCE_DIR}/get_mcdoc_snippets.sh" "${NAME}" "${PROJECT_SOURCE_DIR}" - WORKING_DIRECTORY "${PROJECT_BINARY_DIR}" - ) + # PWFIXME: ONLY SEMI-FUNCTIONAL + add_custom_command( + OUTPUT "${NAME}.done" + COMMAND "mcdoc" "--tex" "--in-repo" "--dir=${CMAKE_SOURCE_DIR}/../../../mcstas-comps/${NAME}" "--outdir=${PROJECT_BINARY_DIR}" + WORKING_DIRECTORY "${PROJECT_BINARY_DIR}" + ) +endforeach() + +# MD files +foreach(NAME sources samples optics monitors misc) + # PWFIXME: ONLY SENMI-FUNCTIONAL + add_custom_command( + OUTPUT "${NAME}.mddone" + COMMAND "mcdoc" "--md" "--in-repo" "--dir=${CMAKE_SOURCE_DIR}/../../../mcstas-comps/${NAME}" + WORKING_DIRECTORY "${PROJECT_BINARY_DIR}" + ) endforeach() set(LATEX_OUTPUT_PATH "${PROJECT_BINARY_DIR}") diff --git a/docs/manuals/mcstas/contrib/Al_window.tex b/docs/manuals/mcstas/contrib/Al_window.tex new file mode 100644 index 0000000000..58e4f655f9 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Al_window.tex @@ -0,0 +1,38 @@ +\section{The \texttt{Al\_window} McStas Component} +Aluminium window in the beam + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} S. Roth + \item \textbf{Origin:} FRM-II + \item \textbf{Date:} Jul 31, 2001 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Aluminium window in the beam + +Example: Al_window(thickness=0.002) + +%BUGS +Only handles the absorption, and window has infinite width/height +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +thickness & m & Al Window thickness & 0.001 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Al_window.comp}{Source code} for \texttt{Al\_window.comp}. +\end{itemize} +\IfFileExists{Al_window_static.tex}{\input{Al_window_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/CavitiesIn.tex b/docs/manuals/mcstas/contrib/CavitiesIn.tex new file mode 100644 index 0000000000..f4fa78e893 --- /dev/null +++ b/docs/manuals/mcstas/contrib/CavitiesIn.tex @@ -0,0 +1,40 @@ +\section{The \texttt{CavitiesIn} McStas Component} +Slit - sorting in channels + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Henrich Frielinghaus + \item \textbf{Origin:} JCNS - FZ-Juelich + \item \textbf{Date:} Oct 2007 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This routine sorts the 'full' neutron beam (given by xw,yw) +in xc,yc channels. These can be imagined as cavities. +CavitiesOut sorts these channels back to normal coordinates. + +Example: Slit(xw=0.05, yw=0.05, xc=4, yc=1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xw & m & width in X-dir & 0.05 \\ +yw & m & width in Y-dir & 0.05 \\ +xc & m & channels in X-dir & 1 \\ +yc & m & channels in Y-dir & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/CavitiesIn.comp}{Source code} for \texttt{CavitiesIn.comp}. +\end{itemize} +\IfFileExists{CavitiesIn_static.tex}{\input{CavitiesIn_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/CavitiesOut.tex b/docs/manuals/mcstas/contrib/CavitiesOut.tex new file mode 100644 index 0000000000..be8db50064 --- /dev/null +++ b/docs/manuals/mcstas/contrib/CavitiesOut.tex @@ -0,0 +1,40 @@ +\section{The \texttt{CavitiesOut} McStas Component} +Slit - sorting in channels + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Henrich Frielinghaus + \item \textbf{Origin:} JCNS - FZ-Juelich + \item \textbf{Date:} Oct 2007 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This routine sorts the 'full' neutron beam (given by xw,yw) +in xc,yc channels. These can be imagined as cavities. +CavitiesOut sorts these channels back to normal coordinates. + +Example: Slit(xw=0.05, yw=0.05, xc=4, yc=1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xw & m & width in X-dir (full width, might be larger for trumpets) & 0.05 \\ +yw & m & width in Y-dir (full width, might be larger for trumpets) & 0.05 \\ +xc & 1 & Number of x-channels & 1 \\ +yc & 1 & Number of y-channels & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/CavitiesOut.comp}{Source code} for \texttt{CavitiesOut.comp}. +\end{itemize} +\IfFileExists{CavitiesOut_static.tex}{\input{CavitiesOut_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Collimator_ROC.tex b/docs/manuals/mcstas/contrib/Collimator_ROC.tex new file mode 100644 index 0000000000..3f30853756 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Collimator_ROC.tex @@ -0,0 +1,58 @@ +\section{The \texttt{Collimator\_ROC} McStas Component} +Radial Oscillationg Collimator (ROC) + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailto:hansen@ill.fr"\textgreater{}Thomas C Hansen\textless{}/a\textgreater{} + \item \textbf{Origin:} \textless{}a href="http://www.ill.fr"\textgreater{}ILL\textless{}/a\textgreater{} (Dif/\textless{}a href="http://www.ill.fr/YellowBook/D20"\textgreater{}D20\textless{}/a\textgreater{}) + \item \textbf{Date:} 15 May 2000 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +ESCRIPTION + +This is an implementation of an Ideal radial oscillating collimator, +which is usually placed between a polycrystalline sample and a linear +curved position sensitive detector on a 2-axis diffractometer like D20. +The transfer function has been implemented analytically, as this is +much more efficient than doing Monte-Caqrlo (MC) choices and to absorb +many neutrons on the absorbing blades. The function is basically triangular +(except for rather 'exotic' focuss apertures) and depends on the distance +from the projection of the focus centre to the plane perpendicular to the +collimator planes to the intersection of the same projection of the velocity +vector of the neutron with a line that is perpendicular to it and containing +the same projection of the focus centre. The oscillation is assumed to be +absolutely regular and so shading each angle the same way. All neutrons not +hitting the collimator core will be absorbed. + +Example: Collimator_ROC( +ROC_pitch=5, ROC_ri=0.15, ROC_ro=0.3, ROC_h=0.15, +ROC_ttmin=-25, ROC_ttmax=135, ROC_sign=-1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +ROC\_pitch & deg & Angular pitch between the absorbing blades & 1 \\ +ROC\_ri & m & Inner radius of the collimator & 0.4 \\ +ROC\_ro & m & Outer radius of the collimator & 1.2 \\ +ROC\_h & m & Height of the collimator & 0.153 \\ +ROC\_ttmin & deg & Lower scattering angle limit & 0 \\ +ROC\_ttmax & deg & Higher scattering angle limit & 100 \\ +ROC\_sign & 1 & Chirality/takeoff sign & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Collimator_ROC.comp}{Source code} for \texttt{Collimator\_ROC.comp}. + \item \textless{}a href="http://www.ill.fr/d20/"\textgreater{}D20 diffractometer at the ILL\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Collimator_ROC_static.tex}{\input{Collimator_ROC_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Commodus_I3.tex b/docs/manuals/mcstas/contrib/Commodus_I3.tex new file mode 100644 index 0000000000..2aa49451f5 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Commodus_I3.tex @@ -0,0 +1,58 @@ +\section{The \texttt{Commodus\_I3} McStas Component} +ISIS Moderators (Tested with McStas 3.1 (Windows)) + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} G. Skoro, based on ViewModerator4 from S. Ansell + \item \textbf{Origin:} ISIS + \item \textbf{Date:} July 2022 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Produces a neutron distribution at the ISIS TS1 or TS2 corresponding moderator front face position. +The Face argument determines which TS1 or TS2 beamline is to be sampled by using corresponding file. +Neutrons are created having a range of energies determined by the E0 and E1 arguments. +Trajectories are produced such that they pass through the moderator face (defined by +modXsize and modZsize) and a focusing rectangle (defined by xw, yh and dist). +--- HOW TO USE --- + +Example: Commodus_I3(Face="TS1verBase2016_LH8020_newVM-var_South04_Merlin.mcstas", E0 = E_min, E1 = E_max, +modXsize = 0.12, modZsize = 0.12, xw = 0.094, yh = 0.094, dist = 1.6) + +MERLIN simulation; TS1 baseline model. +In this example, xw and yh are chosen to be identical to the shutter opening dimension. +dist = 1.6 is the real distance to the shutter front face: +(This is TimeOffset value (=160 [cm]) from TS1verBase2016_LH8020_newVM-var_South04_Merlin.mcstas file.) + +N.B. Absolute normalization: The result of the Mc-Stas simulation will show neutron intensity for beam current of 1 uA. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +Face & string & TS1 (or TS2) instrument McStas filename & "TS1\_S04\_Merlin.mcstas" \\ +\textbf{E0} & meV & Lower edge of energy distribution & \\ +\textbf{E1} & meV & Upper edge of energy distribution & \\ +modPosition & & & 0 \\ +dist & m & Distance from moderator surface to the focusing rectangle & 1.7 \\ +verbose & int & Flag to output debugging information & 0 \\ +beamcurrent & uA & ISIS beam current & 1 \\ +modXsize & m & Moderator width & 0.12 \\ +modZsize & m & Moderator height & 0.12 \\ +xw & m & Width of focusing rectangle & 0.094 \\ +yh & m & Height of focusing rectangle & 0.094 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Commodus_I3.comp}{Source code} for \texttt{Commodus\_I3.comp}. +\end{itemize} +\IfFileExists{Commodus_I3_static.tex}{\input{Commodus_I3_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Conics_EH.tex b/docs/manuals/mcstas/contrib/Conics_EH.tex new file mode 100644 index 0000000000..cb68a71a70 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Conics_EH.tex @@ -0,0 +1,61 @@ +\section{The \texttt{Conics\_EH} McStas Component} +Release: McStas 2.7 +Date: September 2021 + +Elliptic-Hyperbolic shells for Wolter optic + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Wilendrup and Erik Knudsen \textless{}br\textgreater{}(derived from Giacomo Resta skeleton-component) + \item \textbf{Origin:} DTU + \item \textbf{Date:} September 2021 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Implements a set of nshells Wolter Ellipsoid/Hyperboloid pairs using conics.h from ConicTracer. + +The component has two distinct modes of specifying the geometry: +a) Via the radii vector, parametrized from largest to smallest radius with a length of 'nshells' + +b) By specifying radii rmax and rmin, between which a quadratic law distributes 'nshells' surfaces. + +The mirrors are assumed to be touching at the mid-optic plane, i.e. there is no gap between primary +and secondary mirror. +By definition the ratio between primary and secondary mirror glancing angles is 1/3. +At present a single m-value is used for all mirrors. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +rmin & m & Midoptic plane radius of innermost mirror pair. & 0.0031416 \\ +rmax & m & Midoptic plane radius of outermost mirror pair. & 0.05236 \\ +focal\_length\_u & m & Focal length (upstream) of the mirror pairs. & 10 \\ +focal\_length\_d & m & Focal length (downstream) of the mirror pairs. & 10 \\ +le & m & Paraboloid mirror length. & 0.25 \\ +lh & m & Hyperboloid mirror length. & 0.25 \\ +nshells & 1 & Number of nested shells to expect & 4 \\ +m & 1 & Critical angle of mirrors as multiples of Ni\_c. & 1 \\ +mirr\_thick & m & Thickness of mirror shell surfaces - NOT YET IMPLEMENTED & 0 \\ +disk & & Flag. If nonzero, insert a disk to block the central area within the innermost mirror. & 1 \\ +radii & m & Optional vector of radii (length should match nshells) & NULL \\ +R0 & 1 & Reflectivity at Low angles for reflectivity curve approximation & 0.99 \\ +Qc & AA-1 & Critical scattering vector & 0.021 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +alpha & AA & Slope of reflectivity for reflectivity curve approximation & 6.07 \\ +transmit & 1 & Fraction of statistics to assign to transmitted beam - NOT YET IMPLEMENTED & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Conics_EH.comp}{Source code} for \texttt{Conics\_EH.comp}. +\end{itemize} +\IfFileExists{Conics_EH_static.tex}{\input{Conics_EH_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Conics_HE.tex b/docs/manuals/mcstas/contrib/Conics_HE.tex new file mode 100644 index 0000000000..11edb6616f --- /dev/null +++ b/docs/manuals/mcstas/contrib/Conics_HE.tex @@ -0,0 +1,61 @@ +\section{The \texttt{Conics\_HE} McStas Component} +Release: McStas 2.7 +Date: September 2021 + +Hyperbolic-Elliptic shells for Wolter optic + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Wilendrup and Erik Knudsen \textless{}br\textgreater{}(derived from Giacomo Resta skeleton-component) + \item \textbf{Origin:} DTU + \item \textbf{Date:} September 2021 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Implements a set of nshells Wolter Ellipsoid/Hyperboloid pairs using conics.h from ConicTracer. + +The component has two distinct modes of specifying the geometry: +a) Via the radii vector, parametrized from largest to smallest radius with a length of 'nshells' + +b) By specifying radii rmax and rmin, between which a quadratic law distributes 'nshells' surfaces. + +The mirrors are assumed to be touching at the mid-optic plane, i.e. there is no gap between primary +and secondary mirror. +By definition the ratio between primary and secondary mirror glancing angles is 1/3. +At present a single m-value is used for all mirrors. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +rmin & m & Midoptic plane radius of innermost mirror pair. & 0.0031416 \\ +rmax & m & Midoptic plane radius of outermost mirror pair. & 0.05236 \\ +focal\_length\_u & m & Focal length (upstream) of the mirror pairs. & 10 \\ +focal\_length\_d & m & Focal length (downstream) of the mirror pairs. & 10 \\ +le & m & Paraboloid mirror length. & 0.25 \\ +lh & m & Hyperboloid mirror length. & 0.25 \\ +nshells & 1 & Number of nested shells to expect & 4 \\ +m & 1 & Critical angle of mirrors as multiples of Ni\_c. & 1 \\ +mirr\_thick & m & Thickness of mirror shell surfaces - NOT YET IMPLEMENTED & 0 \\ +disk & & Flag. If nonzero, insert a disk to block the central area within the innermost mirror. & 1 \\ +radii & m & Optional vector of radii (length should match nshells) & NULL \\ +R0 & 1 & Reflectivity at Low angles for reflectivity curve approximation & 0.99 \\ +Qc & AA-1 & Critical scattering vector & 0.021 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +alpha & AA & Slope of reflectivity for reflectivity curve approximation & 6.07 \\ +transmit & 1 & Fraction of statistics to assign to transmitted beam - NOT YET IMPLEMENTED & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Conics_HE.comp}{Source code} for \texttt{Conics\_HE.comp}. +\end{itemize} +\IfFileExists{Conics_HE_static.tex}{\input{Conics_HE_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Conics_PH.tex b/docs/manuals/mcstas/contrib/Conics_PH.tex new file mode 100644 index 0000000000..cf3af80475 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Conics_PH.tex @@ -0,0 +1,59 @@ +\section{The \texttt{Conics\_PH} McStas Component} +Release: McStas 2.7 +Date: September 2021 + +Parabolid-Hyperbolic shells for Wolter optic + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Wilendrup and Erik Knudsen \textless{}br\textgreater{}(derived from Giacomo Resta skeleton-component) + \item \textbf{Origin:} DTU + \item \textbf{Date:} September 2021 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Implements a set of nshells Wolter I Paraboloid/Hyperboloid pairs using conics.h from ConicTracer. + +The component has two distinct modes of specifying the geometry: +a) Via the radii vector, parametrized from largest to smallest radius with a length of 'nshells' + +b) By specifying radii rmax and rmin, between which a quadratic law distributes 'nshells' surfaces. + +The mirrors are assumed to be touching at the mid-optic plane, i.e. there is no gap between primary +and secondary mirror.* By definition the ratio between primary and secondary mirror glancing angles is 1/3. +At present a single m-value is used for all mirrors. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +rmin & m & Midoptic plane radius of innermost mirror pair. & 0.325 \\ +rmax & m & Midoptic plane radius of outermost mirror pair. & 0.615 \\ +focal\_length & m & Focal length of the mirror pairs. & 10.070 \\ +lp & m & Paraboloid mirror length. & 0.84 \\ +lh & m & Hyperboloid mirror length. & 0.84 \\ +nshells & 1 & Number of nested shells to expect & 4 \\ +m & 1 & Critical angle of mirrors as multiples of Ni. & 1 \\ +mirr\_thick & m & Thickness of mirror shell surfaces - NOT YET IMPLEMENTED & 0 \\ +disk & & Flag. If nonzero, insert a disk to block the central area within the innermost mirror. & 1 \\ +radii & m & Optional vector of radii (length should match nshells) & NULL \\ +R0 & 1 & Reflectivity at Low angles for reflectivity curve approximation & 0.99 \\ +Qc & AA-1 & Critical scattering vector & 0.021 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +alpha & AA & Slope of reflectivity for reflectivity curve approximation & 6.07 \\ +transmit & 1 & Fraction of statistics to assign to transmitted beam - NOT YET IMPLEMENTED & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Conics_PH.comp}{Source code} for \texttt{Conics\_PH.comp}. +\end{itemize} +\IfFileExists{Conics_PH_static.tex}{\input{Conics_PH_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Conics_PP.tex b/docs/manuals/mcstas/contrib/Conics_PP.tex new file mode 100644 index 0000000000..055a8e4d6c --- /dev/null +++ b/docs/manuals/mcstas/contrib/Conics_PP.tex @@ -0,0 +1,61 @@ +\section{The \texttt{Conics\_PP} McStas Component} +Release: McStas 2.7 +Date: September 2021 + +Parabolid-Parabolid shells for Wolter optic + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Wilendrup and Erik Knudsen \textless{}br\textgreater{}(derived from Giacomo Resta skeleton-component) + \item \textbf{Origin:} DTU + \item \textbf{Date:} September 2021 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Implements a set of nshells Wolter I Paraboloid/Parabolid pairs using conics.h from ConicTracer. + +The component has two distinct modes of specifying the geometry: +a) Via the radii vector, parametrized from largest to smallest radius with a length of 'nshells' + +b) By specifying radii rmax and rmin, between which a quadratic law distributes 'nshells' surfaces. + +The mirrors are assumed to be touching at the mid-optic plane, i.e. there is no gap between primary +and secondary mirror. +By definition the ratio between primary and secondary mirror glancing angles is 1/3. +At present a single m-value is used for all mirrors. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +rmin & m & Midoptic plane radius of innermost mirror pair. & 0.0031416 \\ +rmax & m & Midoptic plane radius of outermost mirror pair. & 0.05236 \\ +focal\_length\_u & m & Focal length of upstream mirror. & 10.070 \\ +focal\_length\_d & m & Focal length of downstream mirror. & 10.070 \\ +lp1 & m & Upstream paraboloid mirror length. & 0.84 \\ +lp2 & m & Downstream paraboloid mirror length. & 0.84 \\ +nshells & 1 & Number of nested shells to expect & 4 \\ +m & 1 & Critical angle of mirrors as multiples of Ni. & 1 \\ +mirr\_thick & m & Thickness of mirror shell surfaces - NOT YET IMPLEMENTED & 0 \\ +disk & & Flag. If nonzero, insert a disk to block the central area within the innermost mirror. & 1 \\ +radii & m & Optional vector of radii (length should match nshells) & NULL \\ +R0 & 1 & Reflectivity at Low angles for reflectivity curve approximation & 0.99 \\ +Qc & AA-1 & Critical scattering vector & 0.021 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +alpha & AA & Slope of reflectivity for reflectivity curve approximation & 6.07 \\ +transmit & 1 & Fraction of statistics to assign to transmitted beam - NOT YET IMPLEMENTED & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Conics_PP.comp}{Source code} for \texttt{Conics\_PP.comp}. +\end{itemize} +\IfFileExists{Conics_PP_static.tex}{\input{Conics_PP_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/E_4PI.tex b/docs/manuals/mcstas/contrib/E_4PI.tex new file mode 100644 index 0000000000..adaaaa4471 --- /dev/null +++ b/docs/manuals/mcstas/contrib/E_4PI.tex @@ -0,0 +1,40 @@ +\section{The \texttt{E\_4PI} McStas Component} +Spherical Energy-sensitive detector + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Duc Le + \item \textbf{Origin:} ISIS + \item \textbf{Date:} 2000s +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Example: E_4PI(filename="e4pi.dat",ne=200,Emin=0,Emax=E*2) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +ne & 1 & Number of energy bins & 50 \\ +Emin & meV & Minimum energy measured & 0 \\ +Emax & meV & Maximum energy measured & 5 \\ +filename & string & Name of file in which to store the output data & 0 \\ +radius & m & Radius of detector (m) & 1 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/E_4PI.comp}{Source code} for \texttt{E\_4PI.comp}. + \item \textless{}A HREF="http://neutron.risoe.dk/mcstas/components/tests/powder/"\textgreater{}Test + \item results\textless{}/A\textgreater{} (not up-to-date). +\end{itemize} +\IfFileExists{E_4PI_static.tex}{\input{E_4PI_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Exact_radial_coll.tex b/docs/manuals/mcstas/contrib/Exact_radial_coll.tex new file mode 100644 index 0000000000..21656bff88 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Exact_radial_coll.tex @@ -0,0 +1,50 @@ +\section{The \texttt{Exact\_radial\_coll} McStas Component} +An exact radial Soller collimator. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Roland Schedler \textless{}roland.schedler at hmi.de\textgreater{} + \item \textbf{Origin:} HMI + \item \textbf{Date:} October 2006 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Radial Soller collimator with rectangular opening, specified length and +specified foil thickness. +The collimator is made of many trapezium shaped nslit stacked radially. +The nslit are separated by absorbing foils, the whole stuff is inside +an absorbing housing. +The component should be positioned at the radius center. The model is exact. +The neutron beam outside the collimator area is transmitted unaffected. + +Example: Exact_radial_coll(theta_min=-5, theta_max=5, nslit=100, +radius=1.0, length=.3, h_in=.2, h_out=.3, d=0.0001) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +theta\_min & deg & Minimum Theta angle for the radial setting & -5 \\ +theta\_max & deg & Maximum Theta angle for the radial setting & 5 \\ +nslit & 1 & Number of channels in the theta range & 100 \\ +radius & m & Inner radius (focus point to foil start point). & 1.0 \\ +length & m & Length of the foils / collimator & .5 \\ +h\_in & m & Input window height & .3 \\ +h\_out & m & Output window height & .4 \\ +d & m & Thickness of the absorbing foils & 0.0001 \\ +verbose & 0/1 & Gives additional information & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Exact_radial_coll.comp}{Source code} for \texttt{Exact\_radial\_coll.comp}. +\end{itemize} +\IfFileExists{Exact_radial_coll_static.tex}{\input{Exact_radial_coll_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/FermiChopper_ILL.tex b/docs/manuals/mcstas/contrib/FermiChopper_ILL.tex new file mode 100644 index 0000000000..e60baa6ee2 --- /dev/null +++ b/docs/manuals/mcstas/contrib/FermiChopper_ILL.tex @@ -0,0 +1,77 @@ +\section{The \texttt{FermiChopper\_ILL} McStas Component} +Fermi Chopper with rotating frame. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} M. Poehlmann, C. Carbogno, H. Schober, E. Farhi + \item \textbf{Origin:} ILL Grenoble / TU Muenchen + \item \textbf{Date:} May 2002 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a Fermi chopper with optional supermirror coated blades +supermirror facilities may be disabled by setting m = 0, R0=0 +Slit packages are straight. Chopper slits are separated by an infinitely +thin absorbing material. The effective transmission (resulting from fraction +of the transparent material and its transmission) may be specified. +The chopper slit package width may be specified through the total width 'xwidth' +of the full package or the width 'w' of each single slit. The other parameter +is calculated by: xwidth = nslit*w. + +Example: +FermiChopper_ILL(phase=-50.0, radius=0.04, nu=100, +yheight=0.08, w=0.00022475, nslit=200.0, R0=0.0, +Qc=0.02176, alpha=2.33, m=0.0, length=0.012, eff=0.95, +zero_time=0) + +Markus Poehlmann +Christian Carbogno +and Helmut Schober + +%VALIDATION +Apr 2005: extensive external test, most problems solved (cf. 'Bugs') +Validated by: K. Lieutenant + +limitations: +no blade width used + +%BUGS +- overestimates peak width for long wavelengths +- does not give the right pulse position, shape and width for slit widths below 0.1 mm +- fails sometimes when using MPI +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +phase & deg & chopper phase at t=0 & 0 \\ +radius & m & chopper cylinder radius & 0.04 \\ +nu & Hz & chopper frequency & 100 \\ +yheight & m & Height of chopper & 0.08 \\ +w & m & width of one chopper slit & 0.00022475 \\ +nslit & 1 & number of chopper slits & 200.0 \\ +R0 & 1 & low-angle reflectivity & 0.0 \\ +Qc & AA-1 & critical scattering vector & 0.02176 \\ +alpha & AA & slope of reflectivity & 2.33 \\ +m & 1 & m-value of material. Zero means completely absorbing. & 0.0 \\ +W & AA-1 & width of supermirror cut-off & 2e-3 \\ +length & m & channel length of the Fermi chopper & 0.012 \\ +eff & 1 & efficiency = transmission x fraction of transparent material & 0.95 \\ +zero\_time & 1 & set time to zero: 0: no 1: once per half cycle & 0 \\ +xwidth & m & optional total width of slit package & 0 \\ +verbose & 1 & optional flag to display component statistics, use 1 or 3 (debuging) & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/FermiChopper_ILL.comp}{Source code} for \texttt{FermiChopper\_ILL.comp}. +\end{itemize} +\IfFileExists{FermiChopper_ILL_static.tex}{\input{FermiChopper_ILL_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Fermi_chop2a.tex b/docs/manuals/mcstas/contrib/Fermi_chop2a.tex new file mode 100644 index 0000000000..8196f90dcf --- /dev/null +++ b/docs/manuals/mcstas/contrib/Fermi_chop2a.tex @@ -0,0 +1,42 @@ +\section{The \texttt{Fermi\_chop2a} McStas Component} +SNS Fermi Chopper as used in SNS\_ARCS + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Garrett Granroth + \item \textbf{Origin:} SNS Oak Ridge,TN + \item \textbf{Date:} 6 Feb 2005 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models an SNS Fermi Chopper, used in the SNS_ARCS instrument model. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{len} & m & slit package length & \\ +\textbf{w} & m & slit package width & \\ +\textbf{nu} & Hz & frequency & \\ +\textbf{delta} & sec & time from edge of chopper to center Phase angle & \\ +\textbf{tc} & sec & time when desired neutron is at the center of the chopper & \\ +\textbf{ymin} & m & Lower y bound & \\ +\textbf{ymax} & m & Upper y bound & \\ +\textbf{nchan} & 1 & number of channels in chopper & \\ +\textbf{bw} & m & blade width & \\ +\textbf{blader} & m & blade radius & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Fermi_chop2a.comp}{Source code} for \texttt{Fermi\_chop2a.comp}. +\end{itemize} +\IfFileExists{Fermi_chop2a_static.tex}{\input{Fermi_chop2a_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Filter_graphite.tex b/docs/manuals/mcstas/contrib/Filter_graphite.tex new file mode 100644 index 0000000000..5e05fe2885 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Filter_graphite.tex @@ -0,0 +1,47 @@ +\section{The \texttt{Filter\_graphite} McStas Component} +Pyrolytic graphite filter (analytical model) + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailto:hansen@ill.fr"\textgreater{}Thomas C Hansen\textless{}/a\textgreater{} + \item \textbf{Origin:} \textless{}a href="http://www.ill.fr"\textgreater{}ILL\textless{}/a\textgreater{} + \item \textbf{Date:} 07 March 2000 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +ESCRIPTION + +This rectangular pyrolytic graphite filter uses an analytical model +with linear interpolation on the neutron wavelength +This type of filter is e.g. used to supress higher harmonics, such as +the 1.2 AA contribution to the 2.4 AA obtained by a highly oriented +pyrolytic graphite (HOPG) monochromator. + +Example: Filter_graphite(xmin=-.05, xmax=.05, ymin=-.05, ymax=.05, length=1.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xmin & m & Lower x bound & -0.16 \\ +xmax & m & Upper x bound & 0.16 \\ +ymin & m & Lower y bound & -0.16 \\ +ymax & m & Upper y bound & 0.16 \\ +length & m & Thickness of graphite plate & 0.05 \\ +xwidth & m & Width of filter. Overrides xmin,xmax. & 0 \\ +yheight & m & Height of filter. Overrides ymin,ymax. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Filter_graphite.comp}{Source code} for \texttt{Filter\_graphite.comp}. +\end{itemize} +\IfFileExists{Filter_graphite_static.tex}{\input{Filter_graphite_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/FlatEllipse_finite_mirror.tex b/docs/manuals/mcstas/contrib/FlatEllipse_finite_mirror.tex new file mode 100644 index 0000000000..d22087d45a --- /dev/null +++ b/docs/manuals/mcstas/contrib/FlatEllipse_finite_mirror.tex @@ -0,0 +1,55 @@ +\section{The \texttt{FlatEllipse\_finite\_mirror} McStas Component} +Date: 2022-2023 + +NMO (nested mirror optic) modules + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Christoph Herb, TUM + \item \textbf{Origin:} TUM + \item \textbf{Date:} 2022-2023 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Simulates NMO (nested mirror optic) modules as concevied by Böni et al., see +Christoph Herb et al., Nucl. Instrum. Meth. A 1040, 1671564 (1-18) 2022. + +The component relies on an updated version of conic.h from MIT. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sourceDist & m & Distance used for calculating the spacing of the mirrors & 0 \\ +LStart & m & Left focal point & 0.6 \\ +LEnd & m & Right focal point & 0.6 \\ +lStart & m & z-Value of the mirror start & 0.0 \\ +lEnd & m & z-Value of the mirror end & 0.0 \\ +r\_0 & m & distance to the mirror at lStart & 0.02076 \\ +nummirror & 1 & number of mirrors & 9 \\ +mf & & mvalue of the inner side of the coating, m\textgreater{}10 results in perfect reflections & 4 \\ +mb & & mvalue of the outer side of the coating, m\textgreater{}10 results in perfect reflections & 0 \\ +R0 & 1 & Low-angle reflectivity & 0.99 \\ +Qc & AA-1 & critical scattering vector & 0.021 \\ +W & AA-1 & width of supermirror cutoff & 0.003 \\ +alpha & AA & Slope of reflectivity & 6.07 \\ +mirror\_width & m & width of the individual mirrors & 0.003 \\ +mirror\_sidelength & m & side length of the individual mirrors & 1 \\ +doubleReflections & 1 & binary value determining whether the mirror backside is reflective & 0 \\ +rfront\_inner\_file & str & file of distances to the optical axis of the individual mirrors & "NULL" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/FlatEllipse_finite_mirror.comp}{Source code} for \texttt{FlatEllipse\_finite\_mirror.comp}. + \item Christoph Herb et al., Nucl. Instrum. Meth. A 1040, 1671564 (1-18) 2022. +\end{itemize} +\IfFileExists{FlatEllipse_finite_mirror_static.tex}{\input{FlatEllipse_finite_mirror_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Foil_flipper_magnet.tex b/docs/manuals/mcstas/contrib/Foil_flipper_magnet.tex new file mode 100644 index 0000000000..5a988934d9 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Foil_flipper_magnet.tex @@ -0,0 +1,58 @@ +\section{The \texttt{Foil\_flipper\_magnet} McStas Component} +A magnet with a spin-flip foil inside + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Erik B Knudsen + \item \textbf{Origin:} DTU Physics + \item \textbf{Date:} Sep. 2015 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +ESCRIPTION +A magnet with a spin-flip foil inside + +This component models a magnet with a constant magnetic field and a slanted +magnetized foil inside acting as a spin-flipper. This arrangement may be used to +target the geometry of a Spin-Echo SANS instrument (Rekveldt, NIMB, 1997 || Rekveldt, Rev Sci Instr. 2005). +In its most basic form a SE-SANS instrument nrelies on inclined field regions of +constant magnetic field, which can be difficult to realize. Instead it is possible to emulate +such regions using a magnetized foil. + +In this component th emagntzied foil is modelled as a canted (by the angle phi) mathematical plane inside a region +of constant magnetic field of dimensions (xwidth,yheight,zdepth). Furthermore, exponetially decaying stray fields from +the constant field region may be specified by giving parameters (Bxwidth,Byheight,Bzdepth) > (xwidth,yheight,zdepth). +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +stray\_field & & Toggle for modelling of stray fields. & 1 \\ +\textbf{xwidth} & m & width of the magnet & \\ +\textbf{yheight} & m & height of the magnet & \\ +\textbf{zdepth} & m & thickness of the magnet & \\ +Bxwidth & m & width of the B-field of thev component & -1 \\ +Byheight & m & height of the B-field of the component & -1 \\ +Bzdepth & m & thickness of the B-field of the component & -1 \\ +phi & rd & angle (from the xz-plane) of the foil-spinflipper inside the magnet & 0.0 \\ +foilthick & um & Thickness of the magnetized foil & 0.0 \\ +\textbf{Bx} & T & Parameter used for x composant of field. & \\ +\textbf{By} & T & Parameter used for y composant of field. & \\ +\textbf{Bz} & T & Parameter used for z composant of field. & \\ +foil\_in & & Toggle for optional foil in the flipper. & 1 \\ +verbose & & Toggle verbose mode & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Foil_flipper_magnet.comp}{Source code} for \texttt{Foil\_flipper\_magnet.comp}. +\end{itemize} +\IfFileExists{Foil_flipper_magnet_static.tex}{\input{Foil_flipper_magnet_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/GISANS_sample.tex b/docs/manuals/mcstas/contrib/GISANS_sample.tex new file mode 100644 index 0000000000..6619f81e57 --- /dev/null +++ b/docs/manuals/mcstas/contrib/GISANS_sample.tex @@ -0,0 +1,90 @@ +\section{The \texttt{GISANS\_sample} McStas Component} +Sample for GISANS + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} H. Frielinghaus + \item \textbf{Origin:} FZJ + \item \textbf{Date:} March 2023 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +The idea of this sample goes back to the real sample studied in the publication https://doi.org/10.1063/1.4723634 +This is a sandwich of a sapphire and silicon slab through which the neutrons impinge and the sample in between where the scattering emerges from. +The sample consist of spherical polystyrene colloids in heavy water that form aligned crystallites at the solid-liquid interface, +while in the middle of the volume the crytallites are orientationally averaged in the polar angle that points in the lateral direaction. +The crystallites of the current verision are not highly realistic because they are monoclinic with a 60° angle mimicking a fraction +of a hexagonal structure with hexagonal planes stacked in the z-direction. +Inside the routine one can change between 2 or 3 different planes. Also the total crystallite size can be changed. +Especially the parallelogram with 60° angle is unrealistic because one usually would assume the crystallites to have a hexagonal shape. +However, the finite crystallites mimic the final correlation length inside the sample. +The sample works for neutrons impingin from the sapphire, the silicon at grazing angles and in transmission in the sense of a SANS sample. +If the neutrons impinge through the other layers (sample and silicon oxide) - the responses are not so realistic and need further development. +Also multiple scattering would be needed to be implemented still - but could be done. + +What this sample component covers relatively well is the fact that damping of the intensity by scattering and absorption is also covered. +That means that even at larger angles than the critical angle the intensity is damped inside the sample and so only a certain near surface +layer scatters neutrons. +This effect is not covered by BornAgain. + +I see this as a start for further developments. + +Information extracted from malformatted docstrings follow: + +the total thickness of the sandwich is zsapph+zsamp+zsilicon +the thicknesses zsampsurf and zsiliconsurf are parts of the total sample/silicon thicknesses + +(scattering length densitites, reciprocal total cross section of absorption, reciprocal total cross section of incoherent scattering) +units rho... [A-2], abslen... [cm], inclen... [cm] +rhosapph, abslensapph, inclensapph for sapphire +rhoD2O, abslenD2O, inclenD2O for D2O as solvent in sample +rhoPS, abslenPS, inclenPS for polystyrene as colloids in sample +rhosiliconsurf, abslensiliconsurf, inclensiliconsurf for silicon surface (oxide layer) +rhosilicon, abslensilicon, inclensilicon for silicon +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xwidth & m & Width of sample volume & 0.05 \\ +yheight & m & Height of sample volume & 0.15 \\ +zsapph & m & Thickness of the sapphire layer on one side & 0.02 \\ +zsamp & m & Thickness of the overall sample between sapphire and silicon & 0.002 \\ +zsampsurf & m & Thickness from the total of zsamp on either side of sapphire/silicon that is oriented & 0.000001 \\ +zsilicon & m & Thickness of the silicon layer on the other side & 0.02 \\ +zsiliconsurf & m & Thickness from the total of zsilicon on the sample side (oxidization layer) & 5e-9 \\ +rhosapph & & & 5.773e-6 \\ +abslensapph & & & 163.708 \\ +inclensapph & & & 49.815 \\ +rhoD2O & & & 6.364e-6 \\ +abslenD2O & & & 44066.347 \\ +inclenD2O & & & 7.258 \\ +rhoPS & & & 1.358e-6 \\ +abslenPS & & & 114.502 \\ +inclenPS & & & 0.24588 \\ +rhosiliconsurf & & & 4.123e-6 \\ +abslensiliconsurf & & & 401.051 \\ +inclensiliconsurf & & & 169.11 \\ +rhosilicon & & & 2.079e-6 \\ +abslensilicon & & & 209.919 \\ +inclensilicon & & & 9901.6 \\ +phiPS & 1 & Concentration vol/vol of colloids in D2O & 0.1 \\ +Rad & A & Radius of colloids in Aangstroem & 370.0 \\ +phirot & rad & angle of the ordered (aligned) crytallites at the two surfaces towards sapphire/silicon & 0.0 \\ +sc\_aim & 1 & how much is scattered versus transmitted & 0.98 \\ +sans\_aim & 1 & how much goes to the small angle range versus wide angles & 0.98 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/GISANS_sample.comp}{Source code} for \texttt{GISANS\_sample.comp}. +\end{itemize} +\IfFileExists{GISANS_sample_static.tex}{\input{GISANS_sample_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Guide_anyshape_r.tex b/docs/manuals/mcstas/contrib/Guide_anyshape_r.tex new file mode 100644 index 0000000000..805c217076 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Guide_anyshape_r.tex @@ -0,0 +1,71 @@ +\section{The \texttt{Guide\_anyshape\_r} McStas Component} +Reflecting surface (guide and mirror) with any shape, defined from an OFF file +and a patch to allow m-, alpha- and W-values added per polygon face. +Derived from Guide\_anyshape / Guide\_anyshape\_r . + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Emmanuel Farhi, adapted by Peter Link and Gaetano Mangiapia + \item \textbf{Origin:} ILL/MLZ + \item \textbf{Date:} August 4th 2010 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This is a reflecting object component, derived from Guide_anyshape. +Its shape, as well as m-, alpha- and W-values (IN THIS ORDER) for each face, are defined from +an OFF file, given with its file name. The object size is set as given from the file, where +dimensions should be in meters. The bounding box may be re-scaled by specifying +xwidth,yheight,zdepth parameters. The object may optionally be centered when +using 'center=1'. + +If in input only the values of R0 and Qc are specified, leaving m, alpha and W all null, then +Guide_anyshape_g will use the values of these last three parameters that are specified in the OFF +file for each face: floating point based values may be provided for them. +In case at least one among m, alpha and W is not null, then Guide_anyshape_g will use these +values as input (common for all the faces), ignoring those specified in the OFF file + +The complex OFF/PLY geometry option handles any closed non-convex polyhedra. +It supports the OFF and NOFF file format but not COFF (colored faces). +Standard .OFF files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. +PLY geometry files are also supported. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xwidth & m & Redimension the object bounding box on X axis is non-zero & 0 \\ +yheight & m & Redimension the object bounding box on Y axis is non-zero & 0 \\ +zdepth & m & Redimension the object bounding box on Z axis is non-zero & 0 \\ +center & 1 & When set to 1, the object will be centered w.r.t. the local coordinate frame & 0 \\ +transmit & 1 & When true, non reflected neutrons are transmitted through the surfaces, instead of being absorbed. No material absorption is taken into account though & 0 \\ +R0 & 1 & Low-angle reflectivity & 0.99 \\ +Qc & AA-1 & Critical scattering vector & 0.0219 \\ +alpha & AA & Slope of reflectivity & 0 \\ +m & 1 & m-value of material. Zero means completely absorbing. & 0 \\ +W & AA-1 & Width of supermirror cut-off & 0 \\ +geometry & str & Name of the OFF/PLY file describing the guide geometry & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Guide_anyshape_r.comp}{Source code} for \texttt{Guide\_anyshape\_r.comp}. + \item \textless{}a href="http://www.geomview.org"\textgreater{}Geomview and Object File Format (OFF)\textless{}/a\textgreater{} + \item Java version of Geomview (display only) \textless{}a href="http://www.holmes3d.net/graphics/roffview/"\textgreater{}jroff.jar\textless{}/a\textgreater{} + \item \textless{}a href="http://qhull.org"\textgreater{}qhull\textless{}/a\textgreater{} + \item \textless{}a href="http://www.cs.ucdavis.edu/\textasciitilde{}amenta/powercrust.html"\textgreater{}powercrust\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Guide_anyshape_r_static.tex}{\input{Guide_anyshape_r_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Guide_curved.tex b/docs/manuals/mcstas/contrib/Guide_curved.tex new file mode 100644 index 0000000000..b04ef7bdd9 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Guide_curved.tex @@ -0,0 +1,51 @@ +\section{The \texttt{Guide\_curved} McStas Component} +Non-focusing curved neutron guide. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Ross Stewart + \item \textbf{Origin:} \textless{}a href="http://www.ill.fr"\textgreater{}ILL (France)\textless{}/a\textgreater{}. + \item \textbf{Date:} November 18 2003 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a rectangular curved guide tube with entrance centered on the Z axis. +The entrance lies in the X-Y plane. Draws a true depiction +of the guide, and trajectories. Guide is not focusing. + +Example: Guide_curved(w1=0.1, h1=0.1, l=2.0, R0=0.99, Qc=0.021, +alpha=6.07, m=2, W=0.003, curvature=2700) + +%BUGS +This component does not work with gravitation on. Use component Guide_gravity then. +Systematic error on transmitted flux is found to be about 10%. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{w1} & m & Width at the guide entry & \\ +\textbf{h1} & m & Height at the guide entry & \\ +\textbf{l} & m & length of guide & \\ +R0 & 1 & Low-angle reflectivity & 0.995 \\ +Qc & AA-1 & Critical scattering vector & 0.0218 \\ +alpha & AA & Slope of reflectivity & 4.38 \\ +m & 1 & m-value of material. Zero means completely absorbing. & 2 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +curvature & m & Radius of curvature of the guide & 2700 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Guide_curved.comp}{Source code} for \texttt{Guide\_curved.comp}. + \item \textless{}a href="../optics/Bender.comp.html"\textgreater{}Bender\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Guide_curved_static.tex}{\input{Guide_curved_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Guide_four_side.tex b/docs/manuals/mcstas/contrib/Guide_four_side.tex new file mode 100644 index 0000000000..2e5e31dfaa --- /dev/null +++ b/docs/manuals/mcstas/contrib/Guide_four_side.tex @@ -0,0 +1,137 @@ +\section{The \texttt{Guide\_four\_side} McStas Component} +Guide with four side walls + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Tobias Panzner + \item \textbf{Origin:} PSI + \item \textbf{Date:} 07/08/2010 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This component models a guide with four side walls. +As user you can controll the properties of every wall separatly. All togther you have up to +8 walls: 4 inner walls and 4 outer walls. + +Every single wall can have a elliptic, parabolic or straight shape. +All four sides of the guide are independent from each other. +In the elliptic case the side wall shape follows the equation x^2/b^2+(z+z0)^2/a^2=1 +(the center of the ellipse is located at (0,-z0)). +In the parabolic case the side wall shape follows the equation z=b-ax^2;mc +In the straight case the side wall shape follows the equation z=l/(w2-w1)*x-w1. + +The shape selection is done by the focal points. The focal points are located at the +z-axis and are defined by their distance to the entrance or exit window of the guide +(in the following called 'focal length'). + +If both focal lengths for one wall are zero it will be a straight wall (entrance and +exit width have to be given in the beginning). + +If one of the focal lengths is not zero the shape will be parabolic (only the entrance width +given in the beginning is recognized; exit width will be calculated). If the the entrance +focal length is zero the guide will be a focusing devise. +If the exit focal length is zero it will be defocusing devise. + +If both focals are non zero the shape of the wall will be elliptic (only the entrance width +given in the beginning is recognized; exit width will be calculated). + +Notice: 1.)The focal points are in general located outside the guide (positive focal lengths). +Focal points inside the guide need to have negative focal lengths. +2.)The exit width parameters (w2r, w2l, h2u,h2d) are only taken into account if the +walls have a linear shape. In the ellitic or parabolic case they will be ignored. + +For the inner channel: the outer side of each wall is calculated by the component in depentence +of the wallthickness and the shape of the inner side. + +Each of walls can have a own indepenting reflecting layer (defined by an input file) +or it can be a absorber or it can be transparent. + +The reflectivity properties can be given by an input file (Format [q(Angs-1) R(0-1)]) or by +parameters (Qc, alpha, m, W). + +%BUGS +This component does not work with gravitation on. + +This component does not work correctly in GROUP-modus. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +RIreflect & & (str) Name of relfectivity file for the right inner wall. & 0 \\ +LIreflect & & (str) Name of relfectivity file for the left inner wall. & 0 \\ +UIreflect & & (str) Name of relfectivity file for the top inner wall. & 0 \\ +DIreflect & & (str) Name of relfectivity file for the bottom inner wall. & 0 \\ +ROreflect & & (str) Name of relfectivity file for the right outer wall. & 0 \\ +LOreflect & & (str) Name of relfectivity file for the left outer wall. & 0 \\ +UOreflect & & (str) Name of relfectivity file for the top outer wall. & 0 \\ +DOreflect & & (str) Name of relfectivity file for the bottom outer wall. & 0 \\ +w1l & m & Width at the left guide entry (positive x-axis) & 0.002 \\ +w2l & m & Width at the left guide exit (positive x-axis) & 0.002 \\ +linwl & m & left horizontal wall: distance of 1st focal point & 0 \\ +loutwl & m & left horizontal wall: distance of 2nd focal point & 0 \\ +w1r & m & Width at the right guide entry (negative x-axis) & 0.002 \\ +w2r & m & Width at the right guide exit (negative x-axis) & 0.002 \\ +linwr & m & right horizontal wall: distance of 1st focal point & 0.0 \\ +loutwr & m & right horizontal wall: distance of 2nd focal point & 0 \\ +h1u & m & Height at the top guide entry (positive y-axis) & 0.002 \\ +h2u & m & Height at the top guide entry (positive y-axis) & 0.002 \\ +linhu & m & upper vertical wall: distance of 1st focal point & 0.0 \\ +louthu & m & upper vertical wall: distance of 2nd focal point & 0 \\ +h1d & m & Height at the bottom guide entry (negative y-axis) & 0.002 \\ +h2d & m & Height at the bottom guide entry (negative y-axis) & 0.002 \\ +linhd & m & lower vertical wall: distance of 1st focal point & 0.0 \\ +louthd & m & lower vertical wall: distance of 2nd focal point & 0 \\ +l & m & length of guide (DEFAULT = 0) & 0 \\ +R0 & 1 & Low-angle reflectivity (DEFAULT = 0.99) & 0.99 \\ +Qcxl & AA-1 & Critical scattering vector for left vertical & 0.0217 \\ +Qcxr & AA-1 & Critical scattering vector for right vertical & 0.0217 \\ +Qcyu & AA-1 & Critical scattering vector for top inner wall & 0.0217 \\ +Qcyd & AA-1 & Critical scattering vector for bottom inner wall & 0.0217 \\ +alphaxl & AA & Slope of reflectivity for left vertical & 6.07 \\ +alphaxr & AA & Slope of reflectivity for right vertical & 6.07 \\ +alphayu & AA & Slope of reflectivity for top inner wall & 6.07 \\ +alphayd & AA & Slope of reflectivity for bottom inner wall & 6.07 \\ +Wxr & AA-1 & Width of supermirror cut-off for right inner wall & 0.003 \\ +Wxl & AA-1 & Width of supermirror cut-off for left inner wall & 0.003 \\ +Wyu & AA-1 & Width of supermirror cut-off for top inner wall & 0.003 \\ +Wyd & AA-1 & Width of supermirror cut-off for bottom inner wall & 0.003 \\ +mxr & 1 & m-value of material for right vertical inner wall. & 3.6 \\ +mxl & 1 & m-value of material for left vertical inner wall. & 3.6 \\ +myu & 1 & m-value of material for top inner wall & 3.6 \\ +myd & 1 & m-value of material for bottom inner wall & 3.6 \\ +QcxrOW & AA-1 & Critical scattering vector for right vertical & 0.0217 \\ +QcxlOW & AA-1 & Critical scattering vector for left vertical & 0.0217 \\ +QcyuOW & AA-1 & Critical scattering vector for top outer wall & 0.0217 \\ +QcydOW & AA-1 & Critical scattering vector for bottom outer wall & 0.0217 \\ +alphaxlOW & AA & Slope of reflectivity for left vertical & 6.07 \\ +alphaxrOW & AA & Slope of reflectivity for right vertical & 6.07 \\ +alphayuOW & AA & Slope of reflectivity for top outer wall & 6.07 \\ +alphaydOW & AA & Slope of reflectivity for bottom outer wall & 6.07 \\ +WxrOW & AA-1 & Width of supermirror cut-off for right outer wall & 0.003 \\ +WxlOW & AA-1 & Width of supermirror cut-off for left outer wall & 0.003 \\ +WyuOW & AA-1 & Width of supermirror cut-off for top outer wall & 0.003 \\ +WydOW & AA-1 & Width of supermirror cut-off for bottom outer wall & 0.003 \\ +mxrOW & 1 & m-value of material for right vertical outer wall & 0 \\ +mxlOW & 1 & m-value of material for left vertical outer wall & 0 \\ +myuOW & 1 & m-value of material for top outer wall & 0 \\ +mydOW & 1 & m-value of material for bottom outer wall & 0 \\ +rwallthick & m & thickness of the right wall (DEFAULT = 0.001 m) & 0.001 \\ +lwallthick & m & thickness of the left wall (DEFAULT = 0.001 m) & 0.001 \\ +uwallthick & m & thickness of the top wall (DEFAULT = 0.001 m) & 0.001 \\ +dwallthick & m & thickness of the bottom wall(DEFAULT = 0.001 m) & 0.001 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Guide_four_side.comp}{Source code} for \texttt{Guide\_four\_side.comp}. +\end{itemize} +\IfFileExists{Guide_four_side_static.tex}{\input{Guide_four_side_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Guide_gravity_psd.tex b/docs/manuals/mcstas/contrib/Guide_gravity_psd.tex new file mode 100644 index 0000000000..cd95ed44c1 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Guide_gravity_psd.tex @@ -0,0 +1,102 @@ +\section{The \texttt{Guide\_gravity\_psd} McStas Component} +Neutron straight guide with gravity. Can be channeled and focusing. +Waviness may be specified, as well as side chamfers (on substrate). + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailto:farhi@ill.fr"\textgreater{}Emmanuel Farhi\textless{}/a\textgreater{} + \item \textbf{Origin:} \textless{}a href="http://www.ill.fr"\textgreater{}ILL (France)\textless{}/a\textgreater{}. + \item \textbf{Date:} Aug 03 2001 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a rectangular straight guide tube centered on the Z axis, with +gravitation handling. The entrance lies in the X-Y plane. +The guide can be channeled (nslit,d,nhslit parameters). The guide coating +specifications may be entered via different ways (global, or for +each wall m-value). + +Waviness (random) may be specified either globally or for each mirror type. +Side chamfers (due to substrate processing) may be specified the same way. +In order to model a realistic straight guide assembly, a long guide of +length 'l' may be splitted into 'nelements' between which chamfers/gaps are +positioned. + +The reflectivity may be specified either using an analytical mode (see +Component manual) or as a text file in free format, with 1st +column as q[Angs-1] and 2nd column as the reflectivity R in [0-1]. +For details on the geometry calculation see the description in the McStas +component manual. + +There is a special rotating mode in order to approximate a Fermi Chopper +behaviour, in the case the neutron trajectory is nearly linear inside the +chopper slits, i.e. the neutrons are fast w/r/ to the chopper speed. +Slits are straight, but may be super-mirror coated. In this case, the +component is NOT centered, but located at its entry window. It should then +be shifted by -l/2. + +Example: Guide_gravity_psd(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=12, +R0=0.99, Qc=0.0219, alpha=6.07, m=1.0, W=0.003) + +%VALIDATION +May 2005: extensive internal test, all problems solved +Validated by: K. Lieutenant +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{nxpsd} & 1 & Number of bins in the built-in mirror parallel monitors & \\ +\textbf{filenameT} & str & Filename for top-mirror-monitor & \\ +\textbf{filenameB} & str & Filename for bottom-mirror-monitor & \\ +\textbf{filenameL} & str & Filename for left-mirror-monitor & \\ +\textbf{filenameR} & str & Filename for right-mirror-monitor & \\ +\textbf{w1} & m & Width at the guide entry & \\ +\textbf{h1} & m & Height at the guide entry & \\ +w2 & m & Width at the guide exit. If 0, use w1. & 0 \\ +h2 & m & Height at the guide exit. If 0, use h1. & 0 \\ +\textbf{l} & m & length of guide & \\ +R0 & 1 & Low-angle reflectivity & 0.995 \\ +Qc & AA-1 & Critical scattering vector & 0.0218 \\ +alpha & AA & Slope of reflectivity & 4.38 \\ +m & 1 & m-value of material. Zero means completely absorbing. m=0.65 & 1.0 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +nslit & 1 & Number of vertical channels in the guide (\textgreater{}= 1) (nslit-1 vertical dividing walls). & 1 \\ +d & m & Thickness of subdividing walls & 0.0005 \\ +mleft & 1 & m-value of material for left. vert. mirror & -1 \\ +mright & 1 & m-value of material for right. vert. mirror & -1 \\ +mtop & 1 & m-value of material for top. horz. mirror & -1 \\ +mbottom & 1 & m-value of material for bottom. horz. mirror & -1 \\ +nhslit & 1 & Number of horizontal channels in the guide (\textgreater{}= 1). (nhslit-1 horizontal dividing walls). this enables to have nslit*nhslit rectangular channels & 1 \\ +G & m/s2 & Gravitation norm. 0 value disables G effects. & 0 \\ +aleft & 1 & alpha-value of left vert. mirror & -1 \\ +aright & 1 & alpha-value of right vert. mirror & -1 \\ +atop & 1 & alpha-value of top horz. mirror & -1 \\ +abottom & 1 & alpha-value of left horz. mirror & -1 \\ +wavy & deg & Global guide waviness & 0 \\ +wavy\_z & deg & Partial waviness along propagation axis & 0 \\ +wavy\_tb & deg & Partial waviness in transverse direction for top/bottom mirrors & 0 \\ +wavy\_lr & deg & Partial waviness in transverse direction for left/right mirrors & 0 \\ +chamfers & m & Global chamfers specifications (in/out/mirror sides). & 0 \\ +chamfers\_z & m & Input and output chamfers & 0 \\ +chamfers\_lr & m & Chamfers on left/right mirror sides & 0 \\ +chamfers\_tb & m & Chamfers on top/bottom mirror sides & 0 \\ +nelements & 1 & Number of sections in the guide (length l/nelements). & 1 \\ +nu & Hz & Rotation frequency (round/s) for Fermi Chopper approximation & 0 \\ +phase & deg & Phase shift for the Fermi Chopper approximation & 0 \\ +reflect & str & Reflectivity file name. Format q(Angs-1) R(0-1) & "NULL" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Guide_gravity_psd.comp}{Source code} for \texttt{Guide\_gravity\_psd.comp}. +\end{itemize} +\IfFileExists{Guide_gravity_psd_static.tex}{\input{Guide_gravity_psd_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Guide_honeycomb.tex b/docs/manuals/mcstas/contrib/Guide_honeycomb.tex new file mode 100644 index 0000000000..cc85638bec --- /dev/null +++ b/docs/manuals/mcstas/contrib/Guide_honeycomb.tex @@ -0,0 +1,58 @@ +\section{The \texttt{Guide\_honeycomb} McStas Component} +Neutron guide with gravity and honeycomb geometry. Can be channeled and focusing. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} G. Venturi + \item \textbf{Origin:} \textless{}a href="http://www.ill.fr"\textgreater{}ILL (France)\textless{}/a\textgreater{}. + \item \textbf{Date:} Apr 2003 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a honeycomb guide tube centered on the Z axis. The entrance lies +in the X-Y plane. Gravitation applies also when reaching the guide input +window. The guide can be channeled (hexagonal channel section; nslit,d parameters). +The guide coating specifications may be entered via different ways (global, +or for each wall m-value). +For details on the geometry calculation see the description in the McStas +reference manual. + +Example: Guide_honeycomb(w1=0.1, w2=0.1, l=12, +R0=0.99, Qc=0.0219, alpha=6.07, m=1.0, W=0.003, nslit=1, d=0.0005) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{w1} & m & Width at the guide entry & \\ +w2 & m & Width at the guide exit. If zero, sets w2=w1. & 0 \\ +\textbf{l} & m & length of guide & \\ +R0 & 1 & Low-angle reflectivity & 0.995 \\ +Qc & AA-1 & Critical scattering vector & 0.0218 \\ +alpha & AA & Slope of reflectivity & 4.38 \\ +m & 1 & m-value of material. Zero means completely absorbing. & 1.0 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +nslit & 1 & Number of horizontal channels in the guide (\textgreater{}= 1) [1] & 1 \\ +d & m & Thickness of subdividing walls [0] & 0.0005 \\ +mleftup & 1 & m-value of material for leftup. oblique mirror & -1 \\ +mrightup & 1 & m-value of material for rightdown. oblique mirror & -1 \\ +mleftdown & 1 & m-value of material for rightdown. oblique mirror & -1 \\ +mrightdown & 1 & m-value of material for leftup. oblique mirror & -1 \\ +mleft & 1 & m-value of material for left. vertical mirror & -1 \\ +mright & 1 & m-value of material for right. vertical mirror & -1 \\ +G & m/s2 & Gravitation norm. 0 value disables G effects. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Guide_honeycomb.comp}{Source code} for \texttt{Guide\_honeycomb.comp}. +\end{itemize} +\IfFileExists{Guide_honeycomb_static.tex}{\input{Guide_honeycomb_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Guide_m.tex b/docs/manuals/mcstas/contrib/Guide_m.tex new file mode 100644 index 0000000000..f8e2a6acc7 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Guide_m.tex @@ -0,0 +1,81 @@ +\section{The \texttt{Guide\_m} McStas Component} +Release: McStas 1.12c + +Neutron guide. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} September 2 1998, Modified 2013 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a rectangular guide tube centered on the Z axis. The entrance lies +in the X-Y plane. +For details on the geometry calculation see the description in the McStas +reference manual. +The reflectivity profile may either use an analytical mode (see Component +Manual) or a 2-columns reflectivity free text file with format +[q(Angs-1) R(0-1)]. + +Example: Guide(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=2.0, +R0=0.99, Qc=0.021, alpha=6.07, m=2, W=0.003 + +%VALIDATION +May 2005: extensive internal test, no bugs found +Validated by: K. Lieutenant + +%BUGS +This component does not work with gravitation on. Use component Guide_gravity then. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflect & str & Reflectivity file name. Format [q(Angs-1) R(0-1)] & 0 \\ +\textbf{w1} & m & Width at the guide entry & \\ +\textbf{h1} & m & Height at the guide entry & \\ +\textbf{w2} & m & Width at the guide exit & \\ +\textbf{h2} & m & Height at the guide exit & \\ +\textbf{l} & m & Length of guide & \\ +R0\_left & 1 & Low-angle reflectivity, left mirrror. & 0.99 \\ +R0\_right & 1 & Low-angle reflectivity, right mirror. & 0.99 \\ +R0\_top & 1 & Low-angle reflectivity, top mirror. & 0.99 \\ +R0\_bottom & 1 & Low-angle reflectivity, bottom mirror. & 0.99 \\ +Qc\_left & AA-1 & Critical scattering vector, left mirrror. & 0.0219 \\ +Qc\_right & AA-1 & Critical scattering vector, right mirror. & 0.0219 \\ +Qc\_top & AA-1 & Critical scattering vector, top mirror. & 0.0219 \\ +Qc\_bottom & AA-1 & Critical scattering vector, bottom mirror. & 0.0219 \\ +aleft & AA & Slope of reflectivity, left mirrror. & 6.07 \\ +aright & AA & Slope of reflectivity, right mirror. & 6.07 \\ +atop & AA & Slope of reflectivity, top mirror. & 6.07 \\ +abottom & AA & Slope of reflectivity, bottom mirror. & 6.07 \\ +mleft & 1 & m-value of material. Zero means completely absorbing, left mirrror. & 2 \\ +mright & 1 & m-value of material. Zero means completely absorbing, right mirror. & 2 \\ +mtop & 1 & m-value of material. Zero means completely absorbing, top mirror. & 2 \\ +mbottom & 1 & m-value of material. Zero means completely absorbing, bottom mirror. & 2 \\ +W\_left & AA-1 & Width of supermirror cut-off, left mirrror. & 0.003 \\ +W\_right & AA-1 & Width of supermirror cut-off, right mirror. & 0.003 \\ +W\_top & AA-1 & Width of supermirror cut-off, top mirror. & 0.003 \\ +W\_bottom & AA-1 & Width of supermirror cut-off, bottom mirror. & 0.003 \\ +W & AA-1 & Overall width of supermirror cut-off, overwrites values from individual mirrors & 0 \\ +m & 1 & Overall m-value of supermirrors, overwrites values from individual mirrors & 0 \\ +alpha & AA & Overall slope of reflectivity, overwrites values from individual mirrors & 0 \\ +R0 & 1 & Overall, low-angle reflectivity, overwrites values from individual mirrors & 0 \\ +Qc & AA-1 & Overall, critical scattering vector, overwrites values from individual mirrors & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Guide_m.comp}{Source code} for \texttt{Guide\_m.comp}. +\end{itemize} +\IfFileExists{Guide_m_static.tex}{\input{Guide_m_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Guide_multichannel.tex b/docs/manuals/mcstas/contrib/Guide_multichannel.tex new file mode 100644 index 0000000000..fad8d71a04 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Guide_multichannel.tex @@ -0,0 +1,75 @@ +\section{The \texttt{Guide\_multichannel} McStas Component} +Multichannel neutron guide with semi-transparent blades. +Derived from Guide\_channeled by Christian Nielsen. +Allows to simulate bi-spectral extraction optics. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jan Saroun (saroun@ujf.cas.cz) + \item \textbf{Origin:} Nuclear Physics Institute, CAS, Rez + \item \textbf{Date:} 17.3.2022 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a rectangular guide with equidistant vertical blades of finite thickness. +The blades material can be either fully absorbing or semi-transparent. The absorption +coefficient is wavelength dependent according to the semi-empirical model used +e.g. in J. Baker et al., J. Appl. Cryst. 41 (2008) 1003 or +A. Freund, Nucl. Instr. Meth. A 213 (1983) 495. +Data are provided for Si and Al2O3. + +All walls are flat, curvature is not implemented (may be added as a future upgrade) +Tapering is possible by setting different entry ad exit dimensions. +Different guide coating can be set for vertical and horizontal mirrors. +For transparent walls, neutrons are alloed to migrate between channels and to +propagate through the blades. + +The model is almost equivalent to the GUIDE component in SIMRES (http://neutron.ujf.cas.cz/restrax) +when used with zero curvature and type set to "guide or bender". +The features from SIMRES not included in this McSas model are: +- has a more conservative model for absorption in blades: events above r(m geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). + +The lens cross-section is seen as a 2*radius disk from the beam Z axis, except +when a 'geometry' file is given. +Usually, you should stack more than one of these to get a significant effect +on the neutron beam, so-called 'compound refractive lens'. + +The focal length for N lenses with focal 'f' is f/N, where f=R/(1-n) +and R = r/2 for a spherical lens with curvature radius 'r' +R = focus for a parabolic lens with focal of the parabola +and n = sqrt(1-(lambda*lambda*rho*bc/PI)) with +bc = sqrt(fabs(sigma_coh)*100/4/PI)*1e-5 +rho = density*6.02214179*1e23*1e-24/weight + +Common materials: Should have high coherent, and low incoherent and absorption cross sections +Be: density=1.85, weight=9.0121, sigma_coh=7.63, sigma_inc=0.0018,sigma_abs=0.0076 +Pb: density=11.115,weight=207.2, sigma_coh=11.115,sigma_inc=0.003, sigma_abs=0.171 +Pb206: sigma_coh=10.68, sigma_inc=0 , sigma_abs=0.03 +Pb208: sigma_coh=11.34, sigma_inc=0 , sigma_abs=0.00048 +Zr: density=6.52, weight=91.224, sigma_coh=6.44, sigma_inc=0.02, sigma_abs=0.185 +Zr90: sigma_coh=5.1, sigma_inc=0 , sigma_abs=0.011 +Zr94: sigma_coh=8.4, sigma_inc=0 , sigma_abs=0.05 +Bi: density=9.78, weight=208.98, sigma_coh=9.148, sigma_inc=0.0084,sigma_abs=0.0338 +Mg: density=1.738, weight=24.3, sigma_coh=3.631, sigma_inc=0.08, sigma_abs=0.063 +MgF2: density=3.148, weight=62.3018,sigma_coh=11.74, sigma_inc=0.0816,sigma_abs=0.0822 +diamond: density=3.52, weight=12.01, sigma_coh=5.551, sigma_inc=0.001, sigma_abs=0.0035 +Quartz/silica: density=2.53, weight=60.08, sigma_coh=10.625,sigma_inc=0.0056,sigma_abs=0.1714 +Si: density=2.329, weight=28.0855,sigma_coh=2.1633,sigma_inc=0.004, sigma_abs=0.171 +Al: density=2.7, weight=26.98, sigma_coh=1.495, sigma_inc=0.0082,sigma_abs=0.231 +perfluoropolymer(PTFE/Teflon/CF2): +density=2.2, weight=50.007, sigma_coh=13.584,sigma_inc=0.0026,sigma_abs=0.0227 +Organic molecules with C,O,H,F + +Example: Lens(r1=0.025,r2=0.025, thickness=0.001,radius=0.0150) + +%BUGS +parabolic shape is not fully validated yet, but should do still... +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +r1 & m & radius of the first circle describing the lens. r\textgreater{}0 means concave face, r\textless{}0 means convex, r=0 means plane & 0 \\ +r2 & m & radius of the second circle describing the lens r\textgreater{}0 means concave face, r\textless{}0 means convex, r=0 means plane & 0 \\ +focus1 & m & focal of the first parabola describing the lens & 0 \\ +focus2 & m & focal of the second parabola describing the lens & 0 \\ +phiy1 & deg & angle of plane1 (r1=0) around y vertical axis & 0 \\ +phiy2 & deg & angle of plane2 (r2=0) around y vertical axis & 0 \\ +thickness & m & thickness of the lens between its two surfaces & 0.001 \\ +radius & m & radius of the lens section, e.g. beam size. & 0.015 \\ +sigma\_coh & barn & coherent cross section & 11.74 \\ +sigma\_inc & barn & incoherent cross section & 0.0816 \\ +sigma\_abs & barn & thermal absorption cross section & 0.0822 \\ +density & g/cm3 & density of the material for the lens & 3.148 \\ +weight & g/mol & molar mass of the material & 62.3018 \\ +p\_interact & 1 & MC Probability for scattering the ray; otherwise transmit & 0.1 \\ +focus\_aw & deg & vertical angle to forward focus after scattering & 10 \\ +focus\_ah & deg & horizontal angle to forward focus after scattering & 10 \\ +RMS & Angs & root mean square roughness of the surface & 0 \\ +geometry & str & Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Lens.comp}{Source code} for \texttt{Lens.comp}. + \item M. L. Goldberger et al, Phys. Rev. 71, 294 - 310 (1947) + \item Sears V.F. Neutron optics. An introduction to the theory of neutron optical phenomena and their applications. Oxford University Press, 1989. + \item H. Park et al. Measured operationnal neutron energies of compound refractive lenses. Nuclear Instruments and Methods B, 251:507-511, 2006. + \item J. Feinstein and R. H. Pantell. Characteristics of the thick, compound refractive lens. Applied Optics, 42 No. 4:719-723, 2001. + \item \textless{}a href="http://www.geomview.org"\textgreater{}Geomview and Object File Format (OFF)\textless{}/a\textgreater{} + \item Java version of Geomview (display only) \textless{}a href="http://www.holmes3d.net/graphics/roffview/"\textgreater{}jroff.jar\textless{}/a\textgreater{} + \item \textless{}a href="http://qhull.org"\textgreater{}qhull\textless{}/a\textgreater{} + \item \textless{}a href="http://www.cs.ucdavis.edu/\textasciitilde{}amenta/powercrust.html"\textgreater{}powercrust\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Lens_static.tex}{\input{Lens_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Lens_simple.tex b/docs/manuals/mcstas/contrib/Lens_simple.tex new file mode 100644 index 0000000000..6132f129ce --- /dev/null +++ b/docs/manuals/mcstas/contrib/Lens_simple.tex @@ -0,0 +1,73 @@ +\section{The \texttt{Lens\_simple} McStas Component} +Rectangular/circular slit with parabolic/spherical LENS. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Henrich Frielinghaus + \item \textbf{Origin:} FZ Juelich + \item \textbf{Date:} June 2010 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A simple rectangular or circular slit. You may either +specify the radius (circular shape), or the rectangular bounds. +No transmission around the slit is allowed. + +At the slit position there is/are also a LENS or multiple LENSES present. +Spherical/parabolic abberation is taken into account in a simplified +manner. The focal point becomes a function of the distance ss from the +origin of the lens where the ray hits the lens (plane). +With this focal distance the refraction is calculated based on simple +geometrical optics (as tought already in school). + +The approximation gets wrong when the distance ss is too big, and +total reflection becomes possible. Then the corrections of the focal +distance are strong (see foc*= ... lines. When this correction factor +is too close to zero, the corrections become highly wrong). + +The advantage of this routine is the simplicity which makes the +simulation very fast - especially for multiple lenses. The argument +for this way of treating the lenses is that the collimation and +detector distance are large (say 20m) compared to the lens thickness +(say 2-5cm) and the lens array thickness (say max. 1m). + +For lens arrays one still can simulate several of these simplified +lenses instead of an exact treatment (because 5cm<<1m). The author +believes that this medium detailed treatment meets usually the +desired accuracy. + +Example: Lens_simple(rho=5.16e10,Rc=0.0254,Nl=7,xmin=-0.01,xmax=0.01,ymin=-0.01,ymax=0.01) +Lens_simple(rho=5.16e10,Rc=0.0254,Nl=7,radius=0.01) +Lens_simple(rho=5.16e10,Rc=0.0254,Nl=7,radius=0.035,SigmaAL=0.141, d0=0.002) +^^^^^^^^^^^ last example includes absorption of MgF2-lens. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +rho & m-2 & Scattering length density & 5.16e14 \\ +Rc & m & Radius (concave: Rc\textgreater{}0) of biconcave lens & 0.02 \\ +Nl & 1 & Number of single lenses & 7.0 \\ +parab & & Switch (not 0 -\textgreater{} parabolic, for 0 spherical) & 1.1 \\ +xmin & m & Lower x bound & 0 \\ +xmax & m & Upper x bound & 0 \\ +ymin & m & Lower y bound & 0 \\ +ymax & m & Upper y bound & 0 \\ +radius & m & Radius of slit in the z=0 plane, centered at Origin & 0 \\ +SigmaAL & & Absorption cross section per lambda (wavelength) [1/(m*AA)] & 0.141 \\ +d0 & m & Minimum thickness in the centre of the lens & 0.002 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Lens_simple.comp}{Source code} for \texttt{Lens\_simple.comp}. +\end{itemize} +\IfFileExists{Lens_simple_static.tex}{\input{Lens_simple_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Mirror_Curved_Bispectral.tex b/docs/manuals/mcstas/contrib/Mirror_Curved_Bispectral.tex new file mode 100644 index 0000000000..2c722a27cd --- /dev/null +++ b/docs/manuals/mcstas/contrib/Mirror_Curved_Bispectral.tex @@ -0,0 +1,47 @@ +\section{The \texttt{Mirror\_Curved\_Bispectral} McStas Component} +Single mirror plate that is curved and fits into an elliptic guide. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Henrik Jacobsen + \item \textbf{Origin:} RNBI + \item \textbf{Date:} April 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} + +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflect & q(Angs-1) R(0-1) & (str) Name of relfectivity file. Format & 0 \\ +\textbf{focus\_s} & m & first focal point of ellipse in ABSOLUTE COORDINATES & \\ +\textbf{focus\_e} & m & second focal point of ellipse in ABSOLUTE COORDINATES & \\ +\textbf{mirror\_start} & m & start of mirror in ABSOLUTE COORDINATES & \\ +\textbf{guide\_start} & m & start of guide in ABSOLUTE COORDINATES & \\ +\textbf{yheight} & m & the height of the mirror when not in the guide & \\ +\textbf{smallaxis} & m & the smallaxis of the guide & \\ +\textbf{length} & m & the length of the mirror & \\ +\textbf{m} & & m-value of material & \\ +transmit & 0/1 & 0: non reflected neutrons are absorbed. 1: non reflected neutrons pass through & 0 \\ +substrate\_thickness & m & thickness of substrate (for absorption) & 0.0005 \\ +coating\_thickness & m & thickness of coating (for absorption) & 10e-6 \\ +theta\_1 & deg & angle of mirror wrt propagation direction at start of mirror & 1.25 \\ +theta\_2 & deg & angle of mirror wrt propagation direction at center of mirror & 1.25 \\ +theta\_3 & deg & angle of mirror wrt propagation direction at end of mirror & 1.25 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Mirror_Curved_Bispectral.comp}{Source code} for \texttt{Mirror\_Curved\_Bispectral.comp}. +\end{itemize} +\IfFileExists{Mirror_Curved_Bispectral_static.tex}{\input{Mirror_Curved_Bispectral_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Mirror_Elliptic.tex b/docs/manuals/mcstas/contrib/Mirror_Elliptic.tex new file mode 100644 index 0000000000..5bfe4b8060 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Mirror_Elliptic.tex @@ -0,0 +1,47 @@ +\section{The \texttt{Mirror\_Elliptic} McStas Component} +Elliptical mirror. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailto:desert@drecam.cea.fr"\textgreater{}Sylvain Desert\textless{}/a\textgreater{} + \item \textbf{Origin:} \textless{}a href="http://www-llb.cea.fr/"\textgreater{}LLB\textless{}/a\textgreater{} + \item \textbf{Date:} 2007 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models an elliptical mirror. The reflectivity profile is given by a 2-column reflectivity free +text file with format [q(Angs-1) R(0-1)]. The component is centered on the ellipse. + +Example: Mirror_Elliptic(reflect="supermirror_m3.rfl", focus=6.6e-4, +interfocus = 8.2, yheight = 0.0002, zmin=-3.24, zmax=-1.49) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflect & q(Angs-1) R(0-1) & (str) Reflectivity file name. Format & 0 \\ +focus & m & focal length (m) & 6.6e-4 \\ +interfocus & m & Distance between the two elliptical focal points & 8.2 \\ +yheight & m & height of the mirror & 2e-4 \\ +zmin & m & z-axis coordinate of ellipse start & 0 \\ +zmax & m & z-axis coordinate of ellipse end & 0 \\ +R0 & 1 & Low-angle reflectivity & 0.99 \\ +Qc & AA-1 & Critical scattering vector & 0.0219 \\ +alpha & AA & Slope of reflectivity & 6.07 \\ +m & 1 & m-value of material. Zero means completely absorbing. & 1.0 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Mirror_Elliptic.comp}{Source code} for \texttt{Mirror\_Elliptic.comp}. +\end{itemize} +\IfFileExists{Mirror_Elliptic_static.tex}{\input{Mirror_Elliptic_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Mirror_Elliptic_Bispectral.tex b/docs/manuals/mcstas/contrib/Mirror_Elliptic_Bispectral.tex new file mode 100644 index 0000000000..84e75a4c48 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Mirror_Elliptic_Bispectral.tex @@ -0,0 +1,45 @@ +\section{The \texttt{Mirror\_Elliptic\_Bispectral} McStas Component} +Single mirror plate that is curved and fits into an elliptic guide. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Henrik Jacobsen + \item \textbf{Origin:} RNBI + \item \textbf{Date:} April 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} + +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflect & q(Angs-1) R(0-1) & (str) Name of relfectivity file. Format & 0 \\ +\textbf{focus\_start\_w} & m & Horizontal position of first focal point of ellipse in ABSOLUTE COORDINATES & \\ +\textbf{focus\_end\_w} & m & Horizontal position of second focal point of ellipse in ABSOLUTE COORDINATES & \\ +\textbf{focus\_start\_h} & m & Vertical position of first focal point of ellipse in ABSOLUTE COORDINATES & \\ +\textbf{focus\_end\_h} & m & VErtical position of second focal point of ellipse in ABSOLUTE COORDINATES & \\ +\textbf{mirror\_start} & m & start of mirror in ABSOLUTE COORDINATES & \\ +\textbf{m} & & m-value of material & \\ +\textbf{smallaxis\_w} & m & Small-axis dimension of horizontal ellipse & \\ +\textbf{smallaxis\_h} & m & Small-axis dimension of vertical ellipse & \\ +\textbf{length} & m & the length of the mirror & \\ +transmit & 0/1 & 0: non reflected neutrons are absorbed. 1: non reflected neutrons pass through & 0 \\ +substrate\_thickness & m & thickness of substrate (for absorption) & 0.0005 \\ +coating\_thickness & m & thickness of coating (for absorption) & 10e-6 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Mirror_Elliptic_Bispectral.comp}{Source code} for \texttt{Mirror\_Elliptic\_Bispectral.comp}. +\end{itemize} +\IfFileExists{Mirror_Elliptic_Bispectral_static.tex}{\input{Mirror_Elliptic_Bispectral_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Mirror_Parabolic.tex b/docs/manuals/mcstas/contrib/Mirror_Parabolic.tex new file mode 100644 index 0000000000..22d3e48d06 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Mirror_Parabolic.tex @@ -0,0 +1,46 @@ +\section{The \texttt{Mirror\_Parabolic} McStas Component} +Parabolic mirror. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailto:desert@drecam.cea.fr"\textgreater{}Sylvain Desert\textless{}/a\textgreater{} + \item \textbf{Origin:} \textless{}a href="http://www-llb.cea.fr/"\textgreater{}LLB\textless{}/a\textgreater{} + \item \textbf{Date:} 2007 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a parabolic mirror. The reflectivity profile is given by a 2-column reflectivity free +text file with format [q(Angs-1) R(0-1)]. + +Example: Mirror_Parabolic(reflect="supermirror_m3.rfl", xwidth = 0.05, xshift=0.05, +yheight = 2e-4, focus = 6.6e-4) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflect & q(Angs-1) R(0-1) & (str) Reflectivity file name. Format & 0 \\ +xwidth & m & width of the illuminated parabola & 0.05 \\ +xshift & m & distance between the beam centre and the symetric axis of the parabolla & 0.019 \\ +yheight & m & height of the mirror & 2e-4 \\ +focus & m & focal length & 6.6e-4 \\ +R0 & 1 & Low-angle reflectivity & 0.99 \\ +Qc & AA-1 & Critical scattering vector & 0.0219 \\ +alpha & AA & Slope of reflectivity & 6.07 \\ +m & 1 & m-value of material. Zero means completely absorbing. & 1.0 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Mirror_Parabolic.comp}{Source code} for \texttt{Mirror\_Parabolic.comp}. +\end{itemize} +\IfFileExists{Mirror_Parabolic_static.tex}{\input{Mirror_Parabolic_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Monochromator_2foc.tex b/docs/manuals/mcstas/contrib/Monochromator_2foc.tex new file mode 100644 index 0000000000..022ffe93f0 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Monochromator_2foc.tex @@ -0,0 +1,74 @@ +\section{The \texttt{Monochromator\_2foc} McStas Component} +Double bent monochromator with multiple slabs + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailto:plink@physik.tu-muenchen.de"\textgreater{}Peter Link\textless{}/a\textgreater{}. + \item \textbf{Origin:} Uni. Gottingen (Germany) + \item \textbf{Date:} Feb. 12,1999 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Double bent monochromator which uses a small-mosaicity approximation as well +as the approximation vy^2 << vz^2 + vx^2. +Second order scattering is neglected. +For an unrotated monochromator component, the crystal plane lies in the y-z +plane (ie. parallel to the beam). +When curvatures are set to 0, the monochromator is flat. +The curvatures approximation for parallel beam focusing to distance L, with +monochromator rotation angle A1 are: +RV = 2*L*sin(DEG2RAD*A1); +RH = 2*L/sin(DEG2RAD*A1); + +Example: Monochromator_2foc(zwidth=0.02, yheight=0.02, gap=0.0005, NH=11, NV=11, +mosaich=30, mosaicv=30, r0=0.7, Q=1.8734) + +Example values for lattice parameters +PG 002 DM=3.355 AA (Highly Oriented Pyrolytic Graphite) +PG 004 DM=1.607 AA +Heusler 111 DM=3.362 AA (Cu2MnAl) +CoFe DM=1.771 AA (Co0.92Fe0.08)b +Ge 311 DM=1.714 AA +Si 111 DM=3.135 AA +Cu 111 DM=2.087 AA +Cu 002 DM=1.807 AA +Cu 220 DM=1.278 AA +Cu 111 DM=2.095 AA +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflect & k, R & reflectivity file name of text file as 2 columns & 0 \\ +zwidth & m & horizontal width of an individual slab & 0.01 \\ +yheight & m & vertical height of an individual slab & 0.01 \\ +gap & m & typical gap between adjacent slabs & 0.0005 \\ +NH & columns & number of slabs horizontal & 11 \\ +NV & rows & number of slabs vertical & 11 \\ +mosaich & arcmin & Horisontal mosaic FWHM & 30.0 \\ +mosaicv & arcmin & Vertical mosaic FWHM & 30.0 \\ +r0 & 1 & Maximum reflectivity & 0.7 \\ +Q & AA-1 & Scattering vector & 1.8734 \\ +RV & m & radius of vertical focussing, flat for 0 & 0 \\ +RH & m & radius of horizontal focussing, flat for 0 & 0 \\ +DM & Angstrom & monochromator d-spacing instead of Q=2*pi/DM & 0 \\ +mosaic & arcmin & sets mosaich=mosaicv & 0 \\ +width & m & total width of monochromator & 0 \\ +height & m & total height of monochromator & 0 \\ +verbose & 0/1 & verbosity level & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Monochromator_2foc.comp}{Source code} for \texttt{Monochromator\_2foc.comp}. + \item \textless{}a href="http://mailman.risoe.dk/pipermail/neutron-mc/1999q1/000133.html"\textgreater{}Additional note\textless{}/a\textgreater{} from \textless{}a href="mailto:plink@physik.tu-muenchen.de"\textgreater{}Peter Link\textless{}/a\textgreater{}. +\end{itemize} +\IfFileExists{Monochromator_2foc_static.tex}{\input{Monochromator_2foc_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Monochromator_bent.tex b/docs/manuals/mcstas/contrib/Monochromator_bent.tex new file mode 100644 index 0000000000..359b949af2 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Monochromator_bent.tex @@ -0,0 +1,64 @@ +\section{The \texttt{Monochromator\_bent} McStas Component} +A bent crystal monochromator. Based on the model implemented by Jan \Šaroun in NIMA 529 (2004) pp 162-165. +Mosacity and bending radius can be set. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Daniel Lomholt Christensen \textless{}dlc@math.ku.dk\textgreater{} with help from Jan \Šaroun + \item \textbf{Origin:} ILL/NBI + \item \textbf{Date:} 24 August 2023 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This monochromator is an array of crystals, that can be bent. +The crystals are placed by the user in the x,y,z pos and rot parameters. +The crystal is bent, so that it follows a curve on a cylinder of radius_x. +The monochromator lies along the z plane, so when a diffraction angle of theta +is desired, it should just be inserted in the ROTATED parameter around +the y-axis. +Instruments that showcase the use of this component is the +"Test_monochromator_bent.instr", and the "ILL_SALSA.instr" under the examples folder. +SALSA showcases its complex use in a real instrument, while Test_monochromator_bent +makes a simple show of its capabilities. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +zwidth & m & Width of each crystal without bending. & 0.2 \\ +yheight & m & Height of each crystal without bending. & 0.1 \\ +xthickness & m & Thickness of each crystal without bending. & 0.0005 \\ +radius\_x & m & Radius of the circle the monochromator bends on in the plane. Can be negative. & 2 \\ +radius\_y & m & Radius of the (very large) circle the monochromator bends on as a side effect of the horizontal bending. The code assumes that it is so small that it does not affect the points of intersection appreciatively of the crystal. & 0 \\ +plane\_of\_reflection & "Si400" & The plane of reflection from the material. The list of possible reflections can be seen in the source code. & "Si400" \\ +angle\_to\_cut\_horizontal & degrees & Angle between cut and normal of crystal slab, horizontally & 0 \\ +mosaicity & arcmin & Gaussian mosaicity of the crystal. Always the horizontal mosaicity & 30 \\ +mosaic\_anisotropy & 1 & Anisotropy of the mosaicity, changes vertical mosaicity to be mosaic\_anisotropy*mosaicity & 1 \\ +n\_crystals & \# & Number of crystals in your array. & 1 \\ +domainthickness & \&\#956;m & Thickness of the crystal domains. & 10 \\ +temperature & K & Temperature of the monochromator in Kelvin. & 300 \\ +optimize & & Flag to tell if the component should optimize for reflections or not. & 0 \\ +x\_pos & vector & x-Position of each crystal & NULL \\ +y\_pos & vector & y-Position of each crystal & NULL \\ +z\_pos & vector & z-Position of each crystal & NULL \\ +x\_rot & vector & Rotation around x-axis for each crystal & NULL \\ +y\_rot & vector & Rotation around y-axis for each crystal & NULL \\ +z\_rot & vector & Rotation around z-axis for each crystal NOTE: Rotations happen around x, then y, then z. & NULL \\ +verbose & & Verbosity of the monochromator. Used for debugging. & 0 \\ +draw\_as\_rectangles & & Draw the monochromators as boxes. DOES NOT WORK WHEN USING \_rot parameters. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Monochromator_bent.comp}{Source code} for \texttt{Monochromator\_bent.comp}. + \item \textless{}a href="https://doi.org/10.1016/j.nima.2004.04.197"\textgreater{}Jan \Šaroun NIM A Volume 529, Issue 1-3 (2004), pp162-165\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Monochromator_bent_static.tex}{\input{Monochromator_bent_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Monochromator_bent_complex.tex b/docs/manuals/mcstas/contrib/Monochromator_bent_complex.tex new file mode 100644 index 0000000000..5bb57f44dd --- /dev/null +++ b/docs/manuals/mcstas/contrib/Monochromator_bent_complex.tex @@ -0,0 +1,59 @@ +\section{The \texttt{Monochromator\_bent\_complex} McStas Component} +A bent crystal monochromator. Based on the model implemented by Jan \Šaroun in NIMA 529 (2004) pp 162-165. Mosacity and bending radius can be set. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Daniel Lomholt Christensen \textless{}dlc@math.ku.dk\textgreater{} with help from Jan \Šaroun + \item \textbf{Origin:} ILL/NBI + \item \textbf{Date:} 2 August 2025 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This component is a more complex implementation of Monochromator_bent. +This component only differs in the fact that it allows and forces the user +to set every single parameter for every single crystal in the crystal array. +An exception to this rule is the plane of reflection, for which one can +choose a single plane of reflection, and that will work for all crystals. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +zwidth & m & Width of each crystal without bending. & NULL \\ +yheight & m & Height of each crystal without bending. & NULL \\ +xthickness & m & Thickness of each crystal without bending. & NULL \\ +radius\_x & m & Radius of the circle the monochromator bends on in the plane. Can be negative. & NULL \\ +radius\_y & m & Radius of the (very large) circle the monochromator bends on as a side effect of the horizontal bending. The code assumes that it is so small that it does not affect the points of intersection appreciatively of the crystal. & NULL \\ +angle\_to\_cut\_horizontal & degrees & Angle between cut and normal of crystal slab, horizontally & NULL \\ +mosaicity & arcmin & Gaussian mosaicity of the crystal. Always the horizontal mosaicity & NULL \\ +mosaic\_anisotropy & 1 & Anisotropy of the mosaicity, changes vertical mosaicity to be mosaic\_anisotropy*mosaicity & NULL \\ +domainthickness & \&\#956;m & Thickness of the crystal domains. & NULL \\ +temperature & K & Temperature of the monochromator in Kelvin. & NULL \\ +plane\_of\_reflection & string & The plane of reflection from the material. The list of possible reflections can be seen in the source code. Each plane must be separated by a ";", like "Si400;Si111". & "Si400" \\ +x\_pos & vector & x-Position of each crystal & NULL \\ +y\_pos & vector & y-Position of each crystal & NULL \\ +z\_pos & vector & z-Position of each crystal & NULL \\ +x\_rot & vector & Rotation around x-axis for each crystal & NULL \\ +y\_rot & vector & Rotation around y-axis for each crystal & NULL \\ +z\_rot & vector & Rotation around z-axis for each crystal NOTE: Rotations happen around x, then y, then z. & NULL \\ +n\_crystals & 1 & Number of crystals in your array. & 1 \\ +optimize & 1 & Flag to tell if the component should optimize for reflections or not. & 0 \\ +verbose & 1 & Verbosity of the monochromator. Used for debugging. & 0 \\ +draw\_as\_rectangles & 1 & Draw the monochromators as boxes. DOES NOT WORK WHEN USING \_rot parameters. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Monochromator_bent_complex.comp}{Source code} for \texttt{Monochromator\_bent\_complex.comp}. + \item \textless{}a href="https://doi.org/10.1016/j.nima.2004.04.197"\textgreater{}Jan \Šaroun NIM A Volume 529, Issue 1-3 (2004), pp162-165\textless{}/a\textgreater{} + \item \textless{}a href="https://doi.org/10.3390/qubs10010006"\textgreater{}Christensen, D.L.; Cabeza, S.; Pirling, T.; Lefmann, K.; \Šaroun, J. Simulating Neutron Diffraction from Deformed Mosaic Crystals in McStas. Quantum Beam Sci. 2026, 10, 6. https://doi.org/10.3390/qubs10010006\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Monochromator_bent_complex_static.tex}{\input{Monochromator_bent_complex_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/MultiDiskChopper.tex b/docs/manuals/mcstas/contrib/MultiDiskChopper.tex new file mode 100644 index 0000000000..bfd2f5a355 --- /dev/null +++ b/docs/manuals/mcstas/contrib/MultiDiskChopper.tex @@ -0,0 +1,69 @@ +\section{The \texttt{MultiDiskChopper} McStas Component} +Based on DiskChopper (Revision 1.18) by Peter Willendrup (2006), +which in turn is based on Chopper (Philipp Bernhardt), Jitter and beamstop from work by +Kaspar Hewitt Klenoe (jan 2006), adjustments by Rob Bewey (march 2006) + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Markus Appel + \item \textbf{Origin:} ILL / FAU Erlangen-Nuernberg + \item \textbf{Date:} 2015-10-19 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a disk chopper with a freely configurable slit pattern. For simple applications, +use the DiskChopper component and see the component manual example of DiskChopper GROUPing. +If the chopper slit pattern should be dynamically configurable or a complicated pattern +is to be used as first chopper on a continuous source, use this component. + +Width and position of the slits is defined as a list in string parameters so +they can easily be taken from instrument parameters. +The chopper axis is located on the y axis as defined by the parameter delta_y. +When the chopper is the first chopper after a continuous (i.e. time-independent) +source, the parameter isfirst should be set to 1 to increase Monte-Carlo efficiency. + + +Examples (see parameter definitions for details): +Two opposite slits with 10 and 20deg opening, with the 20deg slit in the beam at t=0.02: +MultiDiskChopper(radius=0.2, slit_center="0;180", slit_width="10;20", delta_y=-0.1, +nu=302, nslits=2, phase=180, delay=0.02) + +First chopper on a continuous source, creating pulse trains for one additional revolution +before and after the revolution at t=0: +MultiDiskChopper(radius=0.2, slit_center="0;180", slit_width="10;20", delta_y=-0.1, +nu=302, nslits=2, phase=180, isfirst=1, nrev=1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +slit\_center & string & (deg) Angular position of the slits (similar to slit\_width) & "0 180" \\ +slit\_width & string & (deg) Angular width of the slits, given as list in a string separated by space ' ', comma ',', underscore '\_' or semicolon ';'. Example: "0;20;90;135;270" & "10 20" \\ +nslits & & Number of slits to read from slit\_width and slit\_center & 2 \\ +delta\_y & m & y-position of the chopper rotation axis. If the chopper is located above the guide (delta\_y\textgreater{}0), the coordinate system will be mirrored such that the created pulse pattern in time is the same as for delta\_y\textless{}0. A warning will be printed in this case. & -0.3 \\ +nu & Hz & Rotation speed of the disk, the sign determines the direction. & 0 \\ +nrev & & When isfirst=1: Number of *additional* disk revolutions before *and* after the one around t=delay to distribute events on. If set to 2 for example, there will be 2 leading, 1 central, and 2 trailing revolutions of the disk (2*nrev+1 in total). & 0 \\ +ratio & & When isfirst=1: Spacing of the additional revolutions from the parameter nrev from the central revolution. & 1 \\ +jitter & s & Jitter in the time phase. & 0 \\ +delay & s & Time delay of the chopper clock. & 0 \\ +isfirst & 0/1 & Set to 1 for the first chopper after a continuous source. The neutron events & 0 \\ +phase & deg & Phase angle located on top of the disk at t=delay (see below). & 0 \\ +radius & m & Outer radius of the disk & 0.375 \\ +equal & 0/1 & When isfirst=1: If 0, the neutron events will be distributed between different slits proportional to the slit size. If 1, the events will be distributed such that each slit transmits the same number of events. This parameter can be used to achieve comparable simulation statistics over different pulses when simulating small and large slits together. & 0 \\ +abs\_out & & If 1, absorb all neutrons outside the disk diameter. & 0 \\ +verbose & 0/1 & Set to 1 to display more information during the simulation. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/MultiDiskChopper.comp}{Source code} for \texttt{MultiDiskChopper.comp}. +\end{itemize} +\IfFileExists{MultiDiskChopper_static.tex}{\input{MultiDiskChopper_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Multilayer_Sample.tex b/docs/manuals/mcstas/contrib/Multilayer_Sample.tex new file mode 100644 index 0000000000..27d7a3c94a --- /dev/null +++ b/docs/manuals/mcstas/contrib/Multilayer_Sample.tex @@ -0,0 +1,57 @@ +\section{The \texttt{Multilayer\_Sample} McStas Component} +Multilayer Reflecting sample using matrix Formula, v2 with 'nrepeats' for repeating multilayer structure. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Robert Dalgliesh + \item \textbf{Origin:} ISIS + \item \textbf{Date:} June 2010 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +in order to get this to compile you need to link against +the gsl and gslcblas libraries. + +to do this automatically edit +/usr/local/lib/mcstas/tools/perl/mcstas_config.perl + +add -lgsl and -lgslcblas to the CFLAGS line + +Horizontal reflecting substrate defined by SLDs,Thicknesses, roughnesses +The superphase may also be determined + +Example: Multilayer_Sample(xmin=-0.1, xmax=0.1,zmin=-0.1, zmax=0.1, nlayer=1,sldPar={0.0,2.0e-6,0.0e-6},dPar={20.0}, sigmaPar={5.0,5.0}) + +Example: d1 500: sld1 (air) 0.0: sld2 (Si) 2.07e-6: sldf1(film Ni) 9.1e-6 +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xwidth & m & Width of substrate & 0.2 \\ +zlength & m & Length of substrate & 0.2 \\ +nlayer & 1 & Number of film layers & 1 \\ +nrepeats & 1 & Number of repeats of the block of layers appart from the superphase and substrate & 1 \\ +sldPar & AA\textasciicircum{}-2 & Scattering length Density's of layers & \{0.0,2.0e-6,0.0e-6\} \\ +dPar & AA & Thicknesses of film layers & \{20.0\} \\ +sigmaPar & AA & r.m.s roughnesses of the interfaces & \{5.0,5.0\} \\ +frac\_inc & 1 & Fraction of statistics to assign to incoherent scattering & 0 \\ +ythick & m & Thickness of substrate & 0 \\ +mu\_inc & m\textasciicircum{}-1 & Incoherent scattering length & 5.62 \\ +target\_index & 1 & Used in combination with focus\_xw and focus\_yh to indicate solid angle for incoherent scattering. & 0 \\ +focus\_xw & m & Used in combination with target\_index and focus\_yh to indicate solid angle for incoherent scattering. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Multilayer_Sample.comp}{Source code} for \texttt{Multilayer\_Sample.comp}. +\end{itemize} +\IfFileExists{Multilayer_Sample_static.tex}{\input{Multilayer_Sample_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/NMO.tex b/docs/manuals/mcstas/contrib/NMO.tex new file mode 100644 index 0000000000..555b1df647 --- /dev/null +++ b/docs/manuals/mcstas/contrib/NMO.tex @@ -0,0 +1,57 @@ +\section{The \texttt{NMO} McStas Component} +Date: 2022-2023 + +NMO (nested mirror optic) modules + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Christoph Herb, TUM + \item \textbf{Origin:} TUM + \item \textbf{Date:} 2022-2023 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Simulates NMO (nested mirror optic) modules as concevied by Böni et al., see +Christoph Herb et al., Nucl. Instrum. Meth. A 1040, 1671564 (1-18) 2022. + +The component relies on an updated version of conic.h from MIT. + +NMO.comp contains no actual code, uses INHERIT of all sections from FlatEllipse_finite_mirror +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sourceDist & m & Distance used for calculating the spacing of the mirrors & 0 \\ +LStart & m & Left focal point & 0.6 \\ +LEnd & m & Right focal point & 0.6 \\ +lStart & m & z-Value of the mirror start & 0. \\ +lEnd & m & z-Value of the mirror end & 0. \\ +r\_0 & m & distance to the mirror at lStart & 0.02076 \\ +nummirror & 1 & number of mirrors & 9 \\ +mf & & mvalue of the inner side of the coating, m\textgreater{}10 results in perfect reflections & 4 \\ +mb & & mvalue of the outer side of the coating, m\textgreater{}10 results in perfect reflections & 0 \\ +R0 & 1 & Low-angle reflectivity & 0.99 \\ +Qc & AA-1 & critical scattering vector & 0.021 \\ +W & AA-1 & width of supermirror cutoff & 0.003 \\ +alpha & AA & Slope of reflectivity & 6.07 \\ +mirror\_width & m & width of the individual mirrors & 0.003 \\ +mirror\_sidelength & m & side length of the individual mirrors & 1 \\ +doubleReflections & 1 & binary value determining whether the mirror backside is reflective & 0 \\ +rfront\_inner\_file & str & file of distances to the optical axis of the individual mirrors & "NULL" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/NMO.comp}{Source code} for \texttt{NMO.comp}. + \item Christoph Herb et al., Nucl. Instrum. Meth. A 1040, 1671564 (1-18) 2022. +\end{itemize} +\IfFileExists{NMO_static.tex}{\input{NMO_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/NPI_tof_dhkl_detector.tex b/docs/manuals/mcstas/contrib/NPI_tof_dhkl_detector.tex new file mode 100644 index 0000000000..74583e4ace --- /dev/null +++ b/docs/manuals/mcstas/contrib/NPI_tof_dhkl_detector.tex @@ -0,0 +1,74 @@ +\section{The \texttt{NPI\_tof\_dhkl\_detector} McStas Component} +Release: McStas 2.5 +Last update: 30/11/2018 + +NPI detector for estimating dhkl from tof + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jan Saroun, saroun@ujf.cas.cz + \item \textbf{Origin:} NPI + \item \textbf{Date:} July 1, 2017 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A cylindrical detector which converts time-of-flight data (x,y,z,time) to a 1D diffractogram in dhkl. +The detector model includes finite detection depth, spatial and time resolution. Optionally, the component +exports position and time coordinates of detection events in an ASCII file. + +The component can also handle setups employing a modulation chopper for peak multiplexing at a long pulse source, +as proposed for the diffractometer BEER@ESS. In this case, the component requires chopper parameters +(modulation period, width of the primary unmodulated pulse), and a file with estimated dhkl values. +The component then estimates valid regions on the angle/tof map, excluding areas assumed to be empty +or with overlaping lines. This map is exported together with the diffractogram. + +Tips for usage: +1) Centre the detector at the sample axis, keep z-axis parallel to the incident beam. +2) Set the radius equal to the distance from the sample axis to the front face of the detection volume. +3) Linst-Lc is used to determine "instrumental" wavelength as lambda = h/m_n*time/(Linst-Lc); +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & str & Name of file in which to store the detector data. & 0 \\ +radius & m & Radius of detector. & 2 \\ +yheight & m & Height of detector. & 0.3 \\ +zdepth & m & Thickness of the detection volume. & 0.01 \\ +amin & deg & minimum of scattering angle to be detected. & 75 \\ +amax & deg & maximum of scattering angle to be detected. & 105 \\ +nd & & Number of bins for dhkl in the 1D diffractograms. & 200 \\ +na & & Number of bins for scattering angles in the 2D maps. & 800 \\ +nt & & Number of bins for time of flight in the 2D maps. & 800 \\ +nev & & Number of detection events to export in "events.dat" (only modulation mode, set 1 for no export) & 1 \\ +d\_min & AA & minimum of inter-planar spacing to be detected. & 1 \\ +d\_max & AA & maximum of inter-planar spacing to be detected. & 3 \\ +\textbf{time0} & s & Time delay of the wavelength definition chopper with respect to the source pulse. & \\ +\textbf{Linst} & m & Distance from the source to the detector. & \\ +\textbf{Lc} & m & Distance from the source to the pulse chopper (set 0 for a short pulse source). & \\ +res\_x & m & Spatial resolution along x (Gaussian FWHM). & 0 \\ +res\_y & m & Spatial resolution along y (Gaussian FWHM). & 0 \\ +res\_t & s & Time resolution (Gaussian FWHM). Readout only, path to capture is accounted for by the tracing code. & 0 \\ +mu & 1/cm/AA & Capture coefficient for the detection medium. & 1.0 \\ +mod\_shift & float & Relative shift of the modulation pattern (delta\_d/d, constant for all reflections). & 0 \\ +modulation & 1|0 & Switch on/off the modulation regime (BEER multiplexing technique). & 0 \\ +mod\_dt & s & Modulation period. & 0 \\ +mod\_twidth & s & Width of the primary source pulse. & 0 \\ +mod\_d0\_table & str & Name of a file with the list of dhkl estimates (one per line). & 0 \\ +verbose & 1|0 & Switch for extended reporting. & 0 \\ +restore\_neutron & 1|0 & Switch for restoring of previous neutron state. & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/NPI_tof_dhkl_detector.comp}{Source code} for \texttt{NPI\_tof\_dhkl\_detector.comp}. +\end{itemize} +\IfFileExists{NPI_tof_dhkl_detector_static.tex}{\input{NPI_tof_dhkl_detector_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/NPI_tof_theta_monitor.tex b/docs/manuals/mcstas/contrib/NPI_tof_theta_monitor.tex new file mode 100644 index 0000000000..fbc766d571 --- /dev/null +++ b/docs/manuals/mcstas/contrib/NPI_tof_theta_monitor.tex @@ -0,0 +1,51 @@ +\section{The \texttt{NPI\_tof\_theta\_monitor} McStas Component} +Release: McStas 1.6 + +Cylindrical (2pi) PSD Time-of-flight monitor. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} October 2000 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Derived from TOF_cylPSD_monitor. +Code is extended by the option allowing to define range of scattering angles, therefore creating only a part of the cylinder surface. +The plot is transposed when compared to TOF_cylPSD_monitor: scattering angles are on the horizontal axis. + + +Example: TOF_cylPSD_monitor_NPI(nt = 1024, nphi = 960, filename = "Output.dat", +radius = 2, yheight = 1.0, tmin = 3e4, tmax = 12e4, amin = 75, amax = 105, restore_neutron = 1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & str & Name of file in which to store the detector image & 0 \\ +radius & m & Cylinder radius & 1 \\ +yheight & m & Cylinder height & 0.3 \\ +\textbf{tmin} & mu-s & Beginning of time window & \\ +\textbf{tmax} & mu-s & End of time window & \\ +\textbf{amin} & deg & minimum angle to detect & \\ +\textbf{amax} & deg & maximum angle to detect & \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 1 \\ +verbose & & & 0 \\ +nt & 1 & Number of time bins & 128 \\ +na & & & 90 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/NPI_tof_theta_monitor.comp}{Source code} for \texttt{NPI\_tof\_theta\_monitor.comp}. +\end{itemize} +\IfFileExists{NPI_tof_theta_monitor_static.tex}{\input{NPI_tof_theta_monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/PSD_Detector.tex b/docs/manuals/mcstas/contrib/PSD_Detector.tex new file mode 100644 index 0000000000..f57247d0ef --- /dev/null +++ b/docs/manuals/mcstas/contrib/PSD_Detector.tex @@ -0,0 +1,169 @@ +\section{The \texttt{PSD\_Detector} McStas Component} +Position-sensitive gas-filled detector with gaseous thermal-neutron +converter (box, cylinder or 'banana'). + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Thorwald van Vuure + \item \textbf{Origin:} ILL + \item \textbf{Date:} Feb 21st, 2005 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An n times m pixel Position Sensitive Detector (PSD), box, cylinder or banana +filled with a mixture of thermal-neutron converter gas and stopping gas. +This model implements wires detection, including charge drift, parallax, etc. +The default is a simple 1D/2D position detector. However, setting +the parameter 'type' to "events" will save the signal as an event file which +contains all neutron parameters at detection points, including time. This is +especially suited for TOF detectors. Please use Histogrammer afterwards. +The gas creation event (neutron absorption in gas) is flagged as SCATTERED==1, +and the charge detection (signal) is flagged as SCATTERED==2. + +GEOMETRY: +A flat rectangular box of given depth is simulated, or alternatively +a cylinder (when giving radius), or a horizontal cylindrical 'banana' +detector (when giving the width along the arc). +Box position is at its center, the 'banana' and cylinder have their +position at focus point, symetric in angular range for the 'banana'. + +GAS SPECIFICATIONS: +The converter gas can be specified as He-3, BF3 or N2. +The filling pressure of converter gas must be specified along +with the zdepth: this gives an absorption probability (e.g. ~90% for +0.18 nm neutrons at zdepth 3 cm and He-3 pressure 5 bar). +The stopping gas can be specified as one of the following gases: +CF4, C3H8, CO2, Xe/TMA or He, or any for which a table of stopping +powers is available. NB: each stopping gas table has specific +data on a pair of particles (from thermal-neutron absorptions in +either He-3, BF3 or N2) in a specific gas. Unusual choices like N2 +as a converter and He as a stopping gas probably require the +calculation of a new table. +Tip: to do a simulation in pure He-3, specify 0 bar for the stopping gas. +The pressures of the two gases together put a lower limit on the +achievable spatial resolution, no matter what pixel size is +specified. +Example: 1 bar CF4 gives ~2.5 mm spatial resolution, 3 bar CF4 gives +~1 mm. C3H8 requires more pressure for the same resolution, then +Xe/TMA, then CO2 and finally He. + +IMPLEMENTED FEATURES: +Taken into account are the following effects: +- (rectangularly distributed) error in the recorded position due to +the range of the neutron capture products in the gas +- angular dependence of absorption efficiency +- border effect (events outside the sensitive volume tend to be +counted in the border pixels) +- parallax effect (with, if desired, an electrostatic lens to +partially correct for this - use "LensOn=1") +- wall effect +To correctly take the wall effect into account, a value must be +specified for the energy threshold for acceptance of an event as a +valid neutron event. This normally serves to discriminate from +gammas. Because these are not simulated in McStas, a value of 0 keV +can be chosen for this threshold if one is interested in seeing the +maximum number of neutrons; however, a more realistic value would be +100 keV. This implies seeing the maximum number of neutrons as well, +except in geometries with dominating wall effect. +The border effect is a considerably complex phenomenon: it depends +on the precise electric field configuration near the border. It is +simulated here simply by introducing a dead zone, gas-filled, +bordering the sensitive volume. Events in there can still cause +signals in the detector. The dead zone can cause a shadow in the +sensitive volume, just as in reality. +The algorithm simply adds all events on the first 'pixel' in the +dead zone to the border pixels. This is a coarse approximation, +because the physical effect depends on the orientation of the +tracks and the energy threshold setting. The bottom line is that +tracking the position of the Center Of Gravity of the charge +deposition in the detector does not allow for accurate modeling of +the border effect, and therefore the border pixels should be +ignored, just as in a real detector. +Note that specifying 0 width of the dead zone next to the +sensitive volume, apart from being unrealistic, does not allow +accurate simulation of the border effect: in this case, there will +be a relative lack of events on the border pixels due to the wall +effect. +This component determines the position of the Center Of Gravity of +the charge cloud in the detector. It does not simulate independent +channels. +Manufacturing imperfections such as wire diameter variations and +spread in electronic amplifier component properties are not simulated. +This should allow an experimenter to identify these manufacturing +imperfections in his physical machine and correct for them. + +Example: PSD_Detector(xwidth=0.192, yheight=0.192, nx=64, ny=64, +zdepth=0.03, threshold=100, borderx=-1, bordery=-1, +PressureConv=5, PressureStop=1, +FN_Conv="Gas_tables/He3inHe.table", FN_Stop="Gas_tables/He3inCF4.table", +xChDivRelSigma=0, yChDivRelSigma=0, +filename="BIDIM19.psd") + +Example: PSD_Detector(xwidth=0.26, yheight=0.26, nx=128, ny=128, +zdepth=0.03, threshold=100, borderx=-1, bordery=-1, +PressureConv=5, PressureStop=1, +FN_Conv="Gas_tables/He3inHe.table", FN_Stop="Gas_tables/He3inCF4.table", +xChDivRelSigma=0, yChDivRelSigma=0, +filename="BIDIM26.psd") + +Example: PSD_Detector(radius=0.0127, yheight=0.20, nx=1, ny=128, +threshold=100, borderx=-1, +PressureConv=9.9, PressureStop=0.1, +FN_Conv="Gas_tables/He3inHe.table", FN_Stop="Gas_tables/He3inCO2.table", +yChDivRelSigma=0.006, +filename="ReuterStokes.psd") + +Example: PSD_Detector(awidth=1.533, yheight=0.4, nx=640, ny=256, +radius=0.73, zdepth=0.032, dc=0.026, threshold=100, +borderx=-1, bordery=-1, +PressureConv=5, PressureStop=1, +FN_Conv="Gas_tables/He3inHe.table", FN_Stop="Gas_tables/He3inCF4.table", +xChDivRelSigma=0, yChDivRelSigma=0.0037, +LensOn=1, filename="D19.psd") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nx & 1 & Number of pixel columns & 128 \\ +ny & 1 & Number of pixel rows & 128 \\ +xwidth & m & Width of detector opening, in the case of a flat box & 0 \\ +radius & m & Radius of detector for cylindrical/banana shape & 0 \\ +awidth & m & Width of detector opening along the horizontal arc of the detector, measured along the inside arc of the sensitive volume in the case of a 'banana' detector & 0 \\ +yheight & m & Height of detector opening & 0 \\ +zdepth & m & Depth of the sensitive volume of the detector & 0.03 \\ +threshold & keV & Energy threshold for acceptance of an event & 100 \\ +PressureConv & bar & Pressure of gaseous thermal-neutron converter (e.g. He-3) & 5 \\ +PressureStop & bar & Pressure of stopping gas & 1 \\ +interpolate & 1 & Performs energy interpolation if true & 1 \\ +p\_interact & 1 & Fraction of statistical events to be treated by component. Set it to 0 to use real absorption probability & 0 \\ +verbose & 1 & Gives more information and spectrum & 0 \\ +LensOn & 1 & set to 1 to simulate an electrostatic lens according to P. Van Esch, NIM A 540 (2005) pp. 361-367. & 1 \\ +dc & m & Distance from the entrance window to the cathode plane, where the correction zone of the lens ends for banana shape and LensOn=1 & 0 \\ +borderx & m & Width of (gas-filled) border on the side of the detector & -2 \\ +bordery & m & Height of (gas-filled) border on the top/bottom of the detector giving rise to various border effects. Set to -2 to obtain the height of one pixel, -1 for the depth of the detector (default), or specify a non-negativedistance & -2 \\ +xChDivRelSigma & 1 & Sigma of the error in position determination along the x axis (relative to xwidth), uniquely due to charge division readout. Set to 0 in case of independent channel readout along the x dimension & 0 \\ +yChDivRelSigma & 1 & Relative sigma due to charge division in y direction, relative to yheight. & 0 \\ +bufsize & 1 & Size of neutron output buffer default is 0, i.e. save all - recommended. & 0 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +angle & deg & Angular opening of detector in the case of a 'banana' detector, then overrides awidth parameter & 0 \\ +type & string & If set to 'events' detector signal saves signal into an event file to be read e.g. by Histogrammer. This is to be used for TOF detectors. & 0 \\ +filename & text & Name of file in which to store the detector image. The name of the component is used if file name is not specified & 0 \\ +FN\_Conv & text & Filename of the stopping power table of the converter gas & "He3inHe.table" \\ +FN\_Stop & text & Filename of the stopping power table of the stopping gas & "He3inCF4.table" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/PSD_Detector.comp}{Source code} for \texttt{PSD\_Detector.comp}. + \item The test/example instrument \textless{}a href="../examples/Test\_PSD\_Detector.instr"\textgreater{}Test\_PSD\_Detector.instr\textless{}/a\textgreater{}. +\end{itemize} +\IfFileExists{PSD_Detector_static.tex}{\input{PSD_Detector_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/PSD_Pol_monitor.tex b/docs/manuals/mcstas/contrib/PSD_Pol_monitor.tex new file mode 100644 index 0000000000..45b85ff849 --- /dev/null +++ b/docs/manuals/mcstas/contrib/PSD_Pol_monitor.tex @@ -0,0 +1,48 @@ +\section{The \texttt{PSD\_Pol\_monitor} McStas Component} +Position-sensitive monitor. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Alexander Backs, based on PSD\_monitor by K. Lefmann + \item \textbf{Origin:} ESS + \item \textbf{Date:} 2022 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An (n times m) pixel PSD monitor, measuring local polarisation as function of x,y coordinates. + +Example: PSD_Pol_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, nx=90, ny=90, my=1, filename="Output.psd") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nx & 1 & Number of pixel columns & 90 \\ +ny & 1 & Number of pixel rows & 90 \\ +filename & string & Name of file in which to store the detector image & 0 \\ +xmin & m & Lower x bound of detector opening & -0.05 \\ +xmax & m & Upper x bound of detector opening & 0.05 \\ +ymin & m & Lower y bound of detector opening & -0.05 \\ +ymax & m & Upper y bound of detector opening & 0.05 \\ +xwidth & m & Width of detector. Overrides xmin, xmax & 0 \\ +yheight & m & Height of detector. Overrides ymin, ymax & 0 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +mx & 1 & Define the projection axis along which the polarizatoin is evaluated, x-component & 0 \\ +my & 1 & Define the projection axis along which the polarizatoin is evaluated, y-component & 0 \\ +mz & 1 & Define the projection axis along which the polarizatoin is evaluated, z-component & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/PSD_Pol_monitor.comp}{Source code} for \texttt{PSD\_Pol\_monitor.comp}. +\end{itemize} +\IfFileExists{PSD_Pol_monitor_static.tex}{\input{PSD_Pol_monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/PSD_monitor_rad.tex b/docs/manuals/mcstas/contrib/PSD_monitor_rad.tex new file mode 100644 index 0000000000..5bff804047 --- /dev/null +++ b/docs/manuals/mcstas/contrib/PSD_monitor_rad.tex @@ -0,0 +1,41 @@ +\section{The \texttt{PSD\_monitor\_rad} McStas Component} +Position-sensitive monitor with radially averaging. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Henrich Frielinghaus + \item \textbf{Origin:} FZ-Juelich/FRJ-2/IFF/KWS-2 + \item \textbf{Date:} Sept 2004 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Radial monitor that allows for radial averaging. +Comment: The intensity is given as two files: +1) a radial sum +2) a radial average (i.e. intensity per area) + +Example: PSD_monitor_rad(rmax=0.2, nr=100, filename="Output.psd", filename_av="Output_av.psd") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nr & 1 & Number of concentric circles & 100 \\ +filename & text & Name of file in which to store the detector image & 0 \\ +filename\_av & text & Name of file in which to store the averaged detector image & 0 \\ +rmax & m & Outer radius of detector & 0.2 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/PSD_monitor_rad.comp}{Source code} for \texttt{PSD\_monitor\_rad.comp}. +\end{itemize} +\IfFileExists{PSD_monitor_rad_static.tex}{\input{PSD_monitor_rad_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/PSD_spinDmon.tex b/docs/manuals/mcstas/contrib/PSD_spinDmon.tex new file mode 100644 index 0000000000..a16496a912 --- /dev/null +++ b/docs/manuals/mcstas/contrib/PSD_spinDmon.tex @@ -0,0 +1,45 @@ +\section{The \texttt{PSD\_spinDmon} McStas Component} +Position-sensitive monitor, measuring the spin-down component of the neutron beam. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Michael Schneider (SNAG) + \item \textbf{Origin:} SNAG + \item \textbf{Date:} 2024 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An (n times m) pixel PSD monitor, measuring the spin-down component of the neutron beam. + +Example: PSD_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, nx=90, ny=90, filename="Output.psd") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nx & 1 & Number of pixel columns & 90 \\ +ny & 1 & Number of pixel rows & 90 \\ +filename & string & Name of file in which to store the detector image & 0 \\ +xmin & m & Lower x bound of detector opening & -0.05 \\ +xmax & m & Upper x bound of detector opening & 0.05 \\ +ymin & m & Lower y bound of detector opening & -0.05 \\ +ymax & m & Upper y bound of detector opening & 0.05 \\ +xwidth & m & Width of detector. Overrides xmin, xmax & 0 \\ +yheight & m & Height of detector. Overrides ymin, ymax & 0 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/PSD_spinDmon.comp}{Source code} for \texttt{PSD\_spinDmon.comp}. +\end{itemize} +\IfFileExists{PSD_spinDmon_static.tex}{\input{PSD_spinDmon_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/PSD_spinUmon.tex b/docs/manuals/mcstas/contrib/PSD_spinUmon.tex new file mode 100644 index 0000000000..79c55d1369 --- /dev/null +++ b/docs/manuals/mcstas/contrib/PSD_spinUmon.tex @@ -0,0 +1,45 @@ +\section{The \texttt{PSD\_spinUmon} McStas Component} +Position-sensitive monitor, measuring the spin-up component of the neutron beam. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Michael Schneider (SNAG) + \item \textbf{Origin:} SNAG + \item \textbf{Date:} 2024 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An (n times m) pixel PSD monitor, measuring the spin-up component of the neutron beam. + +Example: PSD_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, nx=90, ny=90, filename="Output.psd") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nx & 1 & Number of pixel columns & 90 \\ +ny & 1 & Number of pixel rows & 90 \\ +filename & string & Name of file in which to store the detector image & 0 \\ +xmin & m & Lower x bound of detector opening & -0.05 \\ +xmax & m & Upper x bound of detector opening & 0.05 \\ +ymin & m & Lower y bound of detector opening & -0.05 \\ +ymax & m & Upper y bound of detector opening & 0.05 \\ +xwidth & m & Width of detector. Overrides xmin, xmax & 0 \\ +yheight & m & Height of detector. Overrides ymin, ymax & 0 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/PSD_spinUmon.comp}{Source code} for \texttt{PSD\_spinUmon.comp}. +\end{itemize} +\IfFileExists{PSD_spinUmon_static.tex}{\input{PSD_spinUmon_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/PerfectCrystal.tex b/docs/manuals/mcstas/contrib/PerfectCrystal.tex new file mode 100644 index 0000000000..60b40ebe9f --- /dev/null +++ b/docs/manuals/mcstas/contrib/PerfectCrystal.tex @@ -0,0 +1,90 @@ +\section{The \texttt{PerfectCrystal} McStas Component} +Based on a perfect crystal component by: Miguel A. Gonzalez, A. Dianoux June 2013 (ILL) + +Changelog: +Version 1.1 +- BUGFIX: correct neutron energy shift in Doppler mode +- added option 'debyescherrer' to select analyzer geometry +- added option 'facette' to approximate analyzer sphere by small, flat crystals + +Version 1.0 +- inital release + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Markus Appel + \item \textbf{Origin:} ILL / FAU Erlangen-Nuernberg + \item \textbf{Date:} 2015-12-21 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Perfect crystal component, primarily for use as monochromator and analyzer in +backscattering spectrometers. Reflection from a single Bragg reflex of a flat or +spherical surface is simulated using a Darwin, Ewald or Gaussian profile. Doppler +movement of the monochromator is supported as well. + +Orientation of the crystal surface is *different* from other monochromator components! +Gravitational energy shift for tall analyzers should work in principle, but it not tested yet. +See the parameter description on how to define the geometry and properties. + +[1] Website for Backscattering Spectroscopy: http://www.ill.eu/sites/BS-review/index.htm + +Examples: +IN16B (ILL) Si111 large angle analyzers (approximate dimensions): +PerfectCrystal(radius=2, lambda=6.2708, sigma=0.24e-3, +ttmin=40, ttmax=165, phimin=-45, phimax=+45, centerfocus=1) + +IN16B (ILL) Si111 Doppler monochromator: +PerfectCrystal(radius=2.165, lambda=6.2708, sigma=0.24e-3, +width = 0.500, height = 0.250, centerfocus=0, +speed = 4.7, amplitude = 0.075, exclusive=1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +ttmin & deg & & NAN \\ +ttmax & deg & analyzer coverage angle in horizontal xz-plane between -180 and 180 & NAN \\ +tt0 & deg & & NAN \\ +ttwidth & deg & horizontal coverage as center and full width & NAN \\ +width & m & absolute width & NAN \\ +phimin & deg & & NAN \\ +phimax & deg & vertical analyzer coverage between -90 and 90 (-180 and 180 if debyescherrer==1) & NAN \\ +phi0 & deg & & NAN \\ +phiwidth & deg & vertical coverage as center and full width & NAN \\ +height & m & absolute height (only if debyescherrer==0) & NAN \\ +debyescherrer & -180...180 & (0/1) bend analyzer following a Debye-Scherrer ring along scattering angle tt (twotheta) (phi = & 0 \\ +facette & m & width of square crystal facettes arranged on the spherical surface (set 0 to disable). Default: 0 Warning: Facettation will fail at the poles along +-y axis. & 0 \\ +facette\_xi & deg & random misalignemt of each facette. Default: 0 & 0 \\ +centerfocus & 0/1 & Component origin is the center of the analyzer sphere if 1, if set to 0 the origin is on the analyzer surface. Default: 0 & 0 \\ +radius & m & Radius of curvature, set to 0 for a flat surface. Default: 0 & 0 \\ +tau & A\textasciicircum{}-1 & Scattering vector of the reflex (sometimes also called Q...) & NAN \\ +lambda & A & Alternatively to tau: backscattered wavelength & NAN \\ +R0 & & Peak reflectivity. Default: 1 & 1.0 \\ +dtauovertau & 1 & Plateau width of the Ewald/Darwin curve (see & NAN \\ +dtauovertau\_ext & & Relative variation of tau (randomized for each trajectory, full width) & 0 \\ +ewald & 0/1 & Use Ewald curve if 1, Darwin curve if 0. Default: 1 (Ewald) & 1 \\ +sigma & meV & Width of the Gaussian reflectivity curve in meV (corresponding to the energy resolution). (The width will be transformed and the Gaussian is actually calculated in k-space.) & NAN \\ +ismirror & 0/1 & Simply reflect all neutrons if 1. Good for debugging/visualization. Default: 0 & 0 \\ +speed & m/s & Maximum Doppler speed. The actual monochromator velocity is randomized between -speed and +speed. Default: 0 & 0 \\ +amplitude & m & Amplitude of the Doppler movement. Default: 0 & 0 \\ +smartphase & 0/1 & Optimize Doppler phase for better MC efficiency if set to 1. *WARNING:* Experimental option! Always compare to a simulation without smartphase. Better do not use smartwidth with Ewald/Darwin curves due to their endless tails. Default: 0 & 0 \\ +smartwidth & meV & Half width of the possible energy reflection window for smartphase. Default: 5*sigma OR 10*2*dtauovertau*E0 & NAN \\ +exclusive & 0/1 & If set to 1, absorb all neutrons that missed the monochromator/analyzer surface. Default: 0 & 0 \\ +transmit & 0...1 & Monte-Carlo probability of transmitting an event through the monochromator/analyzer surface. (Events with R=1.0 for DarwinE/Ewald curves are always reflected!). Default: 0 & 0 \\ +verbose & & & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/PerfectCrystal.comp}{Source code} for \texttt{PerfectCrystal.comp}. +\end{itemize} +\IfFileExists{PerfectCrystal_static.tex}{\input{PerfectCrystal_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Pol_bender_tapering.tex b/docs/manuals/mcstas/contrib/Pol_bender_tapering.tex new file mode 100644 index 0000000000..072ea4bd2e --- /dev/null +++ b/docs/manuals/mcstas/contrib/Pol_bender_tapering.tex @@ -0,0 +1,74 @@ +\section{The \texttt{Pol\_bender\_tapering} McStas Component} +Polarising bender. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Erik Bergbaeck Knudsen (erkn@fysik.dtu.dk) + \item \textbf{Origin:} DTU Physics + \item \textbf{Date:} June 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A component modelling a set of identical blades bent to form a multcihannel (nslits) +bender. The bender has a cylindrically curved entry plane (Will be extended to also +allow a flat entry plane). + +The bender may also be tapered such that it can have focusing or defocusing porperties. +This may be specified through the "channel_file"-parameter, which points to a data file +in which the individual channels are defined by an entry- and an exit-width. + +The file format for channel file columns: +> #d-spacing1 d-spacing2 l_spacer d-coating1 d-coating2 +> 1e-3 0.8e-3 1e-5 1e-9 1e-9 + +Each blades is considered coated with a reflecting coating, whose thickness is defined in the +latter two columsn of the channel data file. + +Coating reflectivities are read from +another data file with separate reflectivities for up and down spin. When a neutron ray hits a blade +the polarization vector associated with the ray is decomposed into spin-up and down +probablities, which in turn determines the overall reflectivity for this ray on the mirror. +Furthermore the probabilities are used to also reconstruct the polarization vector of the reflected +ray. + +File format for the reflectivity file: +> #parameter = m +> q/m R(up) R(down) + +The effect of spacers inside the channels is modelled by absorption only. The depth of the spacers +in a channel is considered constant for one channel (set in the channel data file), the number of +them is constant across all channels and is an input parameter to the component. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +channel\_file & & File name of file containing channel data. such as spacer widths etc. (see above for format) & "channel.dat" \\ +xwidth & m & Width at the bender entry. Currently unsupported. & 0 \\ +\textbf{yheight} & m & Height at the bender entry. & \\ +\textbf{length} & m & Length of blades that make up the bender. & \\ +\textbf{d\_substrate} & m & Thickness of the substrate. & \\ +entry\_radius & m & Radius of curvature of the entrance window. & 10 \\ +radius & m & Curvature of a single plate/polarizer. +:curve left/-:right & 100 \\ +G & m/s\textasciicircum{}2 & Magnitude of gravitation. & 9.8 \\ +nslit & 1 & Number of slits in the bender & 1 \\ +debug & & If \textgreater{} 0 print out some internal parameters. & 1 \\ +reflect\_file & & File name of file containing reflectivity data parametrized either by q or m. & NULL \\ +sigma\_abs & barn & Absorption per unit cell at v=2200 m/s of spacers. Defaults to literature value for Al. & 0.231 \\ +V0 & AA\textasciicircum{}3 & Volume of unit cell for spacers. Defaults to Al. & 66.4 \\ +nspacer & & Number of spacers per channel. & 5 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Pol_bender_tapering.comp}{Source code} for \texttt{Pol\_bender\_tapering.comp}. +\end{itemize} +\IfFileExists{Pol_bender_tapering_static.tex}{\input{Pol_bender_tapering_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Pol_pi_2_rotator.tex b/docs/manuals/mcstas/contrib/Pol_pi_2_rotator.tex new file mode 100644 index 0000000000..f10bdeb0f9 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Pol_pi_2_rotator.tex @@ -0,0 +1,40 @@ +\section{The \texttt{Pol\_pi\_2\_rotator} McStas Component} +Ideal \π/2-rotator + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Erik Knudsen (erkn@fysik.dtu.dk) + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 8/4-2008 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Simple, idelized, component that turns the polarization exactly π/2 around the specified vector +vector (rx,ry,rx). +The geometry of the component is realized as a box, where the the spin is rotated at the z-midpoint. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xwidth & m & width of the component & 0.1 \\ +yheight & m & height of the component & 0.1 \\ +zdepth & m & thickness of the component & 0.01 \\ +rx & & x-component of the rotation axis & 0 \\ +ry & & y-component of the rotation axis & 0 \\ +rz & & z-component of the rotation axis & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Pol_pi_2_rotator.comp}{Source code} for \texttt{Pol\_pi\_2\_rotator.comp}. +\end{itemize} +\IfFileExists{Pol_pi_2_rotator_static.tex}{\input{Pol_pi_2_rotator_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Pol_triafield.tex b/docs/manuals/mcstas/contrib/Pol_triafield.tex new file mode 100644 index 0000000000..b1654bb8c6 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Pol_triafield.tex @@ -0,0 +1,57 @@ +\section{The \texttt{Pol\_triafield} McStas Component} +Constant magnetic field in a isosceles triangular coil + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Morten Sales, based on Pol\_constBfield by Peter Christiansen + \item \textbf{Origin:} Helmholtz-Zentrum Berlin + \item \textbf{Date:} 2013 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Rectangular box with constant B field along y-axis (up) in a isosceles triangle. +There is a guide (or precession) field as well. It is along y in the entire rectangular box. +A neutron hitting outside the box opening or the box sides is absorbed. + + +__________________ +| /\ | +| Bguide/ \Bguide | x +| / \ | ^ +| / \ | | +| / B \ | |-----> z +| / and \ | +| / Bguide \ | +| / \ | +|/________________\| + +The angle of the inclination of the triangular field boundary is given by the arctangent to xwidth/(0.5*zdepth) + +This component does NOT take gravity into account. + +Example: Pol_triafield(xwidth=0.1, yheight=0.1, zdepth=0.2, B=1e-3, Bguide=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{xwidth} & m & Width of opening & \\ +\textbf{yheight} & m & Height of opening & \\ +\textbf{zdepth} & m & zdepth of field & \\ +B & T & Magnetic field along y-direction inside triangle & 0 \\ +Bguide & T & Magnetic field along y-direction inside entire box & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Pol_triafield.comp}{Source code} for \texttt{Pol\_triafield.comp}. +\end{itemize} +\IfFileExists{Pol_triafield_static.tex}{\input{Pol_triafield_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Radial_div.tex b/docs/manuals/mcstas/contrib/Radial_div.tex new file mode 100644 index 0000000000..be3f837b57 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Radial_div.tex @@ -0,0 +1,47 @@ +\section{The \texttt{Radial\_div} McStas Component} +A radial divergence sensitive monitor with wavelength restrictions. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kaspar Hewitt Klen\ø, modified from Hdiv\_monitor + \item \textbf{Origin:} NBI + \item \textbf{Date:} Jan 2011 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A radial divergence sensitive monitor with wavelength restrictions. The counts are distributed in +n pixels. + +Example: +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +ndiv & 1 & Number of pixel rows & 20 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +\textbf{filename} & str & Name of file in which to store the detector image & \\ +xmin & m & Lower x bound of detector opening & 0 \\ +xmax & m & Upper x bound of detector opening & 0 \\ +ymin & m & Lower y bound of detector opening & 0 \\ +ymax & m & Upper y bound of detector opening & 0 \\ +xwidth & m & Width/diameter of detector (x). Overrides xmin,xmax. & 0 \\ +yheight & m & Height of detector (y). Overrides ymin,ymax. & 0 \\ +maxdiv\_r & deg & Maximal radial divergence detected & 2 \\ +\textbf{Lmin} & AA & Minimum wavelength detected & \\ +\textbf{Lmax} & AA & Maximum wavelength detected & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Radial_div.comp}{Source code} for \texttt{Radial\_div.comp}. +\end{itemize} +\IfFileExists{Radial_div_static.tex}{\input{Radial_div_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANSCurve.tex b/docs/manuals/mcstas/contrib/SANSCurve.tex new file mode 100644 index 0000000000..e1bf10db24 --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANSCurve.tex @@ -0,0 +1,45 @@ +\section{The \texttt{SANSCurve} McStas Component} +A component mimicking the scattering from a given I(q)-curve by using +linear interpolation between the given points. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Søren Kynde (kynde@nbi.dk) + \item \textbf{Origin:} KU-Science + \item \textbf{Date:} October 17, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A box-shaped component simulating the scattering from any given I(q)-curve. +The component uses linear interpolation to generate the points necessary to +compute the scattering of any given neutron. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +DeltaRho & cm/AA\textasciicircum{}3 & Excess scattering length density of the particles. & 1.0e-14 \\ +Volume & AA\textasciicircum{}3 & Volume of the particles. & 1000.0 \\ +Concentration & mM & Concentration of sample. & 0.01 \\ +AbsorptionCrosssection & 1/m & Absorption cross section of the sample. & 0.0 \\ +\textbf{xwidth} & m & Dimension of component in the x-direction. & \\ +\textbf{yheight} & m & Dimension of component in the y-direction. & \\ +\textbf{zdepth} & m & Dimension of component in the z-direction. & \\ +\textbf{SampleToDetectorDistance} & m & Distance from sample to detector (for focusing the scattered neutrons). & \\ +\textbf{DetectorRadius} & m & Radius of the detector (for focusing the scattered neutrons). & \\ +FileWithCurve & & Datafile with the given I(q). & "Curve.dat" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANSCurve.comp}{Source code} for \texttt{SANSCurve.comp}. +\end{itemize} +\IfFileExists{SANSCurve_static.tex}{\input{SANSCurve_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANSCylinders.tex b/docs/manuals/mcstas/contrib/SANSCylinders.tex new file mode 100644 index 0000000000..80ea91115b --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANSCylinders.tex @@ -0,0 +1,43 @@ +\section{The \texttt{SANSCylinders} McStas Component} +A sample of monodisperse cylindrical particles in solution. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Martin Cramer Pedersen (mcpe@nbi.dk) + \item \textbf{Origin:} KU-Science + \item \textbf{Date:} October 17, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A component simulating the scattering from a box-shaped, thin solution +of monodisperse, cylindrical particles. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +R & AA & Semiaxis of the cross section of the cylinder. & 40.0 \\ +Height & AA & Height of the cylinder. & 100.0 \\ +Concentration & mM & Concentration of sample. & 0.01 \\ +DeltaRho & cm/AA\textasciicircum{}3 & Excess scattering length density of the particles. & 1.0e-14 \\ +AbsorptionCrosssection & 1/m & Absorption cross section of the sample. & 0.0 \\ +\textbf{xwidth} & m & Dimension of component in the x-direction. & \\ +\textbf{yheight} & m & Dimension of component in the y-direction. & \\ +\textbf{zdepth} & m & Dimension of component in the z-direction. & \\ +\textbf{SampleToDetectorDistance} & m & Distance from sample to detector (for focusing the scattered neutrons). & \\ +\textbf{DetectorRadius} & m & Radius of the detector (for focusing the scattered neutrons). & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANSCylinders.comp}{Source code} for \texttt{SANSCylinders.comp}. +\end{itemize} +\IfFileExists{SANSCylinders_static.tex}{\input{SANSCylinders_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANSEllipticCylinders.tex b/docs/manuals/mcstas/contrib/SANSEllipticCylinders.tex new file mode 100644 index 0000000000..30795643e0 --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANSEllipticCylinders.tex @@ -0,0 +1,45 @@ +\section{The \texttt{SANSEllipticCylinders} McStas Component} +A sample of monodisperse cylindrical particles with elliptic cross section in +solution. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Martin Cramer Pedersen (mcpe@nbi.dk) + \item \textbf{Origin:} KU-Science + \item \textbf{Date:} October 17, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A component simulating the scattering from a box-shaped, thin solution +of monodisperse, cylindrical particles with elliptic cross section. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +R1 & AA & First semiaxis of the cross section of the & 20.0 \\ +R2 & AA & Second semiaxis of the cross section of the & 40.0 \\ +Height & AA & Height of the elliptic cylinder. & 100.0 \\ +Concentration & mM & Concentration of sample. & 0.01 \\ +DeltaRho & cm/AA\textasciicircum{}3 & Excess scattering length density of the & 1.0e-14 \\ +AbsorptionCrosssection & 1/m & Absorption cross section of the sample. & 0.0 \\ +\textbf{xwidth} & m & Dimension of component in the x-direction. & \\ +\textbf{yheight} & m & Dimension of component in the y-direction. & \\ +\textbf{zdepth} & m & Dimension of component in the z-direction. & \\ +\textbf{SampleToDetectorDistance} & m & Distance from sample to detector (for & \\ +\textbf{DetectorRadius} & m & Radius of the detector (for focusing the & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANSEllipticCylinders.comp}{Source code} for \texttt{SANSEllipticCylinders.comp}. +\end{itemize} +\IfFileExists{SANSEllipticCylinders_static.tex}{\input{SANSEllipticCylinders_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANSLiposomes.tex b/docs/manuals/mcstas/contrib/SANSLiposomes.tex new file mode 100644 index 0000000000..dbe3b48def --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANSLiposomes.tex @@ -0,0 +1,50 @@ +\section{The \texttt{SANSLiposomes} McStas Component} +A sample of polydisperse liposomes in solution (water). + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Martin Cramer Pedersen (mcpe@nbi.dk) + \item \textbf{Origin:} KU-Science + \item \textbf{Date:} October 17, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A component simulating the scattering from a box-shaped, thin solution (water) +of liposomes described by a pentuple-shell model. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +Radius & AA & Average thickness of the liposomes. & 800.0 \\ +Thickness & AA & Thickness of the bilayer. & 38.89 \\ +SigmaRadius & & Relative Gaussian deviation of the radius in the distribution of liposomes. & 0.20 \\ +VolumeOfHeadgroup & AA\textasciicircum{}3 & Volume of one lipid headgroup - default is POPC. & 319.0 \\ +VolumeOfCH2Tail & AA\textasciicircum{}3 & Volume of the CH2-chains of one lipid - default is POPC. & 818.8 \\ +VolumeOfCH3Tail & AA\textasciicircum{}3 & Volume of the CH3-tails of one lipid - default is POPC. & 108.6 \\ +ScatteringLengthOfHeadgroup & cm & Scattering length of one lipid headgroup - default is POPC in D2O. & 7.05E-12 \\ +ScatteringLengthOfCH2Tail & cm & Scattering length of the CH2-chains of one lipid - default is POPC in D2O. & -1.76E-12 \\ +ScatteringLengthOfCH3Tail & cm & Scattering length of the CH3-tails of one lipid - default is POPC in D2O. & -9.15E-13 \\ +Concentration & mM & Concentration of sample. & 0.01 \\ +RhoSolvent & cm/AA\textasciicircum{}3 & Scattering length density of solvent - default is D2O. & 6.4e-14 \\ +AbsorptionCrosssection & 1/m & Absorption cross section of the sample. & 0.0 \\ +\textbf{xwidth} & m & Dimension of component in the x-direction. & \\ +\textbf{yheight} & m & Dimension of component in the y-direction. & \\ +\textbf{zdepth} & m & Dimension of component in the z-direction. & \\ +\textbf{SampleToDetectorDistance} & m & Distance from sample to detector (for focusing the scattered neutrons). & \\ +\textbf{DetectorRadius} & m & Radius of the detector (for focusing the scattered neutrons). & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANSLiposomes.comp}{Source code} for \texttt{SANSLiposomes.comp}. +\end{itemize} +\IfFileExists{SANSLiposomes_static.tex}{\input{SANSLiposomes_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANSNanodiscs.tex b/docs/manuals/mcstas/contrib/SANSNanodiscs.tex new file mode 100644 index 0000000000..5d42a935cc --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANSNanodiscs.tex @@ -0,0 +1,54 @@ +\section{The \texttt{SANSNanodiscs} McStas Component} +A sample of monodisperse phospholipid bilayer nanodiscs in solution (water). + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Martin Cramer Pedersen (mcpe@nbi.dk) + \item \textbf{Origin:} KU-Science + \item \textbf{Date:} October 17, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A component simulating the scattering from a box-shaped, thin solution (water) +of monodisperse phospholipid bilayer nanodiscs. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +AxisRatio & & Axis ratio of the bilayer patch. & 1.4 \\ +NumberOfLipids & & Number of lipids per nanodisc. & 130.0 \\ +AreaPerLipidHeadgroup & AA\textasciicircum{}2 & Area per lipid headgroup - default is POPC. & 65.0 \\ +HeightOfMSP & AA & Height of the belt protein - default is MSP1D1. & 24.0 \\ +VolumeOfOneMSP & AA\textasciicircum{}3 & Volume of one belt protein - default is MSP1D1. & 26296.5 \\ +VolumeOfHeadgroup & AA\textasciicircum{}3 & Volume of one lipid headgroup - default is POPC. & 319.0 \\ +VolumeOfCH2Tail & AA\textasciicircum{}3 & Volume of the CH2-chains of one lipid - default is POPC. & 818.8 \\ +VolumeOfCH3Tail & AA\textasciicircum{}3 & Volume of the CH3-tails of one lipid - default is POPC. & 108.6 \\ +ScatteringLengthOfOneMSP & cm & Scattering length of one belt protein - default is MSP1D1 in D2O. & 8.8E-10 \\ +ScatteringLengthOfHeadgroup & cm & Scattering length of one lipid headgroup - default is POPC in D2O. & 7.05E-12 \\ +ScatteringLengthOfCH2Tail & cm & Scattering length of the CH2-chains of one lipid - default is POPC in D2O. & -1.76E-12 \\ +ScatteringLengthOfCH3Tail & cm & Scattering length of the CH3-tails of one lipid - default is POPC in D2O. & -9.15E-13 \\ +Roughness & & Factor used to smear the interfaces of the nanodisc. & 5.0 \\ +Concentration & mM & Concentration of sample. & 0.01 \\ +RhoSolvent & cm/AA\textasciicircum{}3 & Scattering length density of solvent - default is D2O. & 6.4e-14 \\ +AbsorptionCrosssection & 1/m & Absorption cross section of the sample. & 0.0 \\ +\textbf{xwidth} & m & Dimension of component in the x-direction. & \\ +\textbf{yheight} & m & Dimension of component in the y-direction. & \\ +\textbf{zdepth} & m & Dimension of component in the z-direction. & \\ +\textbf{SampleToDetectorDistance} & m & Distance from sample to detector (for focusing the scattered neutrons). & \\ +\textbf{DetectorRadius} & m & Radius of the detector (for focusing the scattered neutrons). & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANSNanodiscs.comp}{Source code} for \texttt{SANSNanodiscs.comp}. +\end{itemize} +\IfFileExists{SANSNanodiscs_static.tex}{\input{SANSNanodiscs_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANSNanodiscsFast.tex b/docs/manuals/mcstas/contrib/SANSNanodiscsFast.tex new file mode 100644 index 0000000000..6f741cb83c --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANSNanodiscsFast.tex @@ -0,0 +1,58 @@ +\section{The \texttt{SANSNanodiscsFast} McStas Component} +A sample of monodisperse phospholipid bilayer nanodiscs in solution (water). + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Martin Cramer Pedersen (mcpe@nbi.dk) + \item \textbf{Origin:} KU-Science + \item \textbf{Date:} October 17, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A component very similar to EmptyNanodiscs.comp - however, the scattering +profile is only computed once, and linear interpolation is the used to +simulate the instrument. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +NumberOfQBins & & Number of points generated in inital scattering profile. & 200 \\ +AxisRatio & & Axis ratio of the bilayer patch. & 1.4 \\ +NumberOfLipids & & Number of lipids per nanodisc. & 130.0 \\ +AreaPerLipidHeadgroup & AA\textasciicircum{}2 & Area per lipid headgroup - default is POPC. & 65.0 \\ +HeightOfMSP & AA & Height of the belt protein - default is MSP1D1. & 24.0 \\ +VolumeOfOneMSP & AA\textasciicircum{}3 & Volume of one belt protein - default is MSP1D1. & 26296.5 \\ +VolumeOfHeadgroup & AA\textasciicircum{}3 & Volume of one lipid headgroup - default is POPC. & 319.0 \\ +VolumeOfCH2Tail & AA\textasciicircum{}3 & Volume of the CH2-chains of one lipid - default is POPC. & 818.8 \\ +VolumeOfCH3Tail & AA\textasciicircum{}3 & Volume of the CH3-tails of one lipid - default is POPC. & 108.6 \\ +ScatteringLengthOfOneMSP & cm & Scattering length of one belt protein - default is MSP1D1. & 8.8E-10 \\ +ScatteringLengthOfHeadgroup & cm & Scattering length of one lipid headgroup - default is POPC. & 7.05E-12 \\ +ScatteringLengthOfCH2Tail & cm & Scattering length of the CH2-chains of one lipid - default is POPC. & -1.76E-12 \\ +ScatteringLengthOfCH3Tail & cm & Scattering length of the CH3-tails of one lipid - default is POPC. & -9.15E-13 \\ +Roughness & & Factor used to smear the interfaces of the nanodisc. & 5.0 \\ +Concentration & mM & Concentration of sample. & 0.01 \\ +RhoSolvent & cm/AA\textasciicircum{}3 & Scattering length density of solvent - default is D2O. & 6.4e-14 \\ +AbsorptionCrosssection & 1/m & Absorption cross section of the sample. & 0.0 \\ +\textbf{xwidth} & m & Dimension of component in the x-direction. & \\ +\textbf{yheight} & m & Dimension of component in the y-direction. & \\ +\textbf{zdepth} & m & Dimension of component in the z-direction. & \\ +\textbf{SampleToDetectorDistance} & m & Distance from sample to detector (for focusing the scattered neutrons). & \\ +\textbf{DetectorRadius} & m & Radius of the detector (for focusing the scattered neutrons). & \\ +qMin & AA\textasciicircum{}-1 & Lowest q-value, for which a point is generated in the scattering profile & 0.001 \\ +qMax & AA\textasciicircum{}-1 & Highest q-value, for which a point is generated in the scattering profile & 1.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANSNanodiscsFast.comp}{Source code} for \texttt{SANSNanodiscsFast.comp}. +\end{itemize} +\IfFileExists{SANSNanodiscsFast_static.tex}{\input{SANSNanodiscsFast_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANSNanodiscsWithTags.tex b/docs/manuals/mcstas/contrib/SANSNanodiscsWithTags.tex new file mode 100644 index 0000000000..2b2b3d21bf --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANSNanodiscsWithTags.tex @@ -0,0 +1,59 @@ +\section{The \texttt{SANSNanodiscsWithTags} McStas Component} +A sample of monodisperse phospholipid bilayer nanodiscs in solution (water) - with +histidine tag still on the belt proteins. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Martin Cramer Pedersen (mcpe@nbi.dk) + \item \textbf{Origin:} KU-Science + \item \textbf{Date:} October 17, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A component simulating the scattering from a box-shaped, thin solution (water) +of monodisperse phospholipid bilayer nanodiscs - with histidine tags still +on the belt proteins. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +AxisRatio & & Axis ratio of the bilayer patch. & 1.4 \\ +NumberOfLipids & & Number of lipids per nanodisc. & 130.0 \\ +AreaPerLipidHeadgroup & AA\textasciicircum{}2 & Area per lipid headgroup - default is POPC. & 65.0 \\ +HeightOfMSP & AA & Height of the belt protein - default is MSP1D1. & 24.0 \\ +RadiusOfGyrationForHisTag & AA & Radius of gyration for the his-tag. & 10.0 \\ +VolumeOfOneMSP & AA\textasciicircum{}3 & Volume of one belt protein - default is MSP1D1. & 26296.5 \\ +VolumeOfHeadgroup & AA\textasciicircum{}3 & Volume of one lipid headgroup - default is POPC. & 319.0 \\ +VolumeOfCH2Tail & AA\textasciicircum{}3 & Volume of the CH2-chains of one lipid - default is POPC. & 818.8 \\ +VolumeOfCH3Tail & AA\textasciicircum{}3 & Volume of the CH3-tails of one lipid - default is POPC. & 108.6 \\ +VolumeOfOneHisTag & AA\textasciicircum{}3 & Volume of one his-tag. & 2987.3 \\ +ScatteringLengthOfOneMSP & cm & Scattering length of one belt protein - default is MSP1D1. & 8.8E-10 \\ +ScatteringLengthOfHeadgroup & cm & Scattering length of one lipid headgroup - default is POPC. & 7.05E-12 \\ +ScatteringLengthOfCH2Tail & cm & Scattering length of the CH2-chains of one lipid - default is POPC. & -1.76E-12 \\ +ScatteringLengthOfCH3Tail & cm & Scattering length of the CH3-tails of one lipid - default is POPC. & -9.15E-13 \\ +ScatteringLengthOfOneHisTag & cm & Scattering length of one his-tag. & 1.10E-10 \\ +Roughness & & Factor used to smear the interfaces of the nanodisc. & 5.0 \\ +Concentration & mM & Concentration of sample. & 0.01 \\ +RhoSolvent & cm/AA\textasciicircum{}3 & Scattering length density of solvent - default is D2O. & 6.4e-14 \\ +AbsorptionCrosssection & 1/m & Absorption cross section of the sample. & 0.0 \\ +\textbf{xwidth} & m & Dimension of component in the x-direction. & \\ +\textbf{yheight} & m & Dimension of component in the y-direction. & \\ +\textbf{zdepth} & m & Dimension of component in the z-direction. & \\ +\textbf{SampleToDetectorDistance} & m & Distance from sample to detector (for focusing the scattered neutrons). & \\ +\textbf{DetectorRadius} & m & Radius of the detector (for focusing the scattered neutrons). & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANSNanodiscsWithTags.comp}{Source code} for \texttt{SANSNanodiscsWithTags.comp}. +\end{itemize} +\IfFileExists{SANSNanodiscsWithTags_static.tex}{\input{SANSNanodiscsWithTags_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANSNanodiscsWithTagsFast.tex b/docs/manuals/mcstas/contrib/SANSNanodiscsWithTagsFast.tex new file mode 100644 index 0000000000..c50e78c007 --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANSNanodiscsWithTagsFast.tex @@ -0,0 +1,62 @@ +\section{The \texttt{SANSNanodiscsWithTagsFast} McStas Component} +A sample of monodisperse phospholipid bilayer nanodiscs in solution (water) - with +histidine tag still on the belt proteins. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Martin Cramer Pedersen (mcpe@nbi.dk) + \item \textbf{Origin:} KU-Science + \item \textbf{Date:} October 17, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A component very similar to EmptyNanodiscsWithTags.comp - however, the +scattering profile is only computed once, and linear interpolation is the used +to simulate the instrument. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +NumberOfQBins & & Number of points generated in inital scattering profile. & 200 \\ +AxisRatio & & Axis ratio of the bilayer patch. & 1.4 \\ +NumberOfLipids & & Number of lipids per nanodisc. & 130.0 \\ +AreaPerLipidHeadgroup & AA\textasciicircum{}2 & Area per lipid headgroup - default is POPC. & 65.0 \\ +HeightOfMSP & AA & Height of the belt protein - default is MSP1D1. & 24.0 \\ +RadiusOfGyrationForHisTag & AA & Radius of gyration for the his-tag. & 12.7 \\ +VolumeOfOneMSP & AA\textasciicircum{}3 & Volume of one belt protein - default is MSP1D1. & 26296.5 \\ +VolumeOfHeadgroup & AA\textasciicircum{}3 & Volume of one lipid headgroup - default is POPC. & 319.0 \\ +VolumeOfCH2Tail & AA\textasciicircum{}3 & Volume of the CH2-chains of one lipid - default is POPC. & 818.8 \\ +VolumeOfCH3Tail & AA\textasciicircum{}3 & Volume of the CH3-tails of one lipid - default is POPC. & 108.6 \\ +VolumeOfOneHisTag & AA\textasciicircum{}3 & Volume of one his-tag. & 2987.3 \\ +ScatteringLengthOfOneMSP & cm & Scattering length of one belt protein - default is MSP1D1. & 8.8E-10 \\ +ScatteringLengthOfHeadgroup & cm & Scattering length of one lipid headgroup - default is POPC. & 7.05E-12 \\ +ScatteringLengthOfCH2Tail & cm & Scattering length of the CH2-chains of one lipid - default is POPC. & -1.76E-12 \\ +ScatteringLengthOfCH3Tail & cm & Scattering length of the CH3-tails of one lipid - default is POPC. & -9.15E-13 \\ +ScatteringLengthOfOneHisTag & cm & Scattering length of one his-tag. & 1.10E-10 \\ +Roughness & & Factor used to smear the interfaces of the nanodisc. & 5.0 \\ +Concentration & mM & Concentration of sample. & 0.01 \\ +RhoSolvent & cm/AA\textasciicircum{}3 & Scattering length density of solvent - default is D2O. & 6.4e-14 \\ +AbsorptionCrosssection & 1/m & Absorption cross section of the sample. & 0.0 \\ +\textbf{xwidth} & m & Dimension of component in the x-direction. & \\ +\textbf{yheight} & m & Dimension of component in the y-direction. & \\ +\textbf{zdepth} & m & Dimension of component in the z-direction. & \\ +\textbf{SampleToDetectorDistance} & m & Distance from sample to detector (for focusing the scattered neutrons). & \\ +\textbf{DetectorRadius} & m & Radius of the detector (for focusing the scattered neutrons). & \\ +qMin & AA\textasciicircum{}-1 & Lowest q-value, for which a point is generated in the scattering profile & 0.001 \\ +qMax & AA\textasciicircum{}-1 & Highest q-value, for which a point is generated in the scattering profile & 1.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANSNanodiscsWithTagsFast.comp}{Source code} for \texttt{SANSNanodiscsWithTagsFast.comp}. +\end{itemize} +\IfFileExists{SANSNanodiscsWithTagsFast_static.tex}{\input{SANSNanodiscsWithTagsFast_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANSPDB.tex b/docs/manuals/mcstas/contrib/SANSPDB.tex new file mode 100644 index 0000000000..b3b45c4928 --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANSPDB.tex @@ -0,0 +1,46 @@ +\section{The \texttt{SANSPDB} McStas Component} +A sample describing a thin solution of proteins. This components must be compiled +with the -lgsl and -lgslcblas flags (and possibly linked to the appropriate +libraries). + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Martin Cramer Pedersen (mcpe@nbi.dk) and S\øren Kynde (kynde@nbi.dk) + \item \textbf{Origin:} KU-Science + \item \textbf{Date:} October 17, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This components expands the formfactor amplitude of the protein on spherical +harmonics and computes the scattering profile using these. The expansion is +done on amino-acid level and does not take hydration layer into account. +The component must have a valid .pdb-file as an argument. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +RhoSolvent & AA & Scattering length density of the buffer. & 9.4e-14 \\ +Concentration & mM & Concentration of sample. & 0.01 \\ +AbsorptionCrosssection & 1/m & Absorption cross section of the sample. & 0.0 \\ +\textbf{xwidth} & m & Dimension of component in the x-direction. & \\ +\textbf{yheight} & m & Dimension of component in the y-direction. & \\ +\textbf{zdepth} & m & Dimension of component in the z-direction. & \\ +\textbf{SampleToDetectorDistance} & m & Distance from sample to detector (for focusing the scattered neutrons). & \\ +\textbf{DetectorRadius} & m & Radius of the detector (for focusing the scattered neutrons). & \\ +PDBFilepath & & Path to the file describing the high resolution structure of the protein. & "PDBfile.pdb" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANSPDB.comp}{Source code} for \texttt{SANSPDB.comp}. +\end{itemize} +\IfFileExists{SANSPDB_static.tex}{\input{SANSPDB_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANSPDBFast.tex b/docs/manuals/mcstas/contrib/SANSPDBFast.tex new file mode 100644 index 0000000000..4826ebc573 --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANSPDBFast.tex @@ -0,0 +1,51 @@ +\section{The \texttt{SANSPDBFast} McStas Component} +A sample describing a thin solution of proteins using linear interpolation +to increase computational speed. This components must be compiled with the +-lgsl and -lgslcblas flags (and possibly linked to the appropriate libraries). + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Martin Cramer Pedersen (mcpe@nbi.dk) and S\øren Kynde (kynde@nbi.dk) + \item \textbf{Origin:} KU-Science + \item \textbf{Date:} October 17, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This components expands the formfactor amplitude of the protein on spherical +harmonics and computes the scattering profile using these. The expansion is +done on amino-acid level and does not take hydration layer into account. +The component must have a valid .pdb-file as an argument. + +This is fast implementation of the SANSPDB sample component. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +RhoSolvent & AA & Scattering length density of the buffer - default is 100\% D2O. & 9.4e-14 \\ +Concentration & mM & Concentration of sample. & 0.01 \\ +AbsorptionCrosssection & 1/m & Absorption cross section of the sample. & 0.0 \\ +\textbf{xwidth} & m & Dimension of component in the x-direction. & \\ +\textbf{yheight} & m & Dimension of component in the y-direction. & \\ +\textbf{zdepth} & m & Dimension of component in the z-direction. & \\ +\textbf{SampleToDetectorDistance} & m & Distance from sample to detector (for focusing the scattered neutrons). & \\ +\textbf{DetectorRadius} & m & Radius of the detector (for focusing the scattered neutrons). & \\ +qMin & AA\textasciicircum{}-1 & Lowest q-value, for which a point is generated in the scattering profile & 0.001 \\ +qMax & AA\textasciicircum{}-1 & Highest q-value, for which a point is generated in the scattering profile & 0.5 \\ +NumberOfQBins & & Number of points generated in inital scattering profile. & 200 \\ +PDBFilepath & & Path to the file describing the high resolution structure of the protein. & "PDBfile.pdb" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANSPDBFast.comp}{Source code} for \texttt{SANSPDBFast.comp}. +\end{itemize} +\IfFileExists{SANSPDBFast_static.tex}{\input{SANSPDBFast_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANSQMonitor.tex b/docs/manuals/mcstas/contrib/SANSQMonitor.tex new file mode 100644 index 0000000000..f3fa29bc3e --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANSQMonitor.tex @@ -0,0 +1,42 @@ +\section{The \texttt{SANSQMonitor} McStas Component} +A circular detector measuring the radial average of intensity as a function +of the momentum transform in the sample. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} S\øren Kynde (kynde@nbi.dk) and Martin Cramer Pedersen (mcpe@nbi.dk) + \item \textbf{Origin:} KU-Science + \item \textbf{Date:} October 17, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A simple component simulating the scattering from a box-shaped, thin solution +of monodisperse, spherical particles. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +NumberOfBins & & Number of bins in the r (and q). & 100 \\ +RFilename & & File used for storing I(r). & "RDetector" \\ +qFilename & & File used for storing I(q). & "QDetector" \\ +\textbf{RadiusDetector} & m & Radius of the detector (in the xy-plane). & \\ +\textbf{DistanceFromSample} & m & Distance from the sample to this component. & \\ +LambdaMin & AA & Max sensitivity in lambda - used to compute the highest possible value of momentum transfer, q. & 1.0 \\ +Lambda0 & & If lambda is given, the momentum transfers of all rays are computed from this value. Otherwise, instrumental effects are neglected. & 0.0 \\ +restore\_neutron & & If set to 1, the component restores the original neutron. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANSQMonitor.comp}{Source code} for \texttt{SANSQMonitor.comp}. +\end{itemize} +\IfFileExists{SANSQMonitor_static.tex}{\input{SANSQMonitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANSShells.tex b/docs/manuals/mcstas/contrib/SANSShells.tex new file mode 100644 index 0000000000..279132afd7 --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANSShells.tex @@ -0,0 +1,43 @@ +\section{The \texttt{SANSShells} McStas Component} +A sample of monodisperse shell-like particles in solution. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Martin Cramer Pedersen (mcpe@nbi.dk) + \item \textbf{Origin:} KU-Science + \item \textbf{Date:} October 17, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A simple component simulating the scattering from a box-shaped, thin solution +of monodisperse, shell-like particles. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +R & AA & Average radius of the particles. & 100.0 \\ +Thickness & AA & Thickness of the shell - so that the outer radius is R + Thickness and the inner is R - Thickness. & 5.0 \\ +Concentration & mM & Concentration of sample. & 0.01 \\ +DeltaRho & cm/AA\textasciicircum{}3 & Excess scattering length density of the particles. & 1.0e-14 \\ +AbsorptionCrosssection & 1/m & Absorption cross section of the sample. & 0.0 \\ +\textbf{xwidth} & m & Dimension of component in the x-direction. & \\ +\textbf{yheight} & m & Dimension of component in the y-direction. & \\ +\textbf{zdepth} & m & Dimension of component in the z-direction. & \\ +\textbf{SampleToDetectorDistance} & m & Distance from sample to detector (for focusing the scattered neutrons). & \\ +\textbf{DetectorRadius} & m & Radius of the detector (for focusing the scattered neutrons). & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANSShells.comp}{Source code} for \texttt{SANSShells.comp}. +\end{itemize} +\IfFileExists{SANSShells_static.tex}{\input{SANSShells_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANSSpheres.tex b/docs/manuals/mcstas/contrib/SANSSpheres.tex new file mode 100644 index 0000000000..b549d89484 --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANSSpheres.tex @@ -0,0 +1,43 @@ +\section{The \texttt{SANSSpheres} McStas Component} +A sample of mono- or polydisperse spherical particles in solution. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Martin Cramer Pedersen (mcpe@nbi.dk) + \item \textbf{Origin:} KU-Science + \item \textbf{Date:} October 17, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A simple component simulating the scattering from a box-shaped, thin solution +of monodisperse, spherical particles. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +R & AA & Radius of the spherical particles. & 100.0 \\ +dR & AA & Variance of the radius of spherical particles. Default 0 (monodisperse spheres) & 0.0 \\ +Concentration & mM & Concentration of sample. & 0.01 \\ +DeltaRho & cm/AA\textasciicircum{}3 & Excess scattering length density of the particles. & 1.0e-14 \\ +AbsorptionCrosssection & 1/m & Absorption cross section of the sample. & 0.0 \\ +\textbf{xwidth} & m & Dimension of component in the x-direction. & \\ +\textbf{yheight} & m & Dimension of component in the y-direction. & \\ +\textbf{zdepth} & m & Dimension of component in the z-direction. & \\ +\textbf{SampleToDetectorDistance} & m & Distance from sample to detector (for focusing the scattered neutrons). & \\ +\textbf{DetectorRadius} & m & Radius of the detector (for focusing the scattered neutrons). & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANSSpheres.comp}{Source code} for \texttt{SANSSpheres.comp}. +\end{itemize} +\IfFileExists{SANSSpheres_static.tex}{\input{SANSSpheres_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANSSpheresPolydisperse.tex b/docs/manuals/mcstas/contrib/SANSSpheresPolydisperse.tex new file mode 100644 index 0000000000..0256fdaa46 --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANSSpheresPolydisperse.tex @@ -0,0 +1,43 @@ +\section{The \texttt{SANSSpheresPolydisperse} McStas Component} +A sample of mono- or polydisperse spherical particles in solution. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Linda Udby (udby@nbi.dk) - modified from SANSSpheres by Martin Cramer Pedersen (mcpe@nbi.dk) + \item \textbf{Origin:} KU-Science + \item \textbf{Date:} October 17, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A simple component simulating the scattering from a box-shaped, thin solution +of monodisperse, spherical particles. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +R & AA & Radius of the spherical particles. & 100.0 \\ +dR & AA & Variance of the radius of spherical particles. Default 0 (monodisperse spheres) & 0.0 \\ +Concentration & mM & Concentration of sample. & 0.01 \\ +DeltaRho & cm/AA\textasciicircum{}3 & Excess scattering length density of the & 1.0e-14 \\ +AbsorptionCrosssection & 1/m & Absorption cross section of the sample. & 0.0 \\ +\textbf{xwidth} & m & Dimension of component in the x-direction. & \\ +\textbf{yheight} & m & Dimension of component in the y-direction. & \\ +\textbf{zdepth} & m & Dimension of component in the z-direction. & \\ +\textbf{SampleToDetectorDistance} & m & Distance from sample to detector (for & \\ +\textbf{DetectorRadius} & m & Radius of the detector (for focusing the & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANSSpheresPolydisperse.comp}{Source code} for \texttt{SANSSpheresPolydisperse.comp}. +\end{itemize} +\IfFileExists{SANSSpheresPolydisperse_static.tex}{\input{SANSSpheresPolydisperse_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANS_AnySamp.tex b/docs/manuals/mcstas/contrib/SANS_AnySamp.tex new file mode 100644 index 0000000000..29d0d245ae --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANS_AnySamp.tex @@ -0,0 +1,60 @@ +\section{The \texttt{SANS\_AnySamp} McStas Component} +Sample for Small Angle Neutron Scattering. To be customized. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Henrich Frielinghaus + \item \textbf{Origin:} FZ-Juelich/FRJ-2/IFF/KWS-2 + \item \textbf{Date:} Sept 2004 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Sample for Small Angle Neutron Scattering. +May be customized for Any Sample model. +Copy this component and modify it to your needs. +Just give shape of scattering function. +Normalization of scattering will be done in INITIALIZE. + +Some remarks: +Scattering function should be a defined the same way in INITIALIZE and TRACE sections +There exist maybe better library functions for the integral. + +Here for comparison: Guinier. +Transmitted paths set to 3% of all paths. In this simulation method paths are +well distributed among transmission and scattering (equally in Q-space). + +Sample components leave the units of flux for the probability +of the individual paths. That is more consitent than the +Sans_spheres routine. Furthermore one can simulate the +transmitted beam. This allows to determine the needed size of +the beam stop. Only absorption has not been included yet to +these sample-components. But thats really nothing. + +Example: SANS_AnySamp(transm=0.5, Rg=100, qmax=0.03, xwidth=0.01, yheight=0.01, zdepth=0.001) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +transm & 1 & coherent transmission of sample for the optical path "zdepth" & 0.5 \\ +Rg & Angs & Radius of Gyration & 100 \\ +qmax & AA-1 & Maximum scattering vector & 0.03 \\ +xwidth & m & horizontal dimension of sample, as a width & 0.01 \\ +yheight & m & vertical dimension of sample, as a height & 0.01 \\ +zdepth & m & thickness of sample & 0.001 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANS_AnySamp.comp}{Source code} for \texttt{SANS\_AnySamp.comp}. + \item Sans\_spheres component +\end{itemize} +\IfFileExists{SANS_AnySamp_static.tex}{\input{SANS_AnySamp_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANS_DebyeS.tex b/docs/manuals/mcstas/contrib/SANS_DebyeS.tex new file mode 100644 index 0000000000..21ac3d0aad --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANS_DebyeS.tex @@ -0,0 +1,53 @@ +\section{The \texttt{SANS\_DebyeS} McStas Component} +Sample for Small Angle Neutron Scattering, Debye-Scherrer Ring + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Henrich Frielinghaus + \item \textbf{Origin:} FZ-Juelich/FRJ-2/IFF/KWS-2 + \item \textbf{Date:} Sept 2004 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Debye-Scherrer Ring: Model for highly ordered diblock copolymer. +This example is highly simple. +Multiple scattering neglected, but could be incorporated. +Sample that only produces a DebyeSherrer ring. +Advantages: Transmitted beam is simulated. +Intensities still in flux units. +Minor point: Absolute scattering probability given by transmission. + +Sample components leave the units of flux for the probability +of the individual paths. That is more consitent than the +Sans_spheres routine. Furthermore one can simulate the +transmitted beam. This allows to determine the needed size of +the beam stop. Only absorption has not been included yet to +these sample-components. But thats really nothing. + +Example: SANS_DebyeS(transm=0.5, qDS=0.008, xwidth=0.01, yheight=0.01, zdepth=0.001) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +transm & 1 & coherent transmission of sample for the optical path "zdepth" & 0.5 \\ +qDS & AA-1 & Scattering vector of Debye-Sherrer ring & 0.008 \\ +xwidth & m & horiz. dimension of sample, as a width (m) & 0.01 \\ +yheight & m & vert.. dimension of sample, as a height (m) & 0.01 \\ +zdepth & m & thickness of sample (m) & 0.001 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANS_DebyeS.comp}{Source code} for \texttt{SANS\_DebyeS.comp}. + \item Sans\_spheres component +\end{itemize} +\IfFileExists{SANS_DebyeS_static.tex}{\input{SANS_DebyeS_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANS_Guinier.tex b/docs/manuals/mcstas/contrib/SANS_Guinier.tex new file mode 100644 index 0000000000..bdb0e92aa9 --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANS_Guinier.tex @@ -0,0 +1,60 @@ +\section{The \texttt{SANS\_Guinier} McStas Component} +Sample for Small Angle Neutron Scattering, Guinier model + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Henrich Frielinghaus + \item \textbf{Origin:} FZ-Juelich/FRJ-2/IFF/KWS-2 + \item \textbf{Date:} Sept 2004 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Sample that scatters with a Guinier shape. This is just an example where analytically +an integral exists. The neutron paths are proportional to the intensity +(low intensity > few paths). + +Guinier function (Rg) +a = Rg*Rg/3 +propability_unscaled = q * exp(-a*q*q) +integral_prop_unscal = 1/(2*a) * (1 - exp(-a*q*q)) +propability_scaled = 2*a * q*exp(-a*q*q) / (1 - exp(-a*q*q)) +integral_prop_scaled = (1 - exp(-a*q*q)) / (1 - exp(-a*qmax*qmax)) + +In this simulation method many paths occur for high propability. +For simulation of low intensities see SANS_AnySamp. + +Sample components leave the units of flux for the probability +of the individual paths. That is more consitent than the +Sans_spheres routine. Furthermore one can simulate the +transmitted beam. This allows to determine the needed size of +the beam stop. Only absorption has not been included yet to +these sample-components. But thats really nothing. + +Example: SANS_Guinier(transm=0.5, Rg=100, qmax=0.03, xwidth=0.01, yheight=0.01, zdepth=0.001) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +transm & 1 & (coherent) transmission of sample for the optical path "zdepth" & 0.5 \\ +Rg & Angs & Radius of Gyration & 100 \\ +qmax & AA-1 & Maximum scattering vector & 0.03 \\ +xwidth & m & horiz. dimension of sample, as a width & 0.01 \\ +yheight & m & vert.. dimension of sample, as a height & 0.01 \\ +zdepth & m & thickness of sample & 0.001 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANS_Guinier.comp}{Source code} for \texttt{SANS\_Guinier.comp}. + \item Sans\_spheres component +\end{itemize} +\IfFileExists{SANS_Guinier_static.tex}{\input{SANS_Guinier_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANS_Liposomes_Abs.tex b/docs/manuals/mcstas/contrib/SANS_Liposomes_Abs.tex new file mode 100644 index 0000000000..d71b4f0484 --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANS_Liposomes_Abs.tex @@ -0,0 +1,63 @@ +\section{The \texttt{SANS\_Liposomes\_Abs} McStas Component} +Solid dilute monodisperse spheres sample with transmitted beam for Small Angle Neutron Scattering. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Wim Bouwman, Delft University of Technology + \item \textbf{Origin:} TUDelft + \item \textbf{Date:} Aug 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Sample for Small Angle Neutron Scattering. +Modified from the Any Sample model. +Normalization of scattering is done in INITIALIZE. +Some elements of Sans_spheres have been re-used + +Some remarks: +Scattering function should be a defined the same way in INITIALIZE and TRACE sections +There exist maybe better library functions for the integral. + +Transmitted paths set to 50% of all paths to be optimised for SESANS. In this simulation method paths are +well distributed among transmission and scattering (equally in Q-space). + +Sample components leave the units of flux for the probability +of the individual paths. That is more consitent than the +Sans_spheres routine. Furthermore one can simulate the +transmitted beam. This allows to determine the needed size of +the beam stop. Absorption is included to +these sample-components. + +Example: SANS_Spheres_Abs(R=100, Phi=1e-3, Delta_rho=0.6, sigma_a = 50, qmax=0.03, xwidth=0.01, yheight=0.01, zthick=0.001) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +R & AA & Radius of scattering hard spheres & 100 \\ +dR & & & 0.0 \\ +Phi & 1 & Particle volume fraction & 1e-3 \\ +Delta\_rho & fm/AA\textasciicircum{}3 & Excess scattering length density & 0.6 \\ +sigma\_a & m\textasciicircum{}-1 & Absorption cross section density at 2200 m/s & 0.50 \\ +qmax & AA-1 & Maximum scattering vector (typically 10/R to observe the 3rd ring) & 0.03 \\ +xwidth & m & horiz. dimension of sample, as a width & 0.01 \\ +yheight & m & vert.. dimension of sample, as a height & 0.01 \\ +zthick & m & thickness of sample & 0.001 \\ +dbilayer & & & 35 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANS_Liposomes_Abs.comp}{Source code} for \texttt{SANS\_Liposomes\_Abs.comp}. + \item Sans\_spheres component + \item SANS\_AnySamp component +\end{itemize} +\IfFileExists{SANS_Liposomes_Abs_static.tex}{\input{SANS_Liposomes_Abs_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SANS_benchmark2.tex b/docs/manuals/mcstas/contrib/SANS_benchmark2.tex new file mode 100644 index 0000000000..efc33b9f61 --- /dev/null +++ b/docs/manuals/mcstas/contrib/SANS_benchmark2.tex @@ -0,0 +1,56 @@ +\section{The \texttt{SANS\_benchmark2} McStas Component} +SANS\_benchmark2 sample from FZ J\ülichx + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Henrich Frielinghaus + \item \textbf{Origin:} FZJ + \item \textbf{Date:} Apr 2013 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Several benchmark SANS samples are defined in this routine. The first ones are analytically defined. Higher numbers are forseen for tables. +In principle, the exact definitions can be changed freely - inside this code. +The consideration of all parameters as a routine parameter would be too much for the general purpose. +The user might decide to make single parameters routine parameters. + +For the scattering simulation a high fraction of neutron paths is directed to the scattering (exact fraction is sc_aim). +The remaining paths are used for the transmitted beams. The absolute intensities are treated accordingly, and the p-parameter is set accordingly. + +For the scattering probability, the integral of the scattering function between Q = 0.0001 and 1.0 AA-1 is calculated. +This is used in terms of transmisson, and of course for the scattering probability. +In this way, multiple scattering processes could be treated as well. + +The typical SANS range was considered to be between 0.0001 and 1.0 AA-1. +This means that the scattered neutrons are equally distributed in this range on logarithmic Q-scales. +The Q-parameters can be changed still inside the code, if needed. + +Example: SANS_benchmark(xwidth=0.01, yheight=0.01, zthick=0.001, model=1.0, dsdw_inc=0.02, sc_aim=0.97, sans_aim=0.95, singlesp = 0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xwidth & m & width of sample volume & 0.01 \\ +yheight & m & height of sample volume & 0.01 \\ +zthick & m & thickness of sample volume & 0.001 \\ +model & & model no., real variable will be rounded. negative numbers interpreted as model \#0, too large as \#18. & 1.0 \\ +dsdw\_inc & & the incoherent background from the overall sample (cm-1), should read ca. 1.0 for water, 0.5 for half D2O, half H2O, and ca. 0.02 for D2O & 0.02 \\ +sc\_aim & & the fraction of neutron paths used to represent the scattered neutrons (including everything: incoherent and coherent). rest is transmission. & 0.97 \\ +sans\_aim & & the fraction of neutron paths used to represent the scattered neutrons in the sans-range (up to 1.0AA-1). rest is incoherent with Q\textgreater{}1AA-1. & 0.95 \\ +singlesp & & switches between multiple scattering (parameter zero 0.0) and single scattering (parameter 1.0). The sc\_aim directs a fraction of paths to the first scattering process accordingly. The no. of paths for the second scattering process is derived from the real probability. Up to 10 scattering processes are considered. & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SANS_benchmark2.comp}{Source code} for \texttt{SANS\_benchmark2.comp}. +\end{itemize} +\IfFileExists{SANS_benchmark2_static.tex}{\input{SANS_benchmark2_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SNS_source.tex b/docs/manuals/mcstas/contrib/SNS_source.tex new file mode 100644 index 0000000000..58859b5b9b --- /dev/null +++ b/docs/manuals/mcstas/contrib/SNS_source.tex @@ -0,0 +1,55 @@ +\section{The \texttt{SNS\_source} McStas Component} +Modified: G. E. Granroth Nov 2014 Move to Mcstas V2 +Modified: J.Y.Y. Lin April 2021 to Fix race condition +Modified: P. WIllendrup 2021 Move to Move to Mcstas Version 3 and enable GPus + +A source that produces a time and energy distribution from the SNS moderator files + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} G. Granroth + \item \textbf{Origin:} SNS Project Oak Ridge National Laboratory + \item \textbf{Date:} July 2004 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Produces a time-of-flight spectrum from SNS moderator files +moderator files can be obtained from the SNS website . +IMPORTANT: The output units of this component are N/pulse +IMPORTANT: The component needs a FULL PATH to the source input file +Notes: +(1) the raw moderator files are per Sr. The focusing parameters provide the solid +angle accepted by the guide to remove the Sr dependence from the output. Therefore +the best practice is to set focus_xw and focus_yh to the width and height of the next beam +component, respectively. The dist parameter should then be set as the distance +from the moderator to the first component. +(2) This component works purely by interpolation. Therefore be sure that Emin and +Emax are within the limits of the moderator file +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{filename} & & Filename of source data & \\ +xwidth & m & width of moderator & 0.1 \\ +yheight & m & height of moderator & 0.12 \\ +\textbf{dist} & m & Distance from source to the focusing rectangle & \\ +\textbf{focus\_xw} & m & Width of focusing rectangle & \\ +\textbf{focus\_yh} & m & Height of focusing rectangle & \\ +\textbf{Emin} & meV & minimum energy of neutron to generate & \\ +\textbf{Emax} & meV & maximum energy of neutron to generate & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SNS_source.comp}{Source code} for \texttt{SNS\_source.comp}. +\end{itemize} +\IfFileExists{SNS_source_static.tex}{\input{SNS_source_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SNS_source_analytic.tex b/docs/manuals/mcstas/contrib/SNS_source_analytic.tex new file mode 100644 index 0000000000..357b06c55c --- /dev/null +++ b/docs/manuals/mcstas/contrib/SNS_source_analytic.tex @@ -0,0 +1,67 @@ +\section{The \texttt{SNS\_source\_analytic} McStas Component} +A source that produces a time and energy distribution from +parameterized SNS moderator files + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} F. X. Gallmeier + \item \textbf{Origin:} SNS Oak Ridge National Laboratory + \item \textbf{Date:} October 18, 2010 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Produces a time-of-flight spectrum from SNS moderator files +moderator files can be obtained from the author +IMPORTANT: The output units of this component are N/pulse +IMPORTANT: The component needs a FULL PATH to the source input file +Notes: +(1) the raw moderator files are per Sr. The parameters focus_xw focus_yh and dist +provide the solid angle with which the beam line is served. +The best practice is to set focus_xw and focus_yh to the width and height of the +closest beam component, and dist as the distance from the moderator +location to this component. +(2) Be sure that Emin and Emax are within the limits of 1e-5 to 100 eV +(3) the proton pulse length T determines short- and long-pulse mode + +Beamport definitions: +BL11: a1Gw2-11-f5_fit_fit.dat +BL14: a1Gw2-14-f5_fit_fit.dat +BL17: a1Gw2-17-f5_fit_fit.dat +BL02: a1Gw2-2-f5_fit_fit.dat +BL05: a1Gw2-5-f5_fit_fit.dat +BL08: a1Gw2-8-f5_fit_fit.dat +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{filename} & & Filename of source data & \\ +xwidth & m & width of moderator (default 0.1 m) & 0.10 \\ +yheight & m & height of moderator (default 0.12 m) & 0.12 \\ +\textbf{dist} & m & Distance from source to the focusing rectangle (no default) & \\ +\textbf{focus\_xw} & m & Width of focusing rectangle (no default) & \\ +\textbf{focus\_yh} & m & Height of focusing rectangle (no default) & \\ +Emin & meV & minimum energy of neutrons (default 0.01 meV) & 0.01 \\ +Emax & meV & maximum energy of neutrons (default 1e5 meV) & 1.0e5 \\ +tinmin & us & minimum time of neutrons (default 0 us) & 0.0 \\ +tinmax & us & maximum time of neutrons (default 2000 us) & 2000.0 \\ +sample\_E & & sample energy from: (default 0) & 0 \\ +sample\_t & & sample t from: (default 0) & 0 \\ +proton\_T & us & proton pulse length (0 us) & 0.0 \\ +p\_power & MW & proton power (default 2 MW) & 2.0 \\ +n\_pulses & & number of pulses (default 1) & 1.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SNS_source_analytic.comp}{Source code} for \texttt{SNS\_source\_analytic.comp}. +\end{itemize} +\IfFileExists{SNS_source_analytic_static.tex}{\input{SNS_source_analytic_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Sans_liposomes_new.tex b/docs/manuals/mcstas/contrib/Sans_liposomes_new.tex new file mode 100644 index 0000000000..ab61d6c40f --- /dev/null +++ b/docs/manuals/mcstas/contrib/Sans_liposomes_new.tex @@ -0,0 +1,54 @@ +\section{The \texttt{Sans\_liposomes\_new} McStas Component} +Release: McStas 1.12 + +SANS sample, spherical shells in thin solution with gaussian size distribution + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} P. Willendrup, K. Lefmann, L. Arleth, L. Udby + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 19.12.2003 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Sample for Small Angle Neutron Scattering - spherical shells in thin solution with gaussian size distribution +The shape of the sample may be a cylinder of given radius or a box with dimensions +xwidth, yheight, zthick. qmax defines a cutoff in q. + +Example: Sans_spheres(R = 100, dR = 5, dbilayer=35, Phi = 1e-3, Delta_rho = 0.6, sigma_a = 50, qmax = 0.3 ,xwidth=0.01, yheight=0.01, zthick=0.005) + +%BUGS +This component does NOT simulate absolute intensities. This latter depends on the detector parameters. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +R & AA & Radius of scattering hard spheres & 100 \\ +dR & & & 0.0 \\ +Phi & 1 & Particle volume fraction & 1e-3 \\ +Delta\_rho & fm/AA\textasciicircum{}3 & Excess scattering length density & 0.6 \\ +sigma\_a & m\textasciicircum{}-1 & Absorption cross section density at 2200 m/s & 0.50 \\ +dist & m & Distance from sample to detector & 6 \\ +Rdet & m & Detector (disk-shaped) radius & 0.5 \\ +xwidth & m & horiz. dimension of sample, as a width & 0.01 \\ +yheight & m & vert . dimension of sample, as a height & 0.01 \\ +zthick & m & thickness of sample & 0.005 \\ +qmax & AA\textasciicircum{}-1 & Maximum momentum transfer & 0 \\ +dbilayer & AA & Thickness of shell & 35 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Sans_liposomes_new.comp}{Source code} for \texttt{Sans\_liposomes\_new.comp}. + \item The test/example instrument \textless{}a href="../examples/SANS.instr"\textgreater{}SANS.instr\textless{}/a\textgreater{}. +\end{itemize} +\IfFileExists{Sans_liposomes_new_static.tex}{\input{Sans_liposomes_new_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Sapphire_Filter.tex b/docs/manuals/mcstas/contrib/Sapphire_Filter.tex new file mode 100644 index 0000000000..3dbeec6d7c --- /dev/null +++ b/docs/manuals/mcstas/contrib/Sapphire_Filter.tex @@ -0,0 +1,55 @@ +\section{The \texttt{Sapphire\_Filter} McStas Component} +Sapphire filter at 300K + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jonas Okkels Birk (based upon Filteg\_Graphite by Thomas C Hansen (2000)) + \item \textbf{Origin:} PSI + \item \textbf{Date:} 6 December 2006 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +ESCRIPTION + +This sapphire filter, defined by two identical rectangular opening apertures, +is based upon an absorption function absorp=exp(L*A+C*(exp(-(B/L^2+D/L^4)))) +decribed by Freund (1983) Nucl. Instrum. Methods, A278, 379-401. The +defaultvalues is for Sapphire at 300K as found by measurement by (Mildner & +Lamaze (1998) J. Appl. Cryst. 31,835-840 +( http://journals.iucr.org/j/issues/1998/06/00/hw0070/hw0070bdy.html#BB4)). It +is possble to ajust the formular to other materials or temperatures by typing in +other parameters. +The transmission in sapphire is only lightly demependt on temperature, but +The formular is only cheked at wavelenths between 0.5 and 14 AA (0.4 meV 0.3 +eV). +The filter is for example used in the Eiger beamline at PSI to cut of high +energies. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xmin & m & Lower x bound & -0.16 \\ +xmax & m & Upper x bound & 0.16 \\ +ymin & m & Lower y bound & -0.16 \\ +ymax & m & Upper y bound & 0.16 \\ +len & m & Thickness of filter & 0.1 \\ +A & m\textasciicircum{}-1 AA\textasciicircum{}-1 & & 0.8116 \\ +B & AA\textasciicircum{}2 & & 0.1618 \\ +C & m\textasciicircum{}-1 & & 21.24 \\ +D & AA\textasciicircum{}4 & & 0.1291 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Sapphire_Filter.comp}{Source code} for \texttt{Sapphire\_Filter.comp}. +\end{itemize} +\IfFileExists{Sapphire_Filter_static.tex}{\input{Sapphire_Filter_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SiC.tex b/docs/manuals/mcstas/contrib/SiC.tex new file mode 100644 index 0000000000..dd5750471a --- /dev/null +++ b/docs/manuals/mcstas/contrib/SiC.tex @@ -0,0 +1,36 @@ +\section{The \texttt{SiC} McStas Component} +SiC layer sample + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailto:S.RYCROFT@IRI.TUDELFT.NL"\textgreater{}S. Rycroft\textless{}/a\textgreater{} + \item \textbf{Origin:} IRI. + \item \textbf{Date:} Jan 2000 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SiC layer sample + +Example: SiC() +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{xlength} & m & length of SiC plate & \\ +\textbf{yheight} & m & height of SiC plate & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SiC.comp}{Source code} for \texttt{SiC.comp}. +\end{itemize} +\IfFileExists{SiC_static.tex}{\input{SiC_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Single_crystal_inelastic.tex b/docs/manuals/mcstas/contrib/Single_crystal_inelastic.tex new file mode 100644 index 0000000000..9915a8f2f3 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Single_crystal_inelastic.tex @@ -0,0 +1,98 @@ +\section{The \texttt{Single\_crystal\_inelastic} McStas Component} +An extension of Single crystal with material dispersion + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Duc Le + \item \textbf{Origin:} STFC + \item \textbf{Date:} August 2020 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +The component handles a 4D S(q,w) material dispersion, and scatters neutrons +out of it. It is based on the Isotropic_Sqw methodology, extended to 4D. + +A number of approximations are applied: + +- geometry is restricted to box, cylinder and sphere +- ignore absorption, multiple scattering and incoherent scattering +- no temperature handling. The temperature must be taken into account when +generating the S(q,w) data sets, which should contain Bose/detailed balance. +- intensity is used as provided by the S(q,w) data set + +We recommend that you first try the Test_Single_crystal_inelastic example to +learn how to use this complex component. + +4D S(q,w) data files +-------------------- + +The input data file derives from other McStas formats. It may contain structural +information as in Lau/Laz files, and a list of S(q,w) [one per row] with 5 columns + +[ H K L E S(q,w) ] + +An example file example.sqw4 is provided in the McStas/Data directory. + +You may generate such files using iFit such as: + +s = sqw_vaks('defaults'); % a 4D model +d = iData(s); % use default coarse grid for axes [-0.5:0.5] +saveas(d, 'sx_coh.sqw4', 'mcstas'); % export to 4D Sqw file + +%VALIDATION: +This component is undergoing validation. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +mosaic\_AB & arcmin,arcmin,1,1,1,1,1,1 & In Plane mosaic rotation and plane vectors (anisotropic), & \{0,0, 0,0,0, 0,0,0\} \\ +sqw & string & Name of a 4d S(q,w) file - example.sqw4 is included in your installation & 0 \\ +geometry & string & Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust. & 0 \\ +qwidth & & & 0.05 \\ +xwidth & m & Width of crystal. & 0 \\ +yheight & m & Height of crystal. & 0 \\ +zdepth & m & Depth of crystal (no extinction simulated) & 0 \\ +radius & m & Outer radius of sample in (x,z) plane. & 0 \\ +delta\_d\_d & 1 & Lattice spacing variance, gaussian RMS. & 1e-4 \\ +mosaic & arcmin & Isotropic crystal mosaic, gaussian RMS. Puts the crystal in the isotropic mosaic model state, thus disregarding other mosaicity parameters. & -1 \\ +mosaic\_a & arcmin & Horizontal (rotation around lattice vector a) mosaic (anisotropic), gaussian RMS. Put the crystal in the anisotropic crystal vector state. I.e. model mosaicity through rotation around the crystal lattice vectors. Has precedence over in-plane mosaic model. & -1 \\ +mosaic\_b & arcmin & Vertical (rotation around lattice vector b) mosaic (anisotropic), gaussian RMS. & -1 \\ +mosaic\_c & arcmin & Out-of-plane (Rotation around lattice vector c) mosaic (anisotropic), gaussian RMS. & -1 \\ +recip\_cell & 1 & Choice of direct/reciprocal (0/1) unit cell definition. & 0 \\ +barns & 1 & Flag to indicate if |F|\textasciicircum{}2 from 'reflections' is in barns or fm\textasciicircum{}2. & 0 \\ +ax & AA / AA\textasciicircum{}-1 & Coordinates of first (direct/recip) unit cell vector. & 0 \\ +ay & AA / AA\textasciicircum{}-1 & a on y axis & 0 \\ +az & AA / AA\textasciicircum{}-1 & a on z axis & 0 \\ +bx & AA / AA\textasciicircum{}-1 & Coordinates of second (direct/recip) unit cell vector. & 0 \\ +by & AA / AA\textasciicircum{}-1 & b on y axis & 0 \\ +bz & AA / AA\textasciicircum{}-1 & b on z axis & 0 \\ +cx & AA / AA\textasciicircum{}-1 & Coordinates of third (direct/recip) unit cell vector. & 0 \\ +cy & AA / AA\textasciicircum{}-1 & c on y axis & 0 \\ +cz & AA / AA\textasciicircum{}-1 & c on z axis & 0 \\ +p\_transmit & 1 & Monte Carlo probability for neutrons to be transmitted & -1 \\ +sigma\_abs & barns & Absorption cross-section per unit cell at 2200 m/s. & 0 \\ +sigma\_inc & barns & Incoherent scattering cross-section per unit cell. & 0 \\ +aa & deg & Unit cell angles alpha, beta and gamma. Then uses norms of & 0 \\ +bb & deg & Beta angle. & 0 \\ +cc & deg & Gamma angle. & 0 \\ +order & 1 & Limit multiple scattering up to given order & 0 \\ +RX & m & Radius of horizontal along X lattice curvature. flat for 0. & 0 \\ +RY & m & Radius of vertical lattice curvature. flat for 0. & 0 \\ +RZ & m & Radius of horizontal along Z lattice curvature. flat for 0. & 0 \\ +max\_stored\_ki & & & 1000 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Single_crystal_inelastic.comp}{Source code} for \texttt{Single\_crystal\_inelastic.comp}. +\end{itemize} +\IfFileExists{Single_crystal_inelastic_static.tex}{\input{Single_crystal_inelastic_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Source_custom.tex b/docs/manuals/mcstas/contrib/Source_custom.tex new file mode 100644 index 0000000000..cf885165ac --- /dev/null +++ b/docs/manuals/mcstas/contrib/Source_custom.tex @@ -0,0 +1,131 @@ +\section{The \texttt{Source\_custom} McStas Component} +A flexible pulsed or continuous source with customisable parameters. Multiple pulses can be simulated over time. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Pablo Gila-Herranz, based on 'Source\_pulsed' by K. Lieutenant + \item \textbf{Origin:} Materials Physics Center (CFM-MPC), CSIC-UPV/EHU + \item \textbf{Date:} May 2025 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Produces a custom pulse spectrum with a wavelength distribution as a sum of up to 3 Maxwellian distributions and one of undermoderated neutrons. + +Usage: + +By default, all Maxwellian distributions are assumed to come from anywhere in the moderator. +A custom radius r_i can be defined such that the central circle is at temperature T1, +and the surrounding ring is at temperature T2. +The third Maxwellian distribution at temperature T3 always comes from anywhere in the moderator. + +Multiple pulses can be simulated over time with the n_pulses parameter. +The input flux is in units of [1/(cm^2 sr s AA)], and the output flux is per second, regardless of the number of pulses. +This means that the intensity spreads over n_pulses, so that the units of neutrons per second are preserved. +To simulate only the neutron counts of a single pulse, the input flux should be divided by the frequency. +Bear in mind that the maximum emission time is given by t_pulse * tmax_multiplier, +so short pulses with long tails may require a higher tmax_multiplier value (3 by default). + +To simulate a continuous source, set a pulse length equal to the pulse period (e.g. t_pulse=1.0, freq=1.0). +Note that this continuous beam is simulated over time, unlike other continuous sources in McStas which produce a Dirac delta at time 0. + +Parameters xwidth and yheight must be provided for rectangular moderators, otherwise a circular shape is assumed. + +Model description: + +The normalised Maxwellian distribution for moderated neutrons is defined by [1] +
+$M(\lambda)=\frac{2a^2}{T^2\lambda^5}\exp\left(-\frac{a}{T\lambda^{2}}\right)$ +
+where +
+$a=\left(\frac{h^2}{2m_{N}k_{B}}\right)$ +
+and the joining function for the under-moderated neutrons is given by [1] +
+$M(\lambda)_{um}=\frac{1}{\lambda(1+\exp(\lambda\chi-\kappa))}$ +
+ +The normalised time structure of the long pulse is defined by [2] +
+$N_{t<=t_p}=1-\exp\left(-\frac{t}{\tau/n}\right)$ +
+
+$N_{t>t_p}=\exp\left(-\frac{t-t_p}{\tau}\right)-\exp\left(-\frac{t}{\tau/n}\right)$ +
+where tp is the pulse period, tau is the pulse decay time constant, and n is the ratio of decay to ascend time constants. + +Parameters for some sources: + +HBS thermal source: +t_pulse=0.016, freq=24.0, xwidth=0.04, yheight=0.04, +T1=325.0, I1=0.68e+12, tau1=0.000125, +I_um=2.47e+10, chi_um=2.5 + +HBS cold source: +t_pulse=0.016, freq=24.0, radius=0.010, +T1=60.0, I1=1.75e+12, tau1=0.000170, +I_um=3.82e+10, chi_um=0.9 + +HBS bi-spectral: +t_pulse=0.016, freq=24.0, radius=0.022, r_i=0.010, +T1= 60.0, I1=1.75e+12, tau1=0.000170, +T2=305.0, I2=0.56e+12, tau2=0.000130, +I_um=3.82e+10, chi_um=2.5 + +PSI cold source: +t_pulse=1, freq=1, xwidth=0.1, yheight=0.1, +T1=296.2, I1=8.5e+11, T2=40.68, I2=5.2e+11 + +References: +[1] J. M. Carpenter et al, Nuclear Instruments and Methods in Physics Research Section A, 234, 542-551 (1985). +[2] J. M. Carpenter and W. B. Yelon, Methods in Experimental Physics 23, p. 127, Chapter 2, Neutron Sources (1986). +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_index & 1 & Relative index of component to focus at, e.g. next is +1 (used to compute 'dist' automatically) & 1 \\ +dist & m & Distance from the source to the target & 0.0 \\ +focus\_xw & m & Width of the target (focusing rectangle) & 0.02 \\ +focus\_yh & m & Height of the target (focusing rectangle) & 0.02 \\ +xwidth & m & Width of the source & 0.0 \\ +yheight & m & Height of the source & 0.0 \\ +radius & m & Outer radius of the source (ignored if xwidth and yheight are set) & 0.010 \\ +r\_i & m & Radius of a central circle at temperature T1, sorrounded by a ring at temperature T2 (ignored by default) & 0.0 \\ +\textbf{Lmin} & AA & Lower edge of the wavelength distribution & \\ +\textbf{Lmax} & AA & Upper edge of the wavelength distribution & \\ +\textbf{freq} & Hz & Frequency of pulses & \\ +\textbf{t\_pulse} & s & Proton pulse length & \\ +tmax\_multiplier & 1 & Defined maximum emission time at moderator (tmax = tmax\_multiplier * t\_pulse); 1 for continuous sources & 3.0 \\ +n\_pulses & 1 & Number of pulses to be simulated (ignored for continuous sources) & 1 \\ +T1 & K & Temperature of the 1st Maxwellian distribution; for r\_i \textgreater{} 0 it is only used for the central radii r \textless{} r\_i & 0.0 \\ +I1 & 1/(cm\textasciicircum{}2 sr s AA) & Flux per solid angle of the 1st Maxwellian distribution (integrated over the whole wavelength range) & 0.0 \\ +tau1 & s & Pulse decay time constant of the 1st Maxwellian distribution & 0.000125 \\ +T2 & K & Temperature of the 2nd Maxwellian distribution (0 to disable); for r\_i \textgreater{} 0 it is only used for the external ring r \textgreater{} r\_i & 0.0 \\ +I2 & 1/(cm\textasciicircum{}2 sr s AA) & Flux per solid angle of the 2nd Maxwellian distribution & 0.0 \\ +tau2 & s & Pulse decay time constant of the 2nd Maxwellian distribution & 0.000125 \\ +T3 & K & Temperature of the 3rd Maxwellian distribution (0 to disable) & 0.0 \\ +I3 & 1/(cm\textasciicircum{}2 sr s AA) & Flux per solid angle of the 3rd Maxwellian distribution & 0.0 \\ +tau3 & s & Pulse decay time constant of the 3rd Maxwellian distribution & 0.000125 \\ +n\_mod & 1 & Ratio of pulse decay constant to pulse ascend constant of moderated neutrons (n = tau\_decay / tau\_ascend) & 1 \\ +I\_um & 1/(cm\textasciicircum{}2 sr s AA) & Flux per solid angle for the under-moderated neutrons & 0.0 \\ +tau\_um & s & Pulse decay time constant of under-moderated neutrons & 0.000012 \\ +n\_um & 1 & Ratio of pulse decay constant to pulse ascend constant of under-moderated neutrons & 1 \\ +chi\_um & 1/AA & Factor for the wavelength dependence of under-moderated neutrons & 2.5 \\ +kap\_um & 1 & Scaling factor for the flux of under-moderated neutrons & 2.2 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Source_custom.comp}{Source code} for \texttt{Source\_custom.comp}. + \item This model is implemented in an \textless{}a href="https://github.com/pablogila/Source\_custom"\textgreater{}interactive notebook\textless{}/a\textgreater{} to fit custom neutron sources. +\end{itemize} +\IfFileExists{Source_custom_static.tex}{\input{Source_custom_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Source_gen4.tex b/docs/manuals/mcstas/contrib/Source_gen4.tex new file mode 100644 index 0000000000..fc68c2d585 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Source_gen4.tex @@ -0,0 +1,119 @@ +\section{The \texttt{Source\_gen4} McStas Component} +Circular/squared neutron source with flat or Maxwellian energy/wavelength +spectrum (possibly spatially gaussian) + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Emmanuel Farhi, Kim Lefmann, modified to PSI use by Jonas Okkels Birk + \item \textbf{Origin:} ILL/Risoe + \item \textbf{Date:} Aug 27, 2001 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This routine is a neutron source (rectangular or circular), which aims at +a square target centered at the beam (in order to improve MC-acceptance +rate). The angular divergence is then given by the dimensions of the +target. +The neutron energy/wavelength is distributed between Emin=E0-dE and +Emax=E0+dE or Lmin=Lambda0-dLambda and Lmax=Lambda0+dLambda. The I1 may +be either arbitrary (I1=0), or specified in neutrons per steradian per +square cm per Angstrom. A Maxwellian spectra may be selected if you give +the source temperatures (up to 3). And a high energytail of the shape A/(lambda0-lambda) can also be +specified if you give an A. Finally, a file with the flux as a +function of the wavelength [lambda(AA) flux(n/s/cm^2/st/AA)] may be used +with the 'flux_file' parameter. Format is 2 columns free text. +Additionl distributions for the horizontal and vertical phase spaces +distributions (position-divergence) may be specified with the +'xdiv_file' and 'ydiv_file' parameters. Format is free text, requiring +a comment line '# xylimits: pos_min pos_max div_min div_max' to set +the axis of the distribution matrix. All these files may be generated using +standard monitors (better in McStas/PGPLOT format), e.g.: +Monitor_nD(options="auto lambda per cm2") +Monitor_nD(options="x hdiv, all auto") +Monitor_nD(options="y vdiv, all auto") +The source shape is defined by its radius, or can alternatively be squared +if you specify non-zero h and w parameters. +The beam is spatially uniform, but becomes gaussian if one of the source +dimensions (radius, h or w) is negative, or you set the gaussian flag. +Divergence profiles are triangular. +The source may have a thickness, which will broaden the default zero time +distribution. +For the Maxwellian spectra, the generated intensity is dPhi/dLambda (n/s/AA) +For flat spectra, the generated intensity is Phi (n/s). + +Usage example: +Source_gen(radius=0.1,Lambda0=2.36,dLambda=0.16, T1=20, I1=1e13) +Source_gen(h=0.1,w=0.1,Emin=1,Emax=3, I1=1e13, verbose=1, gaussian=1) +EXTEND +%{ +t = rand0max(1e-3); // set time from 0 to 1 ms for TOF instruments. +%} + +Some sources parameters: +PSI cold source T1= 296.16, I1=8.5E11, T2=40.68, I2=5.2E11 +ILL VCS cold source T1=216.8,I1=1.24e+13,T2=33.9,I2=1.02e+13 +(H1) T3=16.7 ,I3=3.0423e+12 +ILL HCS cold source T1=413.5,I1=10.22e12,T2=145.8,I2=3.44e13 +(H5) T3=40.1 ,I3=2.78e13 +ILL Thermal tube T1=683.7,I1=0.5874e+13,T2=257.7,I2=2.5099e+13 +(H12) T3=16.7 ,I3=1.0343e+12 +ILL Hot source T1=1695,I1=1.74e13,T2=708,I2=3.9e12 + +%VALIDATION +Feb 2005: output cross-checked for 3 Maxwellians against VITESS source +I(lambda), I(hor_div), I(vert_div) identical in shape and absolute values +Validated by: K. Lieutenant +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +flux\_file & str & Name of a two columns [lambda flux] text file that contains the wavelength distribution of the flux in [1/(s*cm**2*st*AA)]. Comments (\#) and further columns are ignored. Format is compatible with McStas/PGPLOT wavelength monitor files. When specified, temperature and intensity values are ignored. NO correction for solid-angle is applied, the intensity emitted into the chosen xw x yh rectangle at distance dist. & 0 \\ +xdiv\_file & str & Name of the x-horiz. divergence distribution file, given as a free format text matrix, preceeded with a line '\# xylimits: xmin xmax xdiv\_min xdiv\_max' & 0 \\ +ydiv\_file & str & Name of the y-vert. divergence distribution file, given as a free format text matrix, preceeded with a line '\# xylimits: ymin ymax ydiv\_min ydiv\_max' & 0 \\ +radius & m & Radius of circle in (x,y,0) plane where neutrons are generated. You may also use 'h' and 'w' for a square source & 0.0 \\ +dist & m & Distance to target along z axis. & 0 \\ +xw & m & Width(x) of target. If dist=0.0, xw = full horz. div in deg & 0 \\ +yh & m & Height(y) of target. If dist=0.0, yh = full vert. div in deg & 0 \\ +E0 & meV & Mean energy of neutrons. & 0 \\ +dE & meV & Energy spread of neutrons, half width. & 0 \\ +Lambda0 & AA & Mean wavelength of neutrons. & 0 \\ +dLambda & AA & Wavelength spread of neutrons,half width & 0 \\ +I1 & 1/(cm**2*st) & Source flux per solid angle, area and Angstrom & 0 \\ +h & m & Source y-height, then does not use radius parameter & 0 \\ +w & m & Source x-width, then does not use radius parameter & 0 \\ +gaussian & 0/1 & Use gaussian divergence beam, normal distributions & 0 \\ +verbose & 0/1 & display info about the source. -1 inactivate source. & 0 \\ +T1 & K & Temperature of the Maxwellian source, 0=none & 0 \\ +flux\_file\_perAA & 1 & When true (1), indicates that flux file data is already per Angstroem. If false, file data is per wavelength bin. & 0 \\ +flux\_file\_log & 1 & When true, will transform the flux table in log scale to improve the sampling. This may also cause & 0 \\ +Lmin & AA & Minimum wavelength of neutrons & 0 \\ +Lmax & AA & Maximum wavelength of neutrons & 0 \\ +Emin & meV & Minimum energy of neutrons & 0 \\ +Emax & meV & Maximum energy of neutrons & 0 \\ +T2 & K & Second Maxwellian source Temperature, 0=none & 0 \\ +I2 & 1/(cm**2*st) & Second Maxwellian Source flux & 0 \\ +T3 & K & Third Maxwellian source Temperature, 0=none & 0 \\ +I3 & 1/(cm**2*st) & Third Maxwellian Source flux & 0 \\ +length & m & Source z-length, not anymore flat & 0 \\ +phi\_init & degrees & Angle abowe the x-z-plan that the source is amied at & 0 \\ +theta\_init & degrees & Angle from the z-axis in the x-z-plan that the source is amied at & 0 \\ +HEtailA & 1/(cm**2*st*AA) & Amplitude of heigh energy tail & 0 \\ +HEtailL0 & AA & Offset of heigh energy tail & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Source_gen4.comp}{Source code} for \texttt{Source\_gen4.comp}. + \item \textless{}a href="http://www.ill.fr/Yellowbook"\textgreater{}The ILL Yellow book\textless{}/a\textgreater{} + \item P. Ageron, Nucl. Inst. Meth. A 284 (1989) 197 +\end{itemize} +\IfFileExists{Source_gen4_static.tex}{\input{Source_gen4_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Source_multi_surfaces.tex b/docs/manuals/mcstas/contrib/Source_multi_surfaces.tex new file mode 100644 index 0000000000..18f905a607 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Source_multi_surfaces.tex @@ -0,0 +1,95 @@ +\section{The \texttt{Source\_multi\_surfaces} McStas Component} +Rectangular neutron source with subareas - using wavelength spectra reading +from files + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Ludovic Giller, Uwe Filges + \item \textbf{Origin:} PSI/Villigen + \item \textbf{Date:} 31.10.06 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This routine is a rectangular neutron source, which aims at a square target +centered at the beam (in order to improve MC-acceptance rate). +The angular divergence is then given by the dimensions of the target. +The source surface can be divided in subareas (maximum 7 in one dimension). +For each subarea a discret spectrum must be loaded given by its corresponding +file. The name of the files are saved in one file and will be called with the +parameter "filename". +In fact the routine first reads the spectrum from files (up to 49) and it +selects randomly a subarea. Secondly it generates a neutron with an random +energy, selected from the spectrum corresponding to the subsurface chosen, and +with a random direction of propagation within the target. +ATTENTION 1: the files must be located in the working directory where also +the instrument file is located +ATTENTION 2: the wavelenght distribution (or binning) must be uniform + +The file giving the name of sub-sources is matrix like, +eg. for a 3x2 (x,y) division : +spec1_1.dat spec1_2.dat spec1_3.dat +spec2_1.dat spec2_2.dat spec2_3.dat(RETURN-key) + +ATTENTION : The line break after the last line is important. +Otherwise the files can not be read in !!! + +and for example spec1_2.dat must be like, always from big to +small lambda : +#surface 1_2 +#comments must be preceded by "#" +#lambda [AA] intensity [a.u.] +9.0 1.39E+08 +8.75 9.67E+08 +8.5 1.17E+09 +8.25 1.50E+09 +8.0 1.60E+09 +7.75 1.43E+09 +7.5 1.40E+09 +7.25 1.36E+09 +7.0 1.35E+09 +6.75 1.33E+09 +6.5 1.32E+09 +6.25 1.31E+09 + + +[a.u.] means that your chosen unit for the intensity influences +the outcoming unit. What you put in you will get out ! +i.e. whatever is the unit for the input intensity you +will have the same unit for the the output. +Generally McStas works in neutrons per second [n/s]. + +Usage example: +Source_multi_surfaces(yheight=0.16,xwidth=0.09,dist=1.18,xw=0.08,yh=0.15,xdim=4,ydim=4, +Lmin=0.01,Lmax=10.0,filename="files_name.dat") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & str & Name of the file containing a list of the spectra file names & 0 \\ +yheight & m & Source y-height & 0.16 \\ +xwidth & m & Source x-width & 0.09 \\ +dist & m & Distance to target along z axis & 1.18 \\ +xw & m & Width(x) of target & 0.08 \\ +yh & m & Height(y) of target & 0.15 \\ +xdim & int & Number of subareas in the x direction & 4 \\ +ydim & int & Number of subareas in the y direction & 4 \\ +Emin & eV & Minimum energy of neutrons & 0.0 \\ +Emax & eV & Maximum energy of neutrons & 0.0 \\ +Lmin & AA & Minimum wavelength of neutrons & 0.0 \\ +Lmax & AA & Maximum wavelength of neutrons & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Source_multi_surfaces.comp}{Source code} for \texttt{Source\_multi\_surfaces.comp}. +\end{itemize} +\IfFileExists{Source_multi_surfaces_static.tex}{\input{Source_multi_surfaces_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Source_pulsed.tex b/docs/manuals/mcstas/contrib/Source_pulsed.tex new file mode 100644 index 0000000000..6b1c9fb1b4 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Source_pulsed.tex @@ -0,0 +1,75 @@ +\section{The \texttt{Source\_pulsed} McStas Component} +A pulsed source for variable proton pulse lenghts + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Klaus Lieutenant, based on component 'Moderator' by K. Nielsen, M. Hagen and 'ESS\_moderator\_long\_2001' by K. Lefmann + \item \textbf{Origin:} FZ Juelich + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Produces a long pulse spectrum with a wavelength distribution as a sum of up to 3 Maxwellian distributions and one of undermoderated neutrons + +It uses the time dependence of long pulses. Short pulses can, however, also be simulated by setting the proton pulse short. + +If moderator width and height are given, it assumes a rectangular moderator, and otherwise a circular + +Usage example: +Source_pulsed(xwidth=0.04, yheight=0.04, Lmin=1.0, Lmax=3.0, t_min=0.0, t_max=0.5, dist=0.700, focus_xw=0.020, focus_yh=0.020, +freq=96.0, t_pulse=0.000208, T1=325.0, I1=7.6e09, tau1=0.000170, I_um=2.7e08, chi_um=2.5) + +Parameters for some sources: +HBS thermal source: xwidth=0.04, yheight=0.04, T1=325.0, I1=0.68e+12/freq, tau1=0.000125, n_mod=10, I_um=2.47e+10/freq, chi_um=2.5, t_pulse=0.016/freq, freq=96.0 or 24.0 +HBS cold source : radius=0.010, T1= 60.0, I1=1.75e+12/freq, tau2=0.000170, n_mod= 5, I_um=3.82e+10/freq, chi_um=0.9, t_pulse=0.016/freq, freq=24.0 or 96.0 +HBS bi-spectral : radius=0.022, r_i=0.010, T1= 60.0, I1=1.75e+12/freq, tau2=0.000170, +T2=305.0, I2=0.56e+12/freq, tau1=0.000130, n_mod= 5, I_um=3.82e+10/freq, chi_um=2.5, t_pulse=0.016/freq, freq=24.0 or 96.0 +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xwidth & m & Width of the source & 0.0 \\ +yheight & m & Height of the source & 0.0 \\ +radius & m & Outer radius of the source & 0.010 \\ +r\_i & m & Radius of a central circle that is sorrounded by a ring of different temperature & 0.0 \\ +\textbf{Lmin} & Ang & Lower edge of the wavelength distribution & \\ +\textbf{Lmax} & Ang & Upper edge of the wavelength distribution & \\ +t\_min & s & Lower edge of the time interval & 0.0 \\ +t\_max & s & Upper edge of the time interval & 0.001 \\ +target\_index & 1 & relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. & 1 \\ +dist & m & Distance from the source to the target & 0.0 \\ +focus\_xw & m & Width of the target (= focusing rectangle) & 0.02 \\ +focus\_yh & m & Height of the target (= focusing rectangle) & 0.02 \\ +\textbf{freq} & Hz & Frequency of pulses & \\ +\textbf{t\_pulse} & s & Proton pulse length & \\ +T1 & K & Temperature of the 1st Maxwellian distribution, for r\_i \textgreater{} 0 only for radii r in the range 0 \textless{} r \textless{} r\_i & 0.0 \\ +I1 & 1/(cm**2*sr) & Flux per solid angle of the 1st Maxwellian distribution (integrated over the whole wavelength range). & 0.0 \\ +tau1 & s & Pulse decay constant of the 1st Maxwellian distribution & 0.000125 \\ +T2 & K & Temperature of the 2nd Maxwellian distribution, 0=none, for r\_i \textgreater{} 0 only for radii r in the range r\_i \textless{} r \textless{} radius & 0.0 \\ +I2 & 1/(cm**2*sr) & Flux per solid angle of the 2nd Maxwellian distribution & 0.0 \\ +tau2 & s & Pulse decay constant of the 2nd Maxwellian distribution & 0.0 \\ +T3 & K & Temperature of the 3rd Maxwellian distribution, 0=none & 0.0 \\ +I3 & 1/(cm**2*sr) & Flux per solid angle of the 3rd Maxwellian distribution & 0.0 \\ +tau3 & s & Pulse decay constant of the 3rd Maxwellian distribution & 0.0 \\ +n\_mod & 1 & Ratio of pulse decay constant to pulse ascend constant of moderated neutrons & 10 \\ +I\_um & 1/(cm**2*sr) & Flux per solid angle for the under-moderated neutrons & 0.0 \\ +tau\_um & s & Pulse decay constant of under-moderated neutrons & 0.000012 \\ +n\_um & 1 & Ratio of pulse decay constant to pulse ascend constant of under-moderated neutrons & 5 \\ +chi\_um & 1/Ang & Factor for the wavelength dependence of under-moderated neutrons & 2.5 \\ +kap\_um & 1 & Scaling factor for the flux of under-moderated neutrons & 2.2 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Source_pulsed.comp}{Source code} for \texttt{Source\_pulsed.comp}. +\end{itemize} +\IfFileExists{Source_pulsed_static.tex}{\input{Source_pulsed_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Spherical_Backscattering_Analyser.tex b/docs/manuals/mcstas/contrib/Spherical_Backscattering_Analyser.tex new file mode 100644 index 0000000000..b046cc099a --- /dev/null +++ b/docs/manuals/mcstas/contrib/Spherical_Backscattering_Analyser.tex @@ -0,0 +1,51 @@ +\section{The \texttt{Spherical\_Backscattering\_Analyser} McStas Component} +Spherical backscattering analyser + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Nikolaos Tsapatsaris with P Willendrup, R Lechner, H Bordallo + \item \textbf{Origin:} NBI/ESS + \item \textbf{Date:} 2015 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Spherical backscattering analyser with variable reflectivity, and mosaic gaussian response. + +Based on earlier developments by Miguel A. Gonzalez 2000, Tilo Seydel 2007, Henrik Jacobsen 2011. + +Example: +COMPONENT doppler = Spherical_Backscattering_Analyser( +xmin=0, xmax=0, ymin=0, ymax=0, mosaic=21.0, dspread=0.00035, Q=2.003886241, DM=0, radius=2.5, f_doppler=0, A_doppler=0, R0=1, debug=0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xmin & m & Minimum absolute value of x =\textasciitilde{} 0.5 * Width of the monochromator & 0 \\ +xmax & m & Maximum absolute value of x =\textasciitilde{} 0.5 * Width of the monochromator & 0 \\ +ymin & m & Minimum absolute value of x =\textasciitilde{} 0.5 * Width of the monochromator & 0 \\ +ymax & m & Maximum absolute value of y =\textasciitilde{} 0.5 * Height of the monochromator & 0 \\ +mosaic & arc min & Mosaicity, FWHM & 21.0 \\ +dspread & 1 & Relative d-sprea, FWHM & 0.00035 \\ +Q & AA-1 & Magnitude of scattering vector & 2.003886241 \\ +DM & AA & monochromator d-spacing instead of Q = 2*pi/DM & 0 \\ +radius & m & Curvature radius & 2.5 \\ +f\_doppler & Hz & Frequency of doppler drive & 0 \\ +A\_doppler & m & Amplitude of doppler drive & 0 \\ +R0 & 1 & Scalar, maximum reflectivity of neutrons & 1 \\ +debug & 1 & if debug \textgreater{} 0 print out some info about the calculations & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Spherical_Backscattering_Analyser.comp}{Source code} for \texttt{Spherical\_Backscattering\_Analyser.comp}. +\end{itemize} +\IfFileExists{Spherical_Backscattering_Analyser_static.tex}{\input{Spherical_Backscattering_Analyser_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Spin_random.tex b/docs/manuals/mcstas/contrib/Spin_random.tex new file mode 100644 index 0000000000..6751b66b0d --- /dev/null +++ b/docs/manuals/mcstas/contrib/Spin_random.tex @@ -0,0 +1,33 @@ +\section{The \texttt{Spin\_random} McStas Component} +Set a random polarisation + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Michael Schneider (SNAG) + \item \textbf{Origin:} SNAG + \item \textbf{Date:} 2024 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This component has no physical size or extent, it simply asigns the neutron +ray polarisation randomly to either spin-up or spin-down. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Spin_random.comp}{Source code} for \texttt{Spin\_random.comp}. +\end{itemize} +\IfFileExists{Spin_random_static.tex}{\input{Spin_random_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Spot_sample.tex b/docs/manuals/mcstas/contrib/Spot_sample.tex new file mode 100644 index 0000000000..e8ee3b2a2f --- /dev/null +++ b/docs/manuals/mcstas/contrib/Spot_sample.tex @@ -0,0 +1,60 @@ +\section{The \texttt{Spot\_sample} McStas Component} +Spot sample. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Garrett Granroth + \item \textbf{Origin:} Oak Ridge National Laboratory + \item \textbf{Date:} 14.11.14 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A sample that is a series of delta functions in omega and Q. The Q is +determined by a two theta value and an equal number of spots around the +beam center. This component is a variation of the V sample written +by Kim Lefmann and Kristian Nielsen. The following text comes from their +original component. +A Double-cylinder shaped incoherent scatterer (a V-sample) +No multiple scattering. Absorbtion included. +The shape of the sample may be a box with dimensions xwidth, yheight, zthick. +The area to scatter to is a disk of radius 'focus_r' situated at the target. +This target area may also be rectangular if specified focus_xw and focus_yh +or focus_aw and focus_ah, respectively in meters and degrees. +The target itself is either situated according to given coordinates (x,y,z), or +setting the relative target_index of the component to focus at (next is +1). +This target position will be set to its AT position. When targeting to centered +components, such as spheres or cylinders, define an Arm component where to +focus at. + +Example: spot_sample(radius_o=0.01, h=0.05, pack = 1, +xwidth=0, yheight=0, zthick=0, Eideal=100.0,w=50.0,two_theta=25.0,n_spots=4) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius\_o & m & Outer radius of sample in (x,z) plane & 0.01 \\ +h & m & Height of sample y direction & 0.05 \\ +pack & 1 & Packing factor & 1 \\ +xwidth & m & horiz. dimension of sample, as a width & 0 \\ +yheight & m & vert.. dimension of sample, as a height & 0 \\ +zthick & m & thickness of sample & 0 \\ +Eideal & meV & The presumed incident energy & 100.0 \\ +w & meV & The energy transfer of the delta function & 50.0 \\ +two\_theta & degrees & the scattering angle of the spot & 25.0 \\ +n\_spots & 1 & The number of spots to generate symmetrically around the beam & 4 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Spot_sample.comp}{Source code} for \texttt{Spot\_sample.comp}. +\end{itemize} +\IfFileExists{Spot_sample_static.tex}{\input{Spot_sample_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/StatisticalChopper.tex b/docs/manuals/mcstas/contrib/StatisticalChopper.tex new file mode 100644 index 0000000000..2cfaf7fd07 --- /dev/null +++ b/docs/manuals/mcstas/contrib/StatisticalChopper.tex @@ -0,0 +1,47 @@ +\section{The \texttt{StatisticalChopper} McStas Component} +Statistical (correlation) Chopper + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} C. Monzat/E. Farhi/S. Rozenkranz + \item \textbf{Origin:} ILL + \item \textbf{Date:} Nov 10th, 2009 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This component is a statistical chopper based on a pseudo random sequence that the user +can specify. Inspired from DiskChopper, it should be used with SatisticalChopper_Monitor component. + +Example: StatisticalChopper(nu=1487*60/255) use default sequence +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & m & Radius of the disc & 0.5 \\ +yheight & m & Slit height (if = 0, equal to radius). Auto centering of beam at half height. & 0 \\ +\textbf{nu} & Hz & Frequency of the Chopper, omega=2*PI*nu & \\ +jitter & s & Jitter in the time phase & 0 \\ +delay & s & Time 'delay'. & 0 \\ +isfirst & 0/1 & Set it to 1 for the first chopper position in a cw source & 0 \\ +abs\_out & 0/1 & Absorb neutrons hitting outside of chopper radius? & 1 \\ +phase & deg & Angular 'delay' (overrides delay) & 0 \\ +verbose & 1 & Set to 1 to display Disk chopper configuration & 0 \\ +n\_pulse & 1 & Number of pulses (Only if isfirst) & 1 \\ +sequence & str & Slit sequence around disk, with 0=closed, 1=open positions. & "NULL" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/StatisticalChopper.comp}{Source code} for \texttt{StatisticalChopper.comp}. + \item R. Von Jan and R. Scherm. The statistical chopper for neutron time-of-flight spectroscopy. Nuclear Instruments and Methods, 80 (1970) 69-76. +\end{itemize} +\IfFileExists{StatisticalChopper_static.tex}{\input{StatisticalChopper_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/StatisticalChopper_Monitor.tex b/docs/manuals/mcstas/contrib/StatisticalChopper_Monitor.tex new file mode 100644 index 0000000000..c6e364490c --- /dev/null +++ b/docs/manuals/mcstas/contrib/StatisticalChopper_Monitor.tex @@ -0,0 +1,43 @@ +\section{The \texttt{StatisticalChopper\_Monitor} McStas Component} +Monitor designed to compute the autocorrelation signal for the Statistical Chopper + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} C. Monzat/E. Farhi + \item \textbf{Origin:} ILL + \item \textbf{Date:} 2009 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This component is a time sensitive monitor which calculates the cross +correlation between the pseudo random sequence of a statistical chopper +and the signal received. It mainly uses fonctions of component Monitor_nD. +It is possible to use the various options of the Monitor_nD but the user MUST NOT +specify "time" in the options. Auto detection of the time limits is possible if the +user chooses tmin=>tmax. + +StatisticalChopper_Monitor(options ="banana bins=500, abs theta limits=[5,105],bins=1000") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{comp} & StatisticalChopper & quoted name of the component monitored & \\ +tmin & s & minimal time of detection & 0.0 \\ +tmax & s & maximal time of detection & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/StatisticalChopper_Monitor.comp}{Source code} for \texttt{StatisticalChopper\_Monitor.comp}. + \item R. Von Jan and R. Scherm. The statistical chopper for neutron time-of-flight spectroscopy. Nuclear Instruments and Methods, 80 (1970) 69-76. +\end{itemize} +\IfFileExists{StatisticalChopper_Monitor_static.tex}{\input{StatisticalChopper_Monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/SupermirrorFlat.tex b/docs/manuals/mcstas/contrib/SupermirrorFlat.tex new file mode 100644 index 0000000000..7d08c63eb0 --- /dev/null +++ b/docs/manuals/mcstas/contrib/SupermirrorFlat.tex @@ -0,0 +1,167 @@ +\section{The \texttt{SupermirrorFlat} McStas Component} +Model of flat supermirror with parallel mirror surfaces + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Wai Tung Lee + \item \textbf{Origin:} ESS + \item \textbf{Date:} September 2024 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Calculate the neutron reflection and transmission of a flat supermirror with parallel mirror surfaces. +The following can be specified: +1. reflection from either mirror coating or substrate surface, mirror coating can be single-side, double-side, +2. absorber coating: beneath mirror coating, single-side coated, double-side coated, or uncoated, +3. refraction and total reflection at substrate surface, +4. attenuation and internal reflection inside substrate. + +note: supermirror name is case-sensitive +text entries of parameters below are not sensitive to case +default regional spelling is UK, but some paramters accept other reginal spelling + + +INITIALISATION parameters: + + +STEP 1: Specify supermirror shape, supermirror coating, absorber and substrate material +In this step, supermirror is standing vertically, mirror coating = yz plane with long side along +z. + +SUPERMIRROR SHAPE ------------------------------------------------- +1. +x: "top" mirror surface normal, horizontal transverse to beam; ++y: vertical up, parallel to mirror surface; ++z: longitudinal to beam, parallel to mirror surface; +2. top and bottom mirrors' surface normals are +x and -x, respectively; +3. entrance-side edge normal is -z, exit-side edge normal is +z (beam direction); +3. normals of and points on the remaining edge surfaces at +y and -y are user-specified, + +Mirror shape is specified by length, thickness, and the normals of and points on the edge surfaces at +y and -y sides. + +The two side-edges at +y and -y are taken to be symmetric about the xz-plane, only one needs to be specified. +Use InitialiseStdSupermirrorFlat_detail if not symmetric. + +SUPERMIRROR COATING ------------------------------------------------- +Mirror reflectivity parameters are specified by name to look up 6 parameters {R0, Qc, alpha, m, W, beta}. + +If name = SubstrateSurface, reflectivity is calculated by +R = R0 (when q<=Qc), R0*( (q - (q^2 - Qc^2)^1/2) / (q + (q^2 - Qc^2)^1/2) )^2 (when q>Qc), with Qc=sqrt(16 Pi SLD). +with Qc = Qc_sub defined in SubstrateSurfaceParameters and SLD defined in SubstrateParameters, +otherwise reflectivity is calculated by +R = R0 (when q<=Qc), R = R0*0.5*(1-tanh((q - m*Qc)/W))*(1-alpha*(q-Qc)+beta*(q-Qc)*(q-Qc)) (when q>Qc). + +specified mirror material name matching one of those defined in "Supermirror_reflective_coating_materials.txt". +If the mirror is non-polarising, specify the same name and parameters for spin plus and spin minus. + +ABSORBER LAYER ------------------------------------------------- +Absorber parameters are either specified by name or by parameters L_abs, L_inc and the coating thickness. + + +SUBSTRATE ------------------------------------------------- +Substrate parameters are specified by name to look up 3 parameters {L_abs, L_inc, SLD}. + +specify substrate material name matching one of those defined in "Supermirror_substrate_materials.txt". + + + +STEP 2: Orient and position the as-defined supermirror in the McStas module XYZ coordinates. + +1. Specify initially a location on the front side of the mirror (see parameter "initial_placement_at_origin" below). +The supermirror is shifted so that the selected point coincides with the origin of the McStas module XYZ coordinates +2. Then the orientation and position of the supermirror are specified by the movements in sequence as +1st, tilting about an axis in +y direction at a selected location (see parameters "tilt_y_axis_location" and "tilt_about_y_first_in_degree" below), +2nd, translation, +3rd, rotation about the z-axis of the McStas module XYZ coordinates. + + + +OUTPUT: +Supermirror struct with all parameter values entered and initialised +User declares "Supermirror supermirror;" or its equivalence, +then passes pointer "&supermirror" to function. + + + +End INITIALISATION parameters + + + + +RAY-TRACING parameters + +FUNCTION IntersectStdSupermirrorFlat +INPUT: +neutron parameters: w_sm=p, t_sm=t, p_sm=coords_set(x,y,z), v_sm=coords_set(vx,vy,vz), s_sm=coords_set(sx,sy,sz) +last_exit_time [s] time of last exit from a supermirror, use F_INDETERMINED if not determined. (F_INDETERMINED defined in this file) +last_exit_point [m,m,m] position of last exit from a supermirror, use coords_set(F_INDETERMINED,F_INDETERMINED,F_INDETERMINED) if not determined. +last_exit_plane [1] plane of last exit from a supermirror, use I_INDETERMINEDif not determined. +sm: [struct] Supermirror structure +OUTPUT: +num_intersect: [1] number of intersects through supermirror +First intersect time, point, plane if there is intersect. +User declare one or more parameters, e.g. "int num_intersect; double first_intersect_time; Coords first_intersect_point; int first_intersect_plane;", +then passes pointers "&num_intersect, &first_intersect_time, &first_intersect_point, &first_intersect_plane" to function. +Pass 0 as pointer if not needed. +first_intersect_dtime: [s] time difference from neutron to first intersect +first_intersect_dpoint: [m,m,m] position difference from neutron to point of first intersect +first_intersect_time: [s] time of first intersect +first_intersect_point: [m,m,m] point of first intersect +first_intersect_plane: [1] plane of first intersect +RETRUN: +sm_Intersected, sm_Missed. sm_Error + + +FUNCTION StdSupermirrorFlat +INPUT: +sm [struct] Supermirror structure +INPUT & OUTPUT: +neutron parameters: w_sm=p, t_sm=t, p_sm=coords_set(x,y,z), v_sm=coords_set(vx,vy,vz), s_sm=coords_set(sx,sy,sz) +last_exit_time [s] time of last exit from a supermirror, use F_INDETERMINED if not determined. (F_INDETERMINED defined in this file) +last_exit_point [m,m,m] position of last exit from a supermirror, use coords_set(F_INDETERMINED,F_INDETERMINED,F_INDETERMINED) if not determined. +last_exit_plane [1] plane of last exit from a supermirror, use I_INDETERMINEDif not determined. +RETRUN: +sm_Exited, sm_Absorbed. sm_Error +sm: [struct Supermirror] Supermirror structure + + +End RAY-TRACING parameters +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +side\_edge\_normal & 1,1,1 & Normal vector of one of the two side-edge surface, use Coords structure, doesn't need to be normalised & \{0,+1,0\} \\ +side\_edge\_point & m,m,m & A point on one of the two side-edge surface with its normal specified above, use Coords structure & \{0,+0.1,0\} \\ +length & m & Supermirror length & 0.5 \\ +thickness\_in\_mm & mm & Substrate thickness in mm & 0.3 \\ +mirror\_coated\_side & string & Sequential keywords combinations of position and surface property. position: "Both", "Top", "Bottom"; surface property: "Coated", "SubstrateSurface", "NoReflection"; Note: "NotCoated"="Empty"="SubstrateSurface", e.g. "BothCoated", "BottomCoatedTopSubstrate" (case-insensitive.) & "BothCoated" \\ +mirror\_spin\_plus\_material\_name & string & mirror spin+ material name in "Supermirror\_reflective\_coating\_materials.txt". (case-insensitive) & "FeSiPlus" \\ +mirror\_spin\_plus\_m & 1 & mirror spin+ m-value, -1=use default value & 3.5 \\ +mirror\_spin\_minus\_material\_name & string & mirror spin- material name in "Supermirror\_reflective\_coating\_materials.txt". (case-insensitive) & "FeSiMinus" \\ +mirror\_spin\_minus\_m & 1 & mirror spin- m-value, -1=use default value (useful for spin-) & -1 \\ +substrate\_material\_name & string & substrate material name in "Supermirror\_substrate\_materials.txt". (Material name is case-insensitive) & "Glass" \\ +absorber\_coated\_side & string & "BothNotCoated", "BothCoated", "TopCoated", "BottomCoated". & "BothNotCoated" \\ +absorber\_material\_name & string & absorber material name in "Supermirror\_absorber\_coating\_materials.txt" or "Empty", 0="Empty", & "Gd" \\ +absorber\_thickness\_in\_micron & micrometer & absorber coating thickness in micrometer & 100 \\ +initial\_placement\_at\_origin & & & "FrontSubstrateCentre" \\ +tilt\_y\_axis\_location & & & "FrontSubstrateCentre" \\ +tilt\_about\_y\_first\_in\_degree & & & 1.5 \\ +translation\_second\_x & & & 0 \\ +translation\_second\_y & & & 0 \\ +translation\_second\_z & & & 0 \\ +rot\_about\_z\_third\_in\_degree & & & 0 \\ +tracking & & & "DetailTracking" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/SupermirrorFlat.comp}{Source code} for \texttt{SupermirrorFlat.comp}. +\end{itemize} +\IfFileExists{SupermirrorFlat_static.tex}{\input{SupermirrorFlat_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/TOF2Q_cyl_monitor.tex b/docs/manuals/mcstas/contrib/TOF2Q_cyl_monitor.tex new file mode 100644 index 0000000000..14926d4d4d --- /dev/null +++ b/docs/manuals/mcstas/contrib/TOF2Q_cyl_monitor.tex @@ -0,0 +1,46 @@ +\section{The \texttt{TOF2Q\_cyl\_monitor} McStas Component} +Release: McStas 2.0 + +Cylindrical (2pi) 2theta v. q Time-of-flight monitor. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} October 2000 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Cylindrical (2pi) 2theta v. q Time-of-flight monitor. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nq & 1 & Number of q bins & 100 \\ +nphi & 1 & Number of angular bins & 100 \\ +nh & 1 & Number of bins in detector height & 10 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +filename & str & Name of file in which to store the detector image & 0 \\ +radius & m & Cylinder radius & 1.0 \\ +height & m & Cylinder height & 0.1 \\ +q\_min & 1/AA & Minimum q value & 0 \\ +q\_max & 1/AA & Maximum q value & 20 \\ +L\_chop2samp & m & Distance from resolution chopper to sample position & 144.0 \\ +t\_chop & ms & Flight time of mean wave length from source to resolution chopper & 0.004 \\ +pixel & 1 & Flag, 0: no pixelation and perfect time. 1: make pixels from nphi and nh and time resolution limitation. & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/TOF2Q_cyl_monitor.comp}{Source code} for \texttt{TOF2Q\_cyl\_monitor.comp}. +\end{itemize} +\IfFileExists{TOF2Q_cyl_monitor_static.tex}{\input{TOF2Q_cyl_monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/TOFSANSdet.tex b/docs/manuals/mcstas/contrib/TOFSANSdet.tex new file mode 100644 index 0000000000..3bdef7cc99 --- /dev/null +++ b/docs/manuals/mcstas/contrib/TOFSANSdet.tex @@ -0,0 +1,66 @@ +\section{The \texttt{TOFSANSdet} McStas Component} +Multiple TOF detectors for SANS instrument. +The component is to be placed at the sample position. +For the time being better switch gravity off. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Henrich Frielinghaus, FZJuelich + \item \textbf{Origin:} FZJ + \item \textbf{Date:} Apr 2013 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +TOF monitor that calculates I of q. + +Example: TOFSANSdet(); +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +Nq & 1 & Number of q-bins & 100 \\ +plength & & & 0.00286 \\ +ssdist & & Source-Sample distance for TOF calculation. & 27.0 \\ +coldis & & Collimation length & 20.0 \\ +Sthckn & cm & sample thickness & 0.1 \\ +ds1 & & distance of detector 1 & 1.0 \\ +xw1 & & width of detector 1 (0 for off) & 0.0 \\ +yh1 & & height of detector 1 (0 for off) & 0.0 \\ +hl1 & & w/h of hole in det 1 (0 for off), full width & 0.0 \\ +ds2 & & distance...........2 & 5.0 \\ +xw2 & & width..............2 & 1.0 \\ +yh2 & & heigth.............2 & 1.0 \\ +hl2 & & hole...............2 & 0.2 \\ +ds3 & & & 20.0 \\ +xw3 & & width..............3 & 1.0 \\ +yh3 & & height.............3 & 1.0 \\ +hl3 & & hole...............3 (beam stop, used for primary beam detection) & 0.04 \\ +vx3 & & vertical extension of beam stop down (in case of gravity off set 0.0, otherwise value larger than 1.0) & 0.0 \\ +tmin & s & Beginning of time window & 0.005 \\ +tmax & s & End of time window & 0.15 \\ +Nx & & Number of horizontal detector pixels (detector 1,2,3) better leave unchanged & 128.0 \\ +Ny & & Number of vertical detector pixels (detector 1,2,3) better leave unchanged & 128.0 \\ +Nt & & Number of time bins (detector 1,2,3) better leave unchanged & 500.0 \\ +qmin & 1/A & Lower limit of q-range & 0.0005 \\ +qmax & 1/A & Upper limit of q-range & 0.11 \\ +rstneu & & restore neutron after treatment ??? (0.0 = no) & 0.0 \\ +centol & & tolerance of center determination (if center larger than centol*calculated\_center then set back to theory) & 0.1 \\ +inttol & & tolerance of intensity (if primary beam intensity smaller than inttol*max\_intensity then discard data) & 0.0001 \\ +qcal & & calibration of intensity (cps) to width of q-bin (non\_zero = yes, zero = no) & 1 \\ +fname & & file name (first part without extensions) & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/TOFSANSdet.comp}{Source code} for \texttt{TOFSANSdet.comp}. +\end{itemize} +\IfFileExists{TOFSANSdet_static.tex}{\input{TOFSANSdet_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/TOF_PSDmonitor.tex b/docs/manuals/mcstas/contrib/TOF_PSDmonitor.tex new file mode 100644 index 0000000000..c618c90d36 --- /dev/null +++ b/docs/manuals/mcstas/contrib/TOF_PSDmonitor.tex @@ -0,0 +1,50 @@ +\section{The \texttt{TOF\_PSDmonitor} McStas Component} +Position-sensitive TOF vs. (height) linear monitor. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Robert Dalgliesh + \item \textbf{Origin:} ISIS + \item \textbf{Date:} September 2021 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Adapted from Kim Lefmann's TOF_cylPSDmonitor and PSD_monitors +An n pixel (vertical, linear) PSD monitor with Time of Flight detection. +This component may also be used as a beam +detector. + +Example: TOF_PSDmonitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, +ny=90, nchan=100, TOFmin=0.0, TOFmax=20000.0, filename="Output.psd") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +ny & 1 & Number of pixel rows & 90 \\ +nchan & 1 & Number of TOF channels & 100 \\ +xwidth & m & width of detector opening & 0.1 \\ +xmin & m & Lower x bound of detector opening & 0 \\ +xmax & m & Upper x bound of detector opening & 0 \\ +yheight & m & height of detector opening & 0.1 \\ +ymin & m & Lower y bound of detector opening & 0 \\ +ymax & m & Upper y bound of detector opening & 0 \\ +TOFmin & mu-s & Beginning TOF window & 0 \\ +TOFmax & mu-s & End TO window & 1e6 \\ +nowritefile & 1 & If set, detector will skip writing to disk & 0 \\ +filename & str & Name of file in which to store the detector image & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/TOF_PSDmonitor.comp}{Source code} for \texttt{TOF\_PSDmonitor.comp}. +\end{itemize} +\IfFileExists{TOF_PSDmonitor_static.tex}{\input{TOF_PSDmonitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/TOF_PSDmonitor_toQ.tex b/docs/manuals/mcstas/contrib/TOF_PSDmonitor_toQ.tex new file mode 100644 index 0000000000..675ece5fe8 --- /dev/null +++ b/docs/manuals/mcstas/contrib/TOF_PSDmonitor_toQ.tex @@ -0,0 +1,58 @@ +\section{The \texttt{TOF\_PSDmonitor\_toQ} McStas Component} +Position-sensitive, linear Q monitor. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Robert Dalgliesh + \item \textbf{Origin:} ISIS + \item \textbf{Date:} September 2021 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +One-dimensional Q-monitor. Calculates Q from "measured" time-of-flight, +i.e. not from particle velocity parameters. + +Adapted from Kim Lefmann's TOF_cylPSDmonitor and PSD_monitors +An n pixel Q-monitor based on measured Time of Flight detection. +This component may also be used as a beam +detector. + +Example: TOF_PSDmonitor_toQ(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, +ny=90, nqbin=100, TOFmin=0.0, TOFmax=20000.0, filename="Output.psd") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +ny & 1 & Number of y bins (for discretisation of vertical detector dimension into "bins") & 90 \\ +nqbin & 1 & number of q bins & 500 \\ +xwidth & m & width of detector opening & 0.1 \\ +xmin & m & Lower x bound of detector opening & 0 \\ +xmax & m & Upper x bound of detector opening & 0 \\ +yheight & m & height of detector opening & 0.1 \\ +ymin & m & Lower y bound of detector opening & 0 \\ +ymax & m & Upper y bound of detector opening & 0 \\ +tmin & mu-s & Beginning TOF window & 0.0 \\ +tmax & mu-s & End TO window & 100000.0 \\ +qmin & AA\textasciicircum{}-1 & Start of q window & 0.005 \\ +qmax & AA\textasciicircum{}-1 & End of q window & 0.5 \\ +L1 & m & distance from source to sample (m) & 23.0 \\ +L2 & m & distance from sample to detector (m) & 3.0 \\ +detTheta & deg & Nominal detector theta & 0.91 \\ +filename & str & Name of file in which to store the detector image & 0 \\ +nowritefile & 1 & If set, detector will skip writing to disk & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/TOF_PSDmonitor_toQ.comp}{Source code} for \texttt{TOF\_PSDmonitor\_toQ.comp}. +\end{itemize} +\IfFileExists{TOF_PSDmonitor_toQ_static.tex}{\input{TOF_PSDmonitor_toQ_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Transmission_V_polarisator.tex b/docs/manuals/mcstas/contrib/Transmission_V_polarisator.tex new file mode 100644 index 0000000000..238758e9cb --- /dev/null +++ b/docs/manuals/mcstas/contrib/Transmission_V_polarisator.tex @@ -0,0 +1,60 @@ +\section{The \texttt{Transmission\_V\_polarisator} McStas Component} +Transmission V-polarisator including absorption by Fe in the supermirror. Experimentally benchmarked. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Andreas Ostermann (additions from Michael Schneider, SNAG) + \item \textbf{Origin:} TUM + \item \textbf{Date:} 2024 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Transmission V-polarisator including absorption by Fe in the supermirror. + +Example: Transmission_V_polarisator(w1=0.050, h1=0.050, +w2=0.050, h2=0.050, l=2.700, +waferD=0.0003, FeD=2.16e-06, +Si_i=0.2, Si_a=0.215, +R0=0.99, Qc=0.02174, alpha=4.25, W=0.001, +mleft=1.2, mright=1.2, mtop=1.2, mbottom=1.2, +reflectUP="measured_up_q.dat",reflectDW="measured_dw_q.dat") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflectUP & str & Reflectivity profile of the FeSi-wafer for spin-up neutrons; columns [q,R] & 0 \\ +reflectDW & str & Reflectivity profile of the FeSi-wafer for spin-down neutrons; columns [q,R] & 0 \\ +\textbf{w1} & m & Width at the polarizer entry & \\ +\textbf{h1} & m & Height at the polarizer entry & \\ +\textbf{w2} & m & Width at the polarizer exit & \\ +\textbf{h2} & m & Height at the polarizer exit & \\ +\textbf{l} & m & length of polarizer & \\ +\textbf{waferD} & m & Thickness of Si wafer & \\ +\textbf{Si\_i} & barns & Scattering cross section per atom (barns) & \\ +\textbf{Si\_a} & barns & Absorption cross section per atom (barns) at 2200m/s & \\ +\textbf{FeD} & m & Thickness of Fe in supermirror, Ti is neglected & \\ +R0 & 1 & Low-angle reflectivity of the outer guide & 0.99 \\ +Qc & AA-1 & Critical scattering vector of the outer guide & 0.02174 \\ +alpha & AA & Slope of reflectivity of the outer guide & 4.25 \\ +W & AA-1 & Width of supermirror cut-off of the outer guide & 0.001 \\ +mleft & 1 & m-value of material for left. vert. mirror of the outer guide & -1 \\ +mright & 1 & m-value of material for right. vert. mirror of the outer guide & -1 \\ +mtop & 1 & m-value of material for top. horz. mirror of the outer guide & -1 \\ +mbottom & 1 & m-value of material for bottom. horz. mirror of the outer guide & -1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Transmission_V_polarisator.comp}{Source code} for \texttt{Transmission\_V\_polarisator.comp}. + \item P. B\öni, W. M\ünzer and A. Ostermann: \textless{}a href="https://doi.org/10.1016/j.physb.2009.06.031"\textgreater{}Physica B: Condensed Matter Volume 404, Issue 17, 1 September 2009, Pages 2620-2623\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Transmission_V_polarisator_static.tex}{\input{Transmission_V_polarisator_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Transmission_polarisatorABSnT.tex b/docs/manuals/mcstas/contrib/Transmission_polarisatorABSnT.tex new file mode 100644 index 0000000000..f40bca8b63 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Transmission_polarisatorABSnT.tex @@ -0,0 +1,70 @@ +\section{The \texttt{Transmission\_polarisatorABSnT} McStas Component} +Transmission V-polarisator including absorption by Fe in the supermirror. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Andreas Ostermann + \item \textbf{Origin:} TUM + \item \textbf{Date:} 2004 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Transmission V-polarisator including absorption by Fe in the supermirror. + +Example: Gravity_guide(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=12, +R0=0.99, Qc=0.021, alpha=6.07, m=1.0, W=0.003, k=1, d=0.0005) +Example: Transmission_polarisatorABSnT(w1=0.050, h1=0.050, +w2=0.050, h2=0.050, l=2.700, +waferD=0.0003, FeD=2.16e-06, +Si_i=0.2, Si_a=0.215, +R0=0.99, Qc=0.02174, alpha=4.25, W=0.001, +mleft=1.2, mright=1.2, mtop=1.2, mbottom=1.2, +R0_up=0.99, Qc_up=0.014, alpha_up=2.25, W_up=0.0025, mup=1.0, +R0_down=0.99, Qc_down=0.02174, alpha_down=3.8, W_down=0.00235, mdown=2.5) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{w1} & m & Width at the polarizer entry & \\ +\textbf{h1} & m & Height at the polarizer entry & \\ +\textbf{w2} & m & Width at the polarizer exit & \\ +\textbf{h2} & m & Height at the polarizer exit & \\ +\textbf{l} & m & length of polarizer & \\ +\textbf{waferD} & m & Thickness of Si wafer & \\ +\textbf{Si\_i} & barns & Scattering cross section per atom (barns) & \\ +\textbf{Si\_a} & barns & Absorption cross section per atom (barns) at 2200m/s & \\ +\textbf{FeD} & m & Thickness of Fe wafer & \\ +R0 & 1 & Low-angle reflectivity of the outer guide & 0.99 \\ +Qc & AA-1 & Critical scattering vector of the outer guide & 0.02174 \\ +alpha & AA & Slope of reflectivity of the outer guide & 4.25 \\ +W & AA-1 & Width of supermirror cut-off of the outer guide & 0.001 \\ +R0\_up & 1 & Low-angle reflectivity of the Fe/Si-wafer for spin up neutrons & 0.99 \\ +Qc\_up & AA-1 & Critical scattering vector of the Fe/Si-wafer for spin up neutrons & 0.0109 \\ +alpha\_up & AA & Slope of reflectivity of the Fe/Si-wafer for spin up neutrons & 4.25 \\ +W\_up & AA-1 & Width of supermirror cut-off of the Fe/Si-wafer for spin up neutrons & 0.0025 \\ +R0\_down & 1 & Low-angle reflectivity of the Fe/Si-wafer for spin down neutrons & 0.99 \\ +Qc\_down & AA-1 & Critical scattering vector of the Fe/Si-wafer for spin down neutrons & 0.02174 \\ +alpha\_down & AA & Slope of reflectivity of the Fe/Si-wafer for spin down neutrons & 6.25 \\ +W\_down & AA-1 & Width of supermirror cut-off of the Fe/Si-wafer for spin down neutrons & 0.001 \\ +mleft & 1 & m-value of material for left. vert. mirror of the outer guide & -1 \\ +mright & 1 & m-value of material for right. vert. mirror of the outer guide & -1 \\ +mtop & 1 & m-value of material for top. horz. mirror of the outer guide & -1 \\ +mbottom & 1 & m-value of material for bottom. horz. mirror of the outer guide & -1 \\ +mup & 1 & m-value of the Fe/Si-wafer for spin up neutrons & -1 \\ +mdown & 1 & m-value of the Fe/Si-wafer for spin down neutrons & -1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Transmission_polarisatorABSnT.comp}{Source code} for \texttt{Transmission\_polarisatorABSnT.comp}. +\end{itemize} +\IfFileExists{Transmission_polarisatorABSnT_static.tex}{\input{Transmission_polarisatorABSnT_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Vertical_Bender.tex b/docs/manuals/mcstas/contrib/Vertical_Bender.tex new file mode 100644 index 0000000000..29788a9183 --- /dev/null +++ b/docs/manuals/mcstas/contrib/Vertical_Bender.tex @@ -0,0 +1,88 @@ +\section{The \texttt{Vertical\_Bender} McStas Component} +Release: McStas 2.4 + +Multi-channel bender curving vertically down. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Andrew Jackson, Richard Heenan + \item \textbf{Origin:} ESS + \item \textbf{Date:} August 2016, June 2017 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Based on Pol_bender written by Peter Christiansen +Models a rectangular curved guide with entrance on Z axis. +Entrance is on the X-Y plane. Draws a correct depiction of +the guide with multiple channels - i.e. following components need to be +displaced. +Guide can contain multiple channels using horizontal blades +Reflectivity modeled using StdReflecFunc and {R0, Qc, alpha, m, W} can be set +for top (outside of curve), bottom (inside of curve) and sides +(both sides equal), blades reflectivities match top and bottom (each channel is +like a "mini guide"). +Neutrons are tracked, with gravity, inside the wall of a cylinder using distance +steps of diststep1. Upon crossing the inner or outer wall, the final step is +repeated using steps of diststep2, thus checking more +closely for the first crossing of either wall. If diststep1 is too +large than a "grazing incidence reflection" may be missed altogether. +If diststep1 is too small, then the code will run slower! +Exact intersection tmes with the flat sides and ends of the bender channel are calculated +first in order to limit the time spent tracking curved trajectories. +Turning gravity off will not make this run any faster, as the same method is used. + +28/06/2017 still need validation against other codes (e.g. for gravity off case) + +Example: +Vertical_Bender(xwidth = 0.05, yheight = 0.05, length = 3.0, +radius = 70.0, nslit = 5, d=0.0005, diststep1=0.020, diststep2=0.002, +rTopPar={0.99, 0.219, 6.07, 3.0, 0.003}, +rBottomPar={0.99, 0.219, 6.07, 2.0, 0.003}, +rSidesPar={0.99, 0.219, 6.07, 2.0, 0.003}, + +See example instrument Test_Vert_Bender + +%BUGS +Original code did not work with rotation about axes and gravity. +This tedious tracking method should work (28/6/17 still under test) for a vertical bender, with optional +rotation about x axis and gravity (and likely rotation about y axis but needs testing, +and even perhaps rotation about z axis as in rotated local frame Gx then is non zero but the edge solver still works). +Would also need test the drawing in trace mode). + +GRAVITY : Yes, when component is not rotated +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +rTopPar & vector & Parameters for reflectivity of bender top surface & \{0.99, 0.219, 6.07, 0.0, 0.003\} \\ +rBottomPar & vector & Parameters for reflectivity of bender bottom surface & \{0.99, 0.219, 6.07, 0.0, 0.003\} \\ +rSidesPar & vector & Parameters for reflectivity of bender sides surface & \{0.99, 0.219, 6.07, 0.0, 0.003\} \\ +\textbf{xwidth} & m & Width at the guide entry & \\ +\textbf{yheight} & m & Height at the guide entry & \\ +\textbf{length} & m & length of guide along center & \\ +\textbf{radius} & m & Radius of curvature of the guide (+:curve up/-:curve down) & \\ +G & & & 9.8 \\ +nchan & 1 & Number of channels & 1 \\ +d & m & Width of spacers (subdividing absorbing walls) & 0.0 \\ +debug & 1 & 0 to 10 for zero to maximum print out - reduce number of neutrons to run ! & 0 \\ +endFlat & 1 & If endflat\textgreater{}0 then entrance and exit planes are parallel. & 0 \\ +drawOption & & & 1 \\ +alwaystrack & 1 & default 0, 1 to force tracking even when gravity is off & 0 \\ +diststep1 & m & inital collision search steps for trajectory in cylinder when gravity is non zero & 0.020 \\ +diststep2 & m & final steps for trajectory in cylinder & 0.002 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Vertical_Bender.comp}{Source code} for \texttt{Vertical\_Bender.comp}. +\end{itemize} +\IfFileExists{Vertical_Bender_static.tex}{\input{Vertical_Bender_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/Vertical_T0a.tex b/docs/manuals/mcstas/contrib/Vertical_T0a.tex new file mode 100644 index 0000000000..d15bfcb50e --- /dev/null +++ b/docs/manuals/mcstas/contrib/Vertical_T0a.tex @@ -0,0 +1,40 @@ +\section{The \texttt{Vertical\_T0a} McStas Component} +Vertical T0-chopper as used in SNS\_ARCS + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Garrett Granroth + \item \textbf{Origin:} SNS Oak Ridge,TN + \item \textbf{Date:} 2 NOV 2004 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Vertical T0-chopper as used in SNS_ARCS +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{len} & m & length of slot & \\ +\textbf{w1} & m & center width & \\ +\textbf{w2} & m & edgewidth & \\ +\textbf{nu} & Hz & frequency & \\ +\textbf{delta} & s & time from edge of chopper to center Phase angle & \\ +\textbf{tc} & s & time when desired neutron is at the center of the chopper & \\ +\textbf{ymin} & m & Lower y bound & \\ +\textbf{ymax} & m & Upper y bound & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/Vertical_T0a.comp}{Source code} for \texttt{Vertical\_T0a.comp}. +\end{itemize} +\IfFileExists{Vertical_T0a_static.tex}{\input{Vertical_T0a_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/ViewModISIS.tex b/docs/manuals/mcstas/contrib/ViewModISIS.tex new file mode 100644 index 0000000000..958148852f --- /dev/null +++ b/docs/manuals/mcstas/contrib/ViewModISIS.tex @@ -0,0 +1,73 @@ +\section{The \texttt{ViewModISIS} McStas Component} +ISIS Moderators + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} G. Skoro, based on ViewModerator4 from S. Ansell + \item \textbf{Origin:} ISIS + \item \textbf{Date:} February 2016 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Produces a neutron distribution at the ISIS TS1 or TS2 beamline shutter front face (or corresponding moderator) position. +The Face argument determines which TS1 or TS2 beamline is to be sampled by using corresponding Etable file. +Neutrons are created having a range of energies determined by the E0 and E1 arguments. +Trajectories are produced such that they pass through the shutter front face (RECOMENDED) or moderator face (defined by +xw and yh) and a focusing rectangle (defined by focus_xw, focus_yh and dist). + +Example 1: ViewModISISver1(Face="TS1_S04_Merlin.mcstas", E0 = E_min, E1 = E_max, +dist = 1.7, focus_xw = 0.094, focus_yh = 0.094, modPosition=0, +xw=0.12,yh=0.12) + +MERLIN simulation. +modPosition=0 so initial surface is at (near to) the moderator face. +In this example, focus_xw and focus_yh are chosen to be identical to the shutter opening dimension. +dist = 1.7 is the 'real' distance to the shutter front face => This is TimeOffset value (=170 [cm]) +from TS1_S04_Merlin.mcstas file. + + +Example 2: ViewModISISver1(Face="Let_timeTest_155.mcstas", E0 = E_min, E1 = E_max, +modPosition=1, xw=0.196, yh = 0.12, focus_xw = 0.04, focus_yh = 0.094, dist = 0.5) + +LET simulation. +modPosition=1 so initial surface is at front face of shutter insert. + +(IMPORTANT) If modPosition=1, the xw and yh values are obsolete. The dimensions of +initial surface are automatically calculated using "RDUM" values in Let_timeTest_155.mcstas file. + +In this example, focus_xw and focus_yh are arbitrary chosen to be identical to the shutter opening dimension. + + + +N.B. Absolute normalization: The result of the Mc-Stas simulation will show neutron intensity for beam current of 1 uA. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +Face & string & Etable filename & "TS1\_S04\_Merlin.mcstas" \\ +\textbf{E0} & meV & Lower edge of energy distribution & \\ +\textbf{E1} & meV & Upper edge of energy distribution & \\ +modPosition & int & Defines the initial surface for neutron distribution production. Possible values = 0 (at moderator) or 1 (at shutter insert) & 0 \\ +xwidth & m & Moderator width & 0.12 \\ +yheight & & & 0.12 \\ +focus\_xw & m & Width of focusing rectangle & 0.094 \\ +focus\_yh & m & Height of focusing rectangle & 0.094 \\ +dist & m & Distance from source surface to the focusing rectangle & 1.7 \\ +verbose & int & Flag to output debugging information & 0 \\ +beamcurrent & uA & ISIS beam current & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/ViewModISIS.comp}{Source code} for \texttt{ViewModISIS.comp}. +\end{itemize} +\IfFileExists{ViewModISIS_static.tex}{\input{ViewModISIS_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/contrib/multi_pipe.tex b/docs/manuals/mcstas/contrib/multi_pipe.tex new file mode 100644 index 0000000000..88ff31b9a8 --- /dev/null +++ b/docs/manuals/mcstas/contrib/multi_pipe.tex @@ -0,0 +1,52 @@ +\section{The \texttt{multi\_pipe} McStas Component} +multi-pipe circular slit. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Uwe Filges + \item \textbf{Origin:} PSI + \item \textbf{Date:} March, 2005 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +No transmission around the slit is allowed. + +example for an input file +# user defined geometry +# x(i) y(i) r(i) [m] +0.02 0.03 0.01 +-0.04 0.015 0.005 + +warning: at least two values must be in the file + +Example: multi_pipe(xmin=-0.01, xmax=0.01, ymin=-0.01, ymax=0.01) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & str & define user table of holes & 0 \\ +\textbf{xmin} & m & Lower x bound & \\ +\textbf{xmax} & m & Upper x bound & \\ +\textbf{ymin} & m & Lower y bound & \\ +\textbf{ymax} & m & Upper y bound & \\ +radius & & radius of a single hole & 0.0 \\ +gap & m & distance between holes & 0.0 \\ +thickness & m & thickness of the pipe & 0.0 \\ +xwidth & m & Width of slit plate. Overrides xmin,xmax. & 0 \\ +yheight & m & Height of slit plate. Overrides ymin,ymax. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/contrib/multi_pipe.comp}{Source code} for \texttt{multi\_pipe.comp}. +\end{itemize} +\IfFileExists{multi_pipe_static.tex}{\input{multi_pipe_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/misc/Annulus.tex b/docs/manuals/mcstas/misc/Annulus.tex new file mode 100644 index 0000000000..181f4937eb --- /dev/null +++ b/docs/manuals/mcstas/misc/Annulus.tex @@ -0,0 +1,42 @@ +\section{The \texttt{Annulus} McStas Component} +A geometric shape without effect on neutron, for instrument display purpose. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} E. Farhi + \item \textbf{Origin:} ILL + \item \textbf{Date:} June 23rd 2009 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An inactive geometrical shape (annulus), for drawing purposes only. +Derived from the Shape component + +Example: Annulus(radius=0.05, yheight=0.1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +outer\_radius & m & Outer radius of geometry in (x,z) plane & 0 \\ +inner\_radius & m & Inner radius of geometry in (x,z) plane & 0 \\ +radius & m & Outer radius of geometry in (x,z) plane & 0 \\ +xwidth & m & Horiz. dimension of geometry as a width & 0 \\ +yheight & m & Vert. & 0 \\ +zdepth & m & Depth dimension of geometry & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/misc/Annulus.comp}{Source code} for \texttt{Annulus.comp}. + \item mcdoc page of \textless{}a href="Shape.html"\textgreater{}Shape\textless{}/a\textgreater{}\textless{}/b\textgreater{} component +\end{itemize} +\IfFileExists{Annulus_static.tex}{\input{Annulus_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/misc/Circle.tex b/docs/manuals/mcstas/misc/Circle.tex new file mode 100644 index 0000000000..0ac4998b0a --- /dev/null +++ b/docs/manuals/mcstas/misc/Circle.tex @@ -0,0 +1,40 @@ +\section{The \texttt{Circle} McStas Component} +A geometric shape without effect on neutron, for instrument display purpose. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} E. Farhi + \item \textbf{Origin:} ILL + \item \textbf{Date:} June 23rd 2009 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An inactive geometrical shape (circle), for drawing purposes only. +Derived from the Shape component + +Example: Circle(radius=0.05, yheight=0.1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & m & Outer radius of geometry in (x,z) plane & 0 \\ +xwidth & m & Horiz. dimension of geometry & 0 \\ +yheight & m & Vert. dimension of geometry & 0 \\ +zdepth & m & Depth dimension of geometry & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/misc/Circle.comp}{Source code} for \texttt{Circle.comp}. + \item mcdoc page of \textless{}a href="Shape.html"\textgreater{}Shape\textless{}/a\textgreater{}\textless{}/b\textgreater{} component +\end{itemize} +\IfFileExists{Circle_static.tex}{\input{Circle_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/misc/Cone.tex b/docs/manuals/mcstas/misc/Cone.tex new file mode 100644 index 0000000000..6cdf6f5cdd --- /dev/null +++ b/docs/manuals/mcstas/misc/Cone.tex @@ -0,0 +1,40 @@ +\section{The \texttt{Cone} McStas Component} +An inactive geometrical shape (cone), for drawing purposes only. +Derived from the \textless{}b\textgreater{}\textless{}a href="Shape.html"\textgreater{}Shape\textless{}/a\textgreater{}\textless{}/b\textgreater{} component + +Example: Cone(radius=0.05, yheight=0.1) + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} E. Farhi + \item \textbf{Origin:} ILL + \item \textbf{Date:} June 23rd 2009 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} + +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & m & Outer radius of geometry in (x,z) plane & 0 \\ +xwidth & m & Horiz. dimension of geometry as a width & 0 \\ +yheight & m & Vert. & 0 \\ +zdepth & m & Depth dimension of geometry & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/misc/Cone.comp}{Source code} for \texttt{Cone.comp}. + \item mcdoc page of \textless{}a href="Shape.html"\textgreater{}Shape\textless{}/a\textgreater{}\textless{}/b\textgreater{} component +\end{itemize} +\IfFileExists{Cone_static.tex}{\input{Cone_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/misc/Disc.tex b/docs/manuals/mcstas/misc/Disc.tex new file mode 100644 index 0000000000..7857615e2b --- /dev/null +++ b/docs/manuals/mcstas/misc/Disc.tex @@ -0,0 +1,43 @@ +\section{The \texttt{Disc} McStas Component} +A geometric shape without effect on neutron, for instrument display purpose. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} E. Farhi + \item \textbf{Origin:} ILL + \item \textbf{Date:} June 23rd 2009 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An inactive geometrical shape (annulus), for drawing purposes only. +Derived from the Shape component + +Example: Annulus(radius=0.05, yheight=0.1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & m & Outer radius of geometry in (x,z) plane & 0 \\ +xwidth & m & Horiz. dimension of geometry & 0 \\ +yheight & m & Vert. dimensuon of geometry & 0 \\ +zdepth & m & Depth dimension of geometry & 0 \\ +nx & 1 & x-comp of orientation vector & 0 \\ +ny & 1 & y-comp of orientation vector & 1 \\ +nz & 1 & z-comp of orientation vector & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/misc/Disc.comp}{Source code} for \texttt{Disc.comp}. + \item mcdoc page of \textless{}a href="Shape.html"\textgreater{}Shape\textless{}/a\textgreater{}\textless{}/b\textgreater{} component +\end{itemize} +\IfFileExists{Disc_static.tex}{\input{Disc_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/misc/File.tex b/docs/manuals/mcstas/misc/File.tex new file mode 100644 index 0000000000..09304e5c0a --- /dev/null +++ b/docs/manuals/mcstas/misc/File.tex @@ -0,0 +1,37 @@ +\section{The \texttt{File} McStas Component} +File.comp - allows to generate instrument/component input-files +from METADATA blocks + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Greg Tucker + \item \textbf{Origin:} ESS + \item \textbf{Date:} 2024 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +File.comp - allows to generate instrument/component input-files +from METADATA blocks - see test_File.instr for an example. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & string & Filename for output-file generated from metadata block & 0 \\ +\textbf{metadatakey} & string & METADATA-key for looking up file content (may belong to File instance or another comp) & \\ +keep & 1 & Flag to indicate if file should be kept post-simulation & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/misc/File.comp}{Source code} for \texttt{File.comp}. +\end{itemize} +\IfFileExists{File_static.tex}{\input{File_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/misc/Legacy_circle.tex b/docs/manuals/mcstas/misc/Legacy_circle.tex new file mode 100644 index 0000000000..95269feabd --- /dev/null +++ b/docs/manuals/mcstas/misc/Legacy_circle.tex @@ -0,0 +1,57 @@ +\section{The \texttt{Legacy\_circle} McStas Component} +A geometric shape without effect on neutron, for instrument display purpose. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} E. Farhi + \item \textbf{Origin:} ILL + \item \textbf{Date:} June 23rd 2009 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An inactive geometrical shape, for drawing purposes only. +It does not propagate neutron, nor interact. +Shape: +Geometric shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using qhull/powercrust, and +viewed with geomview +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Example: Shape(radius=0.05, yheight=0.1) +Shape(geometry="socket.off") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & m & Outer radius of sample in (x,z) plane & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/misc/Legacy_circle.comp}{Source code} for \texttt{Legacy\_circle.comp}. + \item Geomview and Object File Format (OFF) \textless{}http|://www.geomview.org\textgreater{} + \item Powercrust/qhull \textless{}http://www.cs.utexas.edu/users/amenta/powercrust\textgreater{} +\end{itemize} +\IfFileExists{Legacy_circle_static.tex}{\input{Legacy_circle_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/misc/MCPL_input.tex b/docs/manuals/mcstas/misc/MCPL_input.tex new file mode 100644 index 0000000000..ae22ec4bc5 --- /dev/null +++ b/docs/manuals/mcstas/misc/MCPL_input.tex @@ -0,0 +1,50 @@ +\section{The \texttt{MCPL\_input} McStas Component} +Source-like component that reads neutron state parameters from an mcpl-file. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Erik B Knudsen + \item \textbf{Origin:} DTU Physics + \item \textbf{Date:} Mar 2016 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Source-like component that reads neutron state parameters from a binary mcpl-file. + +MCPL is short for Monte Carlo Particle List, and is a new format for sharing events +between e.g. MCNP(X), Geant4 and McStas. + +When used with MPI, the --ncount given on the commandline is overwritten by +#MPI nodes x #events in the file. + +Example: MCPL_input(filename=voutput,verbose=1,repeat_count=1,v_smear=0.1,pos_smear=0.001,dir_smear=0.01) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & str & Name of neutron mcpl file to read & 0 \\ +polarisationuse & & If !=0 read polarisation vectors from file & 1 \\ +verbose & & Print debugging information for first 10 particles read & 1 \\ +Emin & meV & Lower energy bound. Particles found in the MCPL-file below the limit are skipped & 0 \\ +Emax & meV & Upper energy bound. Particles found in the MCPL-file above the limit are skipped & FLT\_MAX \\ +repeat\_count & 1 & Repeat contents of the MCPL file this number of times. NB: When running MPI, repeating is implicit and is taken into account by integer division. MUST be combined with \_smear options! & 1 \\ +v\_smear & 1 & When repeating events, make a Gaussian MC choice within v\_smear*V around particle velocity V & 0 \\ +pos\_smear & m & When repeating events, make a flat MC choice of position within pos\_smear around particle starting position & 0 \\ +dir\_smear & deg & When repeating events, make a Gaussian MC choice of direction within dir\_smear around particle direction & 0 \\ +preload & & Load particles during INITIALIZE. On GPU preload is forced & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/misc/MCPL_input.comp}{Source code} for \texttt{MCPL\_input.comp}. +\end{itemize} +\IfFileExists{MCPL_input_static.tex}{\input{MCPL_input_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/misc/MCPL_input_once.tex b/docs/manuals/mcstas/misc/MCPL_input_once.tex new file mode 100644 index 0000000000..956f9bb1f8 --- /dev/null +++ b/docs/manuals/mcstas/misc/MCPL_input_once.tex @@ -0,0 +1,50 @@ +\section{The \texttt{MCPL\_input\_once} McStas Component} +Source-like component that reads neutron state parameters from a MCPL-file one time. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Gregory S Tucker + \item \textbf{Origin:} European Spallation Source ERIC + \item \textbf{Date:} Sep 2024 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Source-like component that reads neutron state parameters from a MCPL-file one time. + +MCPL is short for Monte Carlo Particle List, and is a format for sharing events +between e.g. MCNP(X), Geant4 and McStas. + +When used with MPI, the file contents are shared between workers with each accessing +approximately (#events in the file) / (#MPI nodes) + +%BUGS +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & str & Name of neutron mcpl file to read. & 0 \\ +polarisationuse & & If !=0 read polarisation vectors from file. & 1 \\ +Emin & meV & Lower energy bound. Particles found in the MCPL-file below the limit are skipped. & 0 \\ +Emax & meV & Upper energy bound. Particles found in the MCPL-file above the limit are skipped. & FLT\_MAX \\ +v\_smear & 1 & Relative fraction for randomness in replayed particle velocity v *= (1 + v\_smear * randpm1()) & 0 \\ +pos\_smear & m & Maximum extent of random position for replayed particles & 0 \\ +dir\_smear & deg & Maximum deviation of random direction for replayed particles & 0 \\ +always\_smear & & Finite values force particle property smearing for all particles & 0 \\ +preload & & Load particles during INITIALIZE. On GPU preload is forced. & 0 \\ +verbose & & Finite values may cause extra output (at some point in the future) & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/misc/MCPL_input_once.comp}{Source code} for \texttt{MCPL\_input\_once.comp}. +\end{itemize} +\IfFileExists{MCPL_input_once_static.tex}{\input{MCPL_input_once_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/misc/MCPL_output.tex b/docs/manuals/mcstas/misc/MCPL_output.tex new file mode 100644 index 0000000000..ba34516758 --- /dev/null +++ b/docs/manuals/mcstas/misc/MCPL_output.tex @@ -0,0 +1,59 @@ +\section{The \texttt{MCPL\_output} McStas Component} +Detector-like component that writes neutron state parameters into an mcpl-format +binary, virtual-source neutron file. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Erik B Knudsen + \item \textbf{Origin:} DTU Physics + \item \textbf{Date:} Mar 2016 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Detector-like component that writes neutron state parameters into an mcpl-format +binary, virtual-source neutron file. + +MCPL is short for Monte Carlo Particle List, and is a new format for sharing events +between e.g. MCNP(X), Geant4 and McStas. + +When used with MPI, the component will output #MPI nodes individual MCPL files that +can be merged using the mcpltool. + +MCPL_output allows a few flags to tweak the output files: +1. If use_polarisation is unset (default) the polarisation vector will not be stored (saving space) +2. If doubleprec is unset (default) data will be stored as 32 bit floating points, effectively cutting the output file size in half. +3. Extra information may be attached to each ray in the form of a userflag, a user-defined variable wich is packed into 32 bits. If +the user variable does not fit in 32 bits the value will be truncated and likely garbage. If more than one variable is to be attached to +each neutron this must be packed into the 32 bits. + +These features are set this way to keep file sizes as manageable as possible. + +Example: MCPL_output( filename="voutput", verbose=1, userflag="flag", userflagcomment="Neutron Id" ) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & str & Name of neutron file to write. If not given, the component name will be used. & 0 \\ +weight\_mode & 1 & weight\_mode=1: record initial ray count in MCPL stat:sum entry and rescale particle weights. weight\_mode=2: classical (deprecated) mode of outputting particle weights directly. & -1 \\ +verbose & 1 & If 1) Print summary information for created MCPL file. 2) Also print summary of first 10 particles information stored in the MCPL file. \textgreater{}2) Also print information for first 10 particles as they are being stored by McStas & 0 \\ +polarisationuse & 1 & Enable storing the polarisation state of the neutron. & 0 \\ +doubleprec & 1 & Use double precision storage & 0 \\ +userflag & 1 & Extra variable to attach to each neutron. The value of this variable will be packed into a 32 bit integer. & "" \\ +userflagcomment & str & String variable to describe the userflag. If this string is empty (the default) no userflags will be stored. & "" \\ +buffermax & 1 & Maximal number of events to save ( \textless{}= MAXINT), GPU/OpenACC only & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/misc/MCPL_output.comp}{Source code} for \texttt{MCPL\_output.comp}. +\end{itemize} +\IfFileExists{MCPL_output_static.tex}{\input{MCPL_output_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/misc/MCPL_output_noacc.tex b/docs/manuals/mcstas/misc/MCPL_output_noacc.tex new file mode 100644 index 0000000000..36747c51bc --- /dev/null +++ b/docs/manuals/mcstas/misc/MCPL_output_noacc.tex @@ -0,0 +1,59 @@ +\section{The \texttt{MCPL\_output\_noacc} McStas Component} +Detector-like component that writes neutron state parameters into an mcpl-format +binary, virtual-source neutron file. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Erik B Knudsen + \item \textbf{Origin:} DTU Physics + \item \textbf{Date:} Mar 2016 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Detector-like component that writes neutron state parameters into an mcpl-format +binary, virtual-source neutron file. + +MCPL is short for Monte Carlo Particle List, and is a new format for sharing events +between e.g. MCNP(X), Geant4 and McStas. + +When used with MPI, the component will output #MPI nodes individual MCPL files that +can be merged using the mcpltool. + +MCPL_output allows a few flags to tweak the output files: +1. If use_polarisation is unset (default) the polarisation vector will not be stored (saving space) +2. If doubleprec is unset (default) data will be stored as 32 bit floating points, effectively cutting the output file size in half. +3. Extra information may be attached to each ray in the form of a userflag, a user-defined variable wich is packed into 32 bits. If +the user variable does not fit in 32 bits the value will be truncated and likely garbage. If more than one variable is to be attached to +each neutron this must be packed into the 32 bits. + +These features are set this way to keep file sizes as manageable as possible. + +%BUGS +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & str & Name of neutron file to write. If not given, the component name will be used. & 0 \\ +weight\_mode & 1 & weight\_mode=1: record initial ray count in MCPL stat:sum entry and rescale particle weights. weight\_mode=2: classical (deprecated) mode of outputting particle weights directly. & -1 \\ +verbose & 1 & If 1) Print summary information for created MCPL file. 2) Also print summary of first 10 particles information stored in the MCPL file. \textgreater{}2) Also print information for first 10 particles as they are being stored by McStas & 0 \\ +polarisationuse & 1 & Enable storing the polarisation state of the neutron. & 0 \\ +doubleprec & 1 & Use double precision storage & 0 \\ +userflag & 1 & Extra variable to attach to each neutron. The value of this variable will be packed into a 32 bit integer. & "" \\ +userflagcomment & str & String variable to describe the userflag. If this string is empty (the default) no userflags will be stored. & "" \\ +buffermax & 1 & Maximal number of events to save ( \textless{}= MAXINT), GPU/OpenACC only & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/misc/MCPL_output_noacc.comp}{Source code} for \texttt{MCPL\_output\_noacc.comp}. +\end{itemize} +\IfFileExists{MCPL_output_noacc_static.tex}{\input{MCPL_output_noacc_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/misc/Progress_bar.tex b/docs/manuals/mcstas/misc/Progress_bar.tex new file mode 100644 index 0000000000..a61c4d44bf --- /dev/null +++ b/docs/manuals/mcstas/misc/Progress_bar.tex @@ -0,0 +1,43 @@ +\section{The \texttt{Progress\_bar} McStas Component} +A simulation progress bar + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Emmanuel Farhi + \item \textbf{Origin:} ILL + \item \textbf{Date:} 2002 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An indicator of the progress of the simulation, monitoring +the Init, Trace with the achieved percentage, and the Finally section. +Intermediate savings (e.g. triggered by USR2 signal) are also shown. +This component should be positioned at the very begining of the instrument +The profile option will save the intensity and number of events for each +component It may be used to evaluate the simulation efficiency. + +Example: Progress_bar(percent=10,flag_save=1) AT (0,0,0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +profile & str & file name to save the simulation profile if set to "", it is set to the name of the instrument. & "NULL" \\ +percent & 0-100 & percentage interval between updates. Default is 10\%. & 10 \\ +flag\_save & 0|1 & flag to enable intermediate saving for all monitors & 0 \\ +minutes & min & time in minutes between updates (Overrides percent flag). & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/misc/Progress_bar.comp}{Source code} for \texttt{Progress\_bar.comp}. +\end{itemize} +\IfFileExists{Progress_bar_static.tex}{\input{Progress_bar_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/misc/Res_monitor.tex b/docs/manuals/mcstas/misc/Res_monitor.tex index 8d4b22cabe..3b196c1f52 100644 --- a/docs/manuals/mcstas/misc/Res_monitor.tex +++ b/docs/manuals/mcstas/misc/Res_monitor.tex @@ -3,7 +3,7 @@ \section{Res\_monitor: The monitor for resolution calculation} \index{Monitors!Resolution monitor|see{Samples/Resolution function}} %\component{Res\_monitor}{(System); Alan Tennant, HMI}{$x_\textrm{min}$, $x_\textrm{max}$, $y_\textrm{min}$, $y_\textrm{max}$, filename, res\_sample, buffer size}{$x_w$, $y_h$, $z_t$, options}{} -\mcdoccomp{misc/Res_monitor.parms} +%\mcdoccomp{misc/Res_monitor.parms} The component \textbf{Res\_monitor} is used for calculating the resolution function of a particular instrument with detector of the diff --git a/docs/manuals/mcstas/misc/Res_sample.tex b/docs/manuals/mcstas/misc/Res_sample.tex index 6b56047d7b..bb444b9510 100644 --- a/docs/manuals/mcstas/misc/Res_sample.tex +++ b/docs/manuals/mcstas/misc/Res_sample.tex @@ -3,7 +3,7 @@ \section{Res\_sample: A sample-like component for resolution calculation} \index{Samples!Resolution function, sample for} %\component{Res\_sample}{(System); Alan Tennant, HMI}{$r$, $r$, $h$, $r_\textrm{focus}$, $x_\textrm{target}$, $y_\textrm{target}$, $z_\textrm{target}$, $E_0$, $\Delta E$ }{$x_w$, $y_h$, $z_d$, $x_\textrm{focus}$, $y_\textrm{focus}$, $a_\textrm{v, focus}$, $a_\textrm{h, focus}$, target index}{} -\mcdoccomp{misc/Res_sample.parms} +%\mcdoccomp{misc/Res_sample.parms} The component \textbf{Res\_sample} scatters neutron rays isotropically in direction and uniformly in energy. diff --git a/docs/manuals/mcstas/misc/Shape.tex b/docs/manuals/mcstas/misc/Shape.tex new file mode 100644 index 0000000000..7a4eeb8b07 --- /dev/null +++ b/docs/manuals/mcstas/misc/Shape.tex @@ -0,0 +1,66 @@ +\section{The \texttt{Shape} McStas Component} +A geometric shape without effect on neutron, for instrument display purpose. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} E. Farhi + \item \textbf{Origin:} ILL + \item \textbf{Date:} June 23rd 2009 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An inactive geometrical shape, for drawing purposes only. +It does not propagate neutron, nor interact. +Shape: +Geometric shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using qhull/powercrust, and +viewed with geomview +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Example: Shape(radius=0.05, yheight=0.1) +Shape(geometry="socket.off") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +geometry & str & Name of an Object File Format (OFF) file for complex geometry. The OFF file may be generated from XYZ coordinates using qhull/powercrust & 0 \\ +radius & m & Outer radius of sample in (x,z) plane & 0 \\ +xwidth & m & Horiz. dimension of sample (bounding box if off file), as a width & 0 \\ +yheight & m & Vert. dimension of sample (bounding box if off file), as a height. A sphere shape is used when 0 and radius is set & 0 \\ +zdepth & m & Depth of sample (bounding box if off file) & 0 \\ +thickness & m & Thickness of hollow sample & 0 \\ +nx & 1 & x-comp of orientation vector & 0 \\ +ny & 1 & y-comp of orientation vector & 1 \\ +nz & 1 & z-comp of orientation vector & 0 \\ +center & 1 & Flag to determine if OFF object is centered on its centre of mass. & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/misc/Shape.comp}{Source code} for \texttt{Shape.comp}. + \item Geomview and Object File Format (OFF) \textless{}http|://www.geomview.org\textgreater{} + \item Powercrust/qhull \textless{}http://www.cs.utexas.edu/users/amenta/powercrust\textgreater{} +\end{itemize} +\IfFileExists{Shape_static.tex}{\input{Shape_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/misc/Shape_simple.tex b/docs/manuals/mcstas/misc/Shape_simple.tex new file mode 100644 index 0000000000..cc3e3d76e5 --- /dev/null +++ b/docs/manuals/mcstas/misc/Shape_simple.tex @@ -0,0 +1,63 @@ +\section{The \texttt{Shape\_simple} McStas Component} +A geometric shape without effect on neutron, for instrument display purpose. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} E. Farhi + \item \textbf{Origin:} ILL + \item \textbf{Date:} June 23rd 2009 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An inactive geometrical shape, for drawing purposes only. +It does not propagate neutron, nor interact. +Shape: +Geometric shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using qhull/powercrust, and +viewed with geomview +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Example: Shape(radius=0.05, yheight=0.1) +Shape(geometry="socket.off") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +geometry & str & Name of an Object File Format (OFF) file for complex geometry. The OFF file may be generated from XYZ coordinates using qhull/powercrust & 0 \\ +radius & m & Outer radius of sample in (x,z) plane & 0 \\ +xwidth & m & Horiz. dimension of sample (bounding box if off file), as a width & 0 \\ +yheight & m & Vert. dimension of sample (bounding box if off file), as a height. A sphere shape is used when 0 and radius is set & 0 \\ +zdepth & m & Depth of sample (bounding box if off file) & 0 \\ +thickness & m & Thickness of hollow sample & 0 \\ +center & 1 & Flag to determine if OFF object is centered on its centre of mass. & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/misc/Shape_simple.comp}{Source code} for \texttt{Shape\_simple.comp}. + \item Geomview and Object File Format (OFF) \textless{}http|://www.geomview.org\textgreater{} + \item Powercrust/qhull \textless{}http://www.cs.utexas.edu/users/amenta/powercrust\textgreater{} +\end{itemize} +\IfFileExists{Shape_simple_static.tex}{\input{Shape_simple_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/misc/TOFRes_sample.tex b/docs/manuals/mcstas/misc/TOFRes_sample.tex index 209ab125bf..850302ef70 100644 --- a/docs/manuals/mcstas/misc/TOFRes_sample.tex +++ b/docs/manuals/mcstas/misc/TOFRes_sample.tex @@ -4,7 +4,7 @@ \section{TOF\_Res\_sample: A sample-like component for TOF resolution calculatio \label{s:tof_res_sample} %\component{TOF\_Res\_sample}{System}{$r_\textrm{i}$, $r_\textrm{o}$, $h$, $r_\textrm{focus}$, $x_\textrm{target}$, $y_\textrm{target}$, $z_\textrm{target}$, $t_0$, $\Delta t$ }{$x_w$, $y_h$, $z_t$, $x_\textrm{focus}$, $y_\textrm{focus}$, $a_\textrm{v, focus}$, $a_\textrm{h, focus}$, target index}{} -\mcdoccomp{misc/TOFRes_sample.parms} +%\mcdoccomp{misc/TOFRes_sample.parms} The component \textbf{TOF\_Res\_sample} scatters neutron rays isotropically in position within a specified angular range. diff --git a/docs/manuals/mcstas/monitors/Brilliance_monitor.tex b/docs/manuals/mcstas/monitors/Brilliance_monitor.tex new file mode 100644 index 0000000000..4bfc1a9af7 --- /dev/null +++ b/docs/manuals/mcstas/monitors/Brilliance_monitor.tex @@ -0,0 +1,70 @@ +\section{The \texttt{Brilliance\_monitor} McStas Component} +Special "Brilliance" monitor. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Willendrup, derived from TOF\_lambda\_monitor.comp + \item \textbf{Origin:} DTU Physics + \item \textbf{Date:} May 23, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +If used in the right setting, will output "instantaneous" and "mean" brilliances in units of Neutrons/cm^2/ster/AA/s. Conditions for proper units: +
    +
  • Use a with a source of area 1x1cm +
  • The source must illuminate/focus to an area of 1x1cm a 1m distance +
  • Parametrise the Brilliance_monitor with the frequency of the source +
  • To not change the source TOF distribution, place the Brilliance monitor close to the source! +
+ +with a source of area 1x1cm illuminating/focusing to an area of 1x1cm a 1m distance, this monitor will output "instantaneous" and "mean" brilliances in units of Neutrons/cm^2/ster/AA/s + +Here is an example of the use of the component. Note how the mentioned Unit conditions are implemented in instrument code. + +COMPONENT Source = ESS_moderator_long( +l_low = lambdamin, l_high = lambdamax, dist = 1, xw = 0.01, yh = 0.01, +freq = 14, T=50, tau=287e-6, tau1=0, tau2=20e-6, +n=20, n2=5, d=0.00286, chi2=0.9, I0=6.9e11, I2=27.6e10, +branch1=0, branch2=0.5, twopulses=0, size=0.01) +AT (0, 0, 0) RELATIVE Origin + +COMPONENT BRIL = Brilliance_monitor(nlam=196,nt=401,filename="bril.sim", +t_0=0,t_1=4000,lambda_0=lambdamin, +lambda_1=lambdamax, Freq=14) +AT (0,0,0.000001) RELATIVE Source +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nlam & 1 & Number of bins in wavelength & 101 \\ +nt & 1 & Number of bins in TOF & 1001 \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +lambda\_0 & AA & Minimum wavelength detected & 0 \\ +lambda\_1 & AA & Maximum wavelength detected & 20 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +\textbf{Freq} & Hz & Source frequency. Use freq=1 for reactor source & \\ +tofcuts & 1 & Flag to generate TOF-distributions as function of wavelength & 0 \\ +toflambda & 1 & Flag to generate TOF-lambda distribution output & 0 \\ +xwidth & m & width of monitor & 0.01 \\ +yheight & m & height of monitor & 0.01 \\ +source\_dist & m & Distance from source. Beware when transporting through neutron optics! & 1 \\ +filename & string & Defines filenames for the detector images. Stored as:\textless{}br\textgreater{}Peak\_\<filename\> and Mean\_\<filename\> & 0 \\ +t\_0 & us & Minimum time & 0 \\ +t\_1 & us & Maximum time & 20000 \\ +srcarea & cm\textasciicircum{}2 & Source area & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/Brilliance_monitor.comp}{Source code} for \texttt{Brilliance\_monitor.comp}. +\end{itemize} +\IfFileExists{Brilliance_monitor_static.tex}{\input{Brilliance_monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/Cyl_monitor.tex b/docs/manuals/mcstas/monitors/Cyl_monitor.tex new file mode 100644 index 0000000000..72bf7fdd4e --- /dev/null +++ b/docs/manuals/mcstas/monitors/Cyl_monitor.tex @@ -0,0 +1,44 @@ +\section{The \texttt{Cyl\_monitor} McStas Component} +A 2D Position-sensitive monitor. The shape is cylindrical with +the axis vertical. The monitor covers the whole cylinder (360 degrees). + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} October 26, 2000 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An (n times m) pixel PSD monitor with cylinder shape, +vertical axis, centered at (0,0,0). + +Example: PSDcyl_monitor(nr=20, ny=20, filename="Output.cyl", yheight=0.2, radius=0.1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nr & 1 & Number of pixel (radial) columns & 20 \\ +filename & string & Name of file in which to store the detector image & 0 \\ +yheight & m & Height of detector & 10 \\ +radius & m & Radius of detector & 1 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +thmin & deg & Minimum angle covered/measured & -180 \\ +thmax & deg & Maximum angle covered/measured & 180 \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/Cyl_monitor.comp}{Source code} for \texttt{Cyl\_monitor.comp}. +\end{itemize} +\IfFileExists{Cyl_monitor_static.tex}{\input{Cyl_monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/Cyl_monitor_PSD.tex b/docs/manuals/mcstas/monitors/Cyl_monitor_PSD.tex new file mode 100644 index 0000000000..d12ebd952b --- /dev/null +++ b/docs/manuals/mcstas/monitors/Cyl_monitor_PSD.tex @@ -0,0 +1,45 @@ +\section{The \texttt{Cyl\_monitor\_PSD} McStas Component} +A 2D Position-sensitive monitor. The shape is cylindrical with +the axis vertical. The monitor covers the whole cylinder (360 degrees). + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} October 26, 2000 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An (n times m) pixel PSD monitor with cylinder shape, +vertical axis, centered at (0,0,0). + +Example: PSDcyl_monitor(nr=20, ny=20, filename="Output.cyl", yheight=0.2, radius=0.1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nr & 1 & Number of pixel (radial) columns & 20 \\ +filename & string & Name of file in which to store the detector image & 0 \\ +yheight & m & Height of detector & 10 \\ +radius & m & Radius of detector & 1 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +thmin & deg & Minimum angle covered/measured & -180 \\ +thmax & deg & Maximum angle covered/measured & 180 \\ +ny & 1 & Number of pixel rows & 100 \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/Cyl_monitor_PSD.comp}{Source code} for \texttt{Cyl\_monitor\_PSD.comp}. +\end{itemize} +\IfFileExists{Cyl_monitor_PSD_static.tex}{\input{Cyl_monitor_PSD_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/Cyl_monitor_TOF.tex b/docs/manuals/mcstas/monitors/Cyl_monitor_TOF.tex new file mode 100644 index 0000000000..887e4fe327 --- /dev/null +++ b/docs/manuals/mcstas/monitors/Cyl_monitor_TOF.tex @@ -0,0 +1,47 @@ +\section{The \texttt{Cyl\_monitor\_TOF} McStas Component} +A 2D Position-sensitive monitor. The shape is cylindrical with +the axis vertical. The monitor covers the whole cylinder (360 degrees). + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} October 26, 2000 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An (n times m) pixel PSD monitor with cylinder shape, +vertical axis, centered at (0,0,0). + +Example: PSDcyl_monitor(nr=20, ny=20, filename="Output.cyl", yheight=0.2, radius=0.1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nr & 1 & Number of pixel (radial) columns & 20 \\ +filename & string & Name of file in which to store the detector image & 0 \\ +yheight & m & Height of detector & 10 \\ +radius & m & Radius of detector & 1 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +thmin & deg & Minimum angle covered/measured & -180 \\ +thmax & deg & Maximum angle covered/measured & 180 \\ +nt & 1 & Number of t-bins & 100 \\ +\textbf{tmin} & s & Minimum time measured & \\ +\textbf{tmax} & s & Maximum time measured & \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/Cyl_monitor_TOF.comp}{Source code} for \texttt{Cyl\_monitor\_TOF.comp}. +\end{itemize} +\IfFileExists{Cyl_monitor_TOF_static.tex}{\input{Cyl_monitor_TOF_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/Div1D_monitor.tex b/docs/manuals/mcstas/monitors/Div1D_monitor.tex new file mode 100644 index 0000000000..30d0a5ca60 --- /dev/null +++ b/docs/manuals/mcstas/monitors/Div1D_monitor.tex @@ -0,0 +1,47 @@ +\section{The \texttt{Div1D\_monitor} McStas Component} +A 1D divergence sensitive monitor. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} KL, + \item \textbf{Origin:} Risoe + \item \textbf{Date:} Nov. 11, 1998 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A divergence sensitive monitor. The counts are distributed in +ndiv pixels along either the horizontal axis x (default) or the vertical y. + +Example: Div1D_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, ndiv=20, filename="Output.hd", maxdiv=2) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +ndiv & 1 & Number of pixel rows & 20 \\ +filename & str & Name of file in which to store the detector image & 0 \\ +xmin & m & Lower x bound of detector opening & -0.05 \\ +xmax & m & Upper x bound of detector opening & 0.05 \\ +ymin & m & Lower y bound of detector opening & -0.05 \\ +ymax & m & Upper y bound of detector opening & 0.05 \\ +xwidth & m & Width of detector. Overrides xmin,xmax. & 0 \\ +yheight & m & Height of detector. Overrides ymin,ymax. & 0 \\ +maxdiv & deg & Maximal divergence detected & 2 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +vertical & 1 & If set, measure vertical divergence instead of horizontal. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/Div1D_monitor.comp}{Source code} for \texttt{Div1D\_monitor.comp}. +\end{itemize} +\IfFileExists{Div1D_monitor_static.tex}{\input{Div1D_monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/DivLambda_monitor.tex b/docs/manuals/mcstas/monitors/DivLambda_monitor.tex new file mode 100644 index 0000000000..e26018bc19 --- /dev/null +++ b/docs/manuals/mcstas/monitors/DivLambda_monitor.tex @@ -0,0 +1,54 @@ +\section{The \texttt{DivLambda\_monitor} McStas Component} +Divergence/wavelength monitor. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 1999 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +2D detector for intensity as a function of both horizontal divergence +and wavelength. + +Example: DivLambda_monitor(nL=20, nh=20, filename="Output.div", +xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, +maxdiv_h=2, Lmin=2, Lmax=10) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nL & 1 & Number of bins in wavelength & 20 \\ +nh & 1 & Number of bins in divergence & 20 \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +filename & string & Name of file in which to store the detector image & 0 \\ +xmin & m & Lower x bound of detector opening & -0.05 \\ +xmax & m & Upper x bound of detector opening & 0.05 \\ +ymin & m & Lower y bound of detector opening & -0.05 \\ +ymax & m & Upper y bound of detector opening & 0.05 \\ +xwidth & m & Width of detector. Overrides xmin,xmax. & 0 \\ +yheight & m & Height of detector. Overrides ymin,ymax. & 0 \\ +maxdiv\_h & degrees & Maximal horizontal divergence detected & 2 \\ +\textbf{Lmin} & AA & Minimum wavelength detected & \\ +\textbf{Lmax} & AA & Maximum wavelength detected & \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +nx & 1 & & 0 \\ +ny & 1 & Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane. & 0 \\ +nz & 1 & & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/DivLambda_monitor.comp}{Source code} for \texttt{DivLambda\_monitor.comp}. +\end{itemize} +\IfFileExists{DivLambda_monitor_static.tex}{\input{DivLambda_monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/DivPos_monitor.tex b/docs/manuals/mcstas/monitors/DivPos_monitor.tex index 80c11b095f..5ccabee52d 100644 --- a/docs/manuals/mcstas/monitors/DivPos_monitor.tex +++ b/docs/manuals/mcstas/monitors/DivPos_monitor.tex @@ -1,27 +1,54 @@ -\section{DivPos\_monitor: A divergence and position sensitive monitor} -\label{s:divpos-monitor} -\index{Monitors!Divergence/position monitor} -%\component{DivPos\_monitor}{System}{$x_\textrm{min}$, $x_\textrm{max}$, $y_\textrm{min}$, $y_\textrm{max}$, $n_x$, $n_\textrm{h}$, $\eta_\textrm{h,max}$, filename}{}{} -\mcdoccomp{monitors/DivPos_monitor.parms} +\section{The \texttt{DivPos\_monitor} McStas Component} +Divergence/position monitor (acceptance diagram). -\textbf{DivPos\_monitor} is a two-dimensional monitor component, -which is sensitive to both horizontal position ($x$) and horizontal divergence -defined by $\eta_\textrm{h} = \tan^{-1}(v_x/v_z)$. -The detector window is set -by the $x$ and $y$ input coordinates. +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 1999 +\end{itemize} -The neutron counts are being histogrammed -into $n_x \times n_\textrm{h}$ pixels. The horizontal divergence range accepted is -$[-\eta_\textrm{h,max}; \eta_\textrm{h,max}]$, and the horizontal position -range is the size of the detector. +\subsection*{Description} +\begin{lstlisting} +2D detector for intensity as a function of position +and divergence, either horizontally or vertically (depending on the flag vertical). +This gives information similar to an aceptance diagram used +eg. to investigate beam profiles in neutron guides. -The output from \textbf{PSD\_monitor} is the integrated counts, $n, I, M_2$, -as well as -three two-dimensional arrays of counts: $n(x,\eta_\textrm{h}), -I(x,\eta_\textrm{h}), M_2(x,\eta_\textrm{h})$. -The arrays are written to a file and can be read e.g. by the tool -\textbf{mcplot}, see the system manual. +Example: DivPos_monitor(nh=20, ndiv=20, filename="Output.dip", +xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, maxdiv_h=2) +\end{lstlisting} -This component can be used for measuring acceptance diagrams \cite{Cussen03}. -\textbf{PSD\_monitor} can easily be changed into being sensitive -to $y$ and vertical divergence by a 90 degree rotation around the $z$-axis. +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nb & 1 & Number of bins in position. & 20 \\ +ndiv & 1 & Number of bins in divergence. & 20 \\ +filename & string & Name of file in which to store the detector image. & 0 \\ +xmin & m & Lower x bound of detector opening & -0.05 \\ +xmax & m & Upper x bound of detector opening & 0.05 \\ +ymin & m & Lower y bound of detector opening & -0.05 \\ +ymax & m & Upper y bound of detector opening & 0.05 \\ +xwidth & m & Width of detector. Overrides xmin,xmax. & 0 \\ +yheight & m & Height of detector. Overrides ymin,ymax. & 0 \\ +maxdiv & degrees & Maximal divergence detected. & 2 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state. & 0 \\ +nx & 1 & & 0 \\ +ny & 1 & Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane & 0 \\ +nz & 1 & & 1 \\ +vertical & 1 & Monitor intensity as a function of vertical divergence and position. & 0 \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/DivPos_monitor.comp}{Source code} for \texttt{DivPos\_monitor.comp}. +\end{itemize} +\IfFileExists{DivPos_monitor_static.tex}{\input{DivPos_monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/DivPos_monitor_static.tex b/docs/manuals/mcstas/monitors/DivPos_monitor_static.tex new file mode 100644 index 0000000000..613b52f8da --- /dev/null +++ b/docs/manuals/mcstas/monitors/DivPos_monitor_static.tex @@ -0,0 +1,27 @@ +\section{DivPos\_monitor: A divergence and position sensitive monitor} +\label{s:divpos-monitor} +\index{Monitors!Divergence/position monitor} +%\component{DivPos\_monitor}{System}{$x_\textrm{min}$, $x_\textrm{max}$, $y_\textrm{min}$, $y_\textrm{max}$, $n_x$, $n_\textrm{h}$, $\eta_\textrm{h,max}$, filename}{}{} +%\mcdoccomp{monitors/DivPos_monitor.parms} + +\textbf{DivPos\_monitor} is a two-dimensional monitor component, +which is sensitive to both horizontal position ($x$) and horizontal divergence +defined by $\eta_\textrm{h} = \tan^{-1}(v_x/v_z)$. +The detector window is set +by the $x$ and $y$ input coordinates. + +The neutron counts are being histogrammed +into $n_x \times n_\textrm{h}$ pixels. The horizontal divergence range accepted is +$[-\eta_\textrm{h,max}; \eta_\textrm{h,max}]$, and the horizontal position +range is the size of the detector. + +The output from \textbf{PSD\_monitor} is the integrated counts, $n, I, M_2$, +as well as +three two-dimensional arrays of counts: $n(x,\eta_\textrm{h}), +I(x,\eta_\textrm{h}), M_2(x,\eta_\textrm{h})$. +The arrays are written to a file and can be read e.g. by the tool +\textbf{mcplot}, see the system manual. + +This component can be used for measuring acceptance diagrams \cite{Cussen03}. +\textbf{PSD\_monitor} can easily be changed into being sensitive +to $y$ and vertical divergence by a 90 degree rotation around the $z$-axis. diff --git a/docs/manuals/mcstas/monitors/Divergence_monitor.tex b/docs/manuals/mcstas/monitors/Divergence_monitor.tex index 045333ac2d..d6b9a1b9fd 100644 --- a/docs/manuals/mcstas/monitors/Divergence_monitor.tex +++ b/docs/manuals/mcstas/monitors/Divergence_monitor.tex @@ -1,27 +1,53 @@ -% Emacs settings: -*-mode: latex; TeX-master: "manual.tex"; -*- +\section{The \texttt{Divergence\_monitor} McStas Component} +Horizontal+vertical divergence monitor. -\section{Divergence\_monitor: A divergence sensitive monitor} -\label{s:div-monitor} -\index{Monitors!Divergence monitor} -%\component{Divergence\_monitor}{System}{$x_\textrm{min}$, $x_\textrm{max}$, $y_\textrm{min}$, $y_\textrm{max}$, $n_\textrm{v}$, $n_\textrm{h}$, $\eta_\textrm{v,max}$, $\eta_\textrm{h,max}$, filename}{}{} -\mcdoccomp{monitors/Divergence_monitor.parms} +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} Nov. 11, 1998 +\end{itemize} -The component \textbf{Divergence\_monitor} is a two-dimensional monitor, -which resembles \textbf{PSD\_Monitor}. As for this component, -the detector window is set -by the $x$ and $y$ input coordinates. -\textbf{Divergence\_ monitor} is sensitive to the neutron divergence, -defined by -$\eta_\textrm{h} = \tan^{-1}(v_x/v_z)$ and $\eta_\textrm{v} = \tan^{-1}(v_y/v_z)$. -The neutron counts are being histogrammed -into $n_\textrm{v} \times n_\textrm{h}$ pixels. -The divergence range accepted is in the vertical direction -$[-\eta_\textrm{v,max}; \eta_\textrm{v,max}]$, and similar for the horizontal -direction. +\subsection*{Description} +\begin{lstlisting} +A divergence sensitive monitor. The counts are distributed in +(n times m) pixels. -The output from \textbf{PSD\_monitor} is the integrated counts, $n, I, M_2$, -as well as -three two-dimensional arrays of counts: $n(\eta_\textrm{v},\eta_\textrm{h}), -I(\eta_\textrm{v},\eta_\textrm{h}), M_2(\eta_\textrm{v},\eta_\textrm{h})$. -The arrays are written to a file, \verb+filename+, -and can be read e.g. by the tool \textbf{MC\_plot}, see the system manual. +Example: Divergence_monitor(nh=20, nv=20, filename="Output.pos", +xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, +maxdiv_h=2, maxdiv_v=2) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nh & 1 & Number of pixel rows & 20 \\ +nv & 1 & Number of pixel columns & 20 \\ +filename & str & Name of file in which to store the detector image text & 0 \\ +xmin & m & Lower x bound of detector opening & -0.05 \\ +xmax & m & Upper x bound of detector opening & 0.05 \\ +ymin & m & Lower y bound of detector opening & -0.05 \\ +ymax & m & Upper y bound of detector opening & 0.05 \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +xwidth & m & Width of detector. Overrides xmin, xmax & 0 \\ +yheight & m & Height of detector. Overrides ymin, ymax & 0 \\ +maxdiv\_h & degrees & Maximal vertical divergence detected & 2 \\ +maxdiv\_v & degrees & Maximal vertical divergence detected & 2 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +nx & 1 & & 0 \\ +ny & 1 & Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane & 0 \\ +nz & 1 & & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/Divergence_monitor.comp}{Source code} for \texttt{Divergence\_monitor.comp}. +\end{itemize} +\IfFileExists{Divergence_monitor_static.tex}{\input{Divergence_monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/Divergence_monitor_static.tex b/docs/manuals/mcstas/monitors/Divergence_monitor_static.tex new file mode 100644 index 0000000000..41334029ea --- /dev/null +++ b/docs/manuals/mcstas/monitors/Divergence_monitor_static.tex @@ -0,0 +1,27 @@ +% Emacs settings: -*-mode: latex; TeX-master: "manual.tex"; -*- + +\section{Divergence\_monitor: A divergence sensitive monitor} +\label{s:div-monitor} +\index{Monitors!Divergence monitor} +%\component{Divergence\_monitor}{System}{$x_\textrm{min}$, $x_\textrm{max}$, $y_\textrm{min}$, $y_\textrm{max}$, $n_\textrm{v}$, $n_\textrm{h}$, $\eta_\textrm{v,max}$, $\eta_\textrm{h,max}$, filename}{}{} +%\mcdoccomp{monitors/Divergence_monitor.parms} + +The component \textbf{Divergence\_monitor} is a two-dimensional monitor, +which resembles \textbf{PSD\_Monitor}. As for this component, +the detector window is set +by the $x$ and $y$ input coordinates. +\textbf{Divergence\_ monitor} is sensitive to the neutron divergence, +defined by +$\eta_\textrm{h} = \tan^{-1}(v_x/v_z)$ and $\eta_\textrm{v} = \tan^{-1}(v_y/v_z)$. +The neutron counts are being histogrammed +into $n_\textrm{v} \times n_\textrm{h}$ pixels. +The divergence range accepted is in the vertical direction +$[-\eta_\textrm{v,max}; \eta_\textrm{v,max}]$, and similar for the horizontal +direction. + +The output from \textbf{PSD\_monitor} is the integrated counts, $n, I, M_2$, +as well as +three two-dimensional arrays of counts: $n(\eta_\textrm{v},\eta_\textrm{h}), +I(\eta_\textrm{v},\eta_\textrm{h}), M_2(\eta_\textrm{v},\eta_\textrm{h})$. +The arrays are written to a file, \verb+filename+, +and can be read e.g. by the tool \textbf{MC\_plot}, see the system manual. diff --git a/docs/manuals/mcstas/monitors/EPSD_monitor.tex b/docs/manuals/mcstas/monitors/EPSD_monitor.tex new file mode 100644 index 0000000000..aef1da781d --- /dev/null +++ b/docs/manuals/mcstas/monitors/EPSD_monitor.tex @@ -0,0 +1,48 @@ +\section{The \texttt{EPSD\_monitor} McStas Component} +A monitor measuring neutron intensity vs. position, x, and neutron energy, E + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 16.4.00 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A monitor measuring neutron intensity vs. position, x, and neutron energy, E + +Example: EPSD_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, +Emin=1, Emax=50, nx=20, nE=20, filename="Output.poe") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nx & 1 & Number of pixel columns in scattering plane & 20 \\ +nE & 1 & Number of energy bins & 20 \\ +filename & string & Name of file in which to store the detector image & 0 \\ +xmin & m & Lower x bound of detector opening & -0.05 \\ +xmax & m & Upper x bound of detector opening & 0.05 \\ +ymin & m & Lower y bound of detector opening & -0.05 \\ +ymax & m & Upper y bound of detector opening & 0.05 \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +xwidth & m & Width of detector. Overrides xmin,xmax. & 0 \\ +yheight & m & Height of detector. Overrides ymin,ymax. & 0 \\ +\textbf{Emin} & meV & Lower bound of energy & \\ +\textbf{Emax} & meV & Upper bound of energy & \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/EPSD_monitor.comp}{Source code} for \texttt{EPSD\_monitor.comp}. +\end{itemize} +\IfFileExists{EPSD_monitor_static.tex}{\input{EPSD_monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/E_monitor.tex b/docs/manuals/mcstas/monitors/E_monitor.tex index 543e35641c..6341948117 100644 --- a/docs/manuals/mcstas/monitors/E_monitor.tex +++ b/docs/manuals/mcstas/monitors/E_monitor.tex @@ -1,16 +1,47 @@ -\section{E\_monitor: The energy-sensitive monitor} \label{s:E_monitor} -\index{Monitors!Energy monitor} -%\component{E\_monitor}{System}{$x_\textrm{min}$, $x_\textrm{max}$, $y_\textrm{ -%min}$, $y_\textrm{max}$, $n_\textrm{chan}$, $E_\textrm{min}$, $E_\textrm{max}$, -%filename}{}{} -\mcdoccomp{monitors/E_monitor.parms} +\section{The \texttt{E\_monitor} McStas Component} +Energy-sensitive monitor. -The component \textbf{E\_monitor} resembles \textbf{TOF\_monitor} -to a very large extent. Only this monitor is sensitive to -the neutron energy, which in binned in \textit{nE} bins between -$E_\textrm{min}$ and $E_\textrm{max}$ (in meV). +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen and Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} April 20, 1998 +\end{itemize} -The output parameters from \textbf{E\_monitor} are the total counts, -and a file with 1-dimensional data vs. $E$, similar to \textbf{TOF\_monitor}. +\subsection*{Description} +\begin{lstlisting} +A square single monitor that measures the energy of the incoming neutrons. +Example: E_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, +Emin=1, Emax=50, nE=20, filename="Output.nrj") +\end{lstlisting} +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nE & 1 & Number of energy channels & 20 \\ +filename & string & Name of file in which to store the detector image & 0 \\ +xmin & m & Lower x bound of detector opening & -0.05 \\ +xmax & m & Upper x bound of detector opening & 0.05 \\ +ymin & m & Lower y bound of detector opening & -0.05 \\ +ymax & m & Upper y bound of detector opening & 0.05 \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +xwidth & m & Width of detector. Overrides xmin, xmax. & 0 \\ +yheight & m & Height of detector. Overrides ymin, ymax. & 0 \\ +\textbf{Emin} & meV & Minimum energy to detect & \\ +\textbf{Emax} & meV & Maximum energy to detect & \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/E_monitor.comp}{Source code} for \texttt{E\_monitor.comp}. +\end{itemize} +\IfFileExists{E_monitor_static.tex}{\input{E_monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/E_monitor_static.tex b/docs/manuals/mcstas/monitors/E_monitor_static.tex new file mode 100644 index 0000000000..bb25c75881 --- /dev/null +++ b/docs/manuals/mcstas/monitors/E_monitor_static.tex @@ -0,0 +1,16 @@ +\section{E\_monitor: The energy-sensitive monitor} \label{s:E_monitor} +\index{Monitors!Energy monitor} +%\component{E\_monitor}{System}{$x_\textrm{min}$, $x_\textrm{max}$, $y_\textrm{ +%min}$, $y_\textrm{max}$, $n_\textrm{chan}$, $E_\textrm{min}$, $E_\textrm{max}$, +%filename}{}{} +%\mcdoccomp{monitors/E_monitor.parms} + +The component \textbf{E\_monitor} resembles \textbf{TOF\_monitor} +to a very large extent. Only this monitor is sensitive to +the neutron energy, which in binned in \textit{nE} bins between +$E_\textrm{min}$ and $E_\textrm{max}$ (in meV). + +The output parameters from \textbf{E\_monitor} are the total counts, +and a file with 1-dimensional data vs. $E$, similar to \textbf{TOF\_monitor}. + + diff --git a/docs/manuals/mcstas/monitors/Event_monitor_simple.tex b/docs/manuals/mcstas/monitors/Event_monitor_simple.tex new file mode 100644 index 0000000000..2fe275b21e --- /dev/null +++ b/docs/manuals/mcstas/monitors/Event_monitor_simple.tex @@ -0,0 +1,35 @@ +\section{The \texttt{Event\_monitor\_simple} McStas Component} +Low-key event-monitor for debugging purposes. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Willendrup + \item \textbf{Origin:} DTU + \item \textbf{Date:} Oct 3rd, 2020 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Simple, low-key event-monitor for debugging purposes. No propagation, +no MPI support. Simply prints the event list to a log file in the SAVE section. +The filename is "comp-instance".log +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nevents & 1 & Number of events to store and print & 1e6 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/Event_monitor_simple.comp}{Source code} for \texttt{Event\_monitor\_simple.comp}. +\end{itemize} +\IfFileExists{Event_monitor_simple_static.tex}{\input{Event_monitor_simple_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/Flex_monitor_1D.tex b/docs/manuals/mcstas/monitors/Flex_monitor_1D.tex new file mode 100644 index 0000000000..8e07c2dd64 --- /dev/null +++ b/docs/manuals/mcstas/monitors/Flex_monitor_1D.tex @@ -0,0 +1,43 @@ +\section{The \texttt{Flex\_monitor\_1D} McStas Component} +Flexible monitor. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Erik B Knudsen \& Peter Willendrup + \item \textbf{Origin:} DTU Physics + \item \textbf{Date:} Oct '20 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A square 1D single monitor that measures intensity (or something else) as a function of some variable or parameter. + +Example: Flex_monitor_1D(nU=20, filename="Output", ustring="x", Umin=-.1, Umax=.1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nU & 1 & Number of U channels & 20 \\ +filename & string & Name of file in which to store the detector image & 0 \\ +\textbf{Umin} & & Minimum U to detect & \\ +\textbf{Umax} & & Maximum U to detect & \\ +uid & 1 & Integer index of uservar to be monitored. Overrides ustring. & -1 \\ +ustring & string & Name of variable (user or neutron state parameter as a string) to be monitored. & "" \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +signal & string & Name of variable to be used as an additive signal to be monitored. Default is intensity. & "p" \\ +nowritefile & 1 & Flag to indicate if monitor should not save any data. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/Flex_monitor_1D.comp}{Source code} for \texttt{Flex\_monitor\_1D.comp}. +\end{itemize} +\IfFileExists{Flex_monitor_1D_static.tex}{\input{Flex_monitor_1D_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/Flex_monitor_2D.tex b/docs/manuals/mcstas/monitors/Flex_monitor_2D.tex new file mode 100644 index 0000000000..a2bc196c88 --- /dev/null +++ b/docs/manuals/mcstas/monitors/Flex_monitor_2D.tex @@ -0,0 +1,48 @@ +\section{The \texttt{Flex\_monitor\_2D} McStas Component} +Flexible monitor. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Erik B Knudsen \& Peter Willendrup + \item \textbf{Origin:} DTU Physics + \item \textbf{Date:} Oct '20 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A square 2D single monitor that measures intensity (or something else) as a function of two selectable variables or parameters. + +Example: Flex_monitor_2D(nU1=20, nU2=20, filename="Output", ustring1="x", ustring2="y", Umin1=-.1, Umax1=.1, Umin2=-.1, Umax2=.1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nU1 & 1 & Number of U1 channels & 20 \\ +nU2 & 1 & Number of U1 channels & 20 \\ +filename & string & Name of file in which to store the detector image & 0 \\ +\textbf{Umin1} & & Minimum U1 to detect & \\ +\textbf{Umax1} & & Maximum U1 to detect & \\ +uid1 & 1 & Integer index of uservar to be monitored. Overrides ustring1. & -1 \\ +ustring1 & string & Name of variable U1 (user or neutron state parameter as a string) to be monitored. & "" \\ +\textbf{Umin2} & & Minimum U1 to detect & \\ +\textbf{Umax2} & & Maximum U1 to detect & \\ +uid2 & 1 & Integer index of uservar to be monitored. Overrides ustring2. & -1 \\ +ustring2 & string & Name of variable U2 (user or neutron state parameter as a string) to be monitored. & "" \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +signal & string & Name of variable to be used as an additive signal to be monitored. Default is intensity. & "p" \\ +nowritefile & 1 & Flag to indicate if monitor should not save any data. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/Flex_monitor_2D.comp}{Source code} for \texttt{Flex\_monitor\_2D.comp}. +\end{itemize} +\IfFileExists{Flex_monitor_2D_static.tex}{\input{Flex_monitor_2D_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/Flex_monitor_3D.tex b/docs/manuals/mcstas/monitors/Flex_monitor_3D.tex new file mode 100644 index 0000000000..20c6cc5016 --- /dev/null +++ b/docs/manuals/mcstas/monitors/Flex_monitor_3D.tex @@ -0,0 +1,53 @@ +\section{The \texttt{Flex\_monitor\_3D} McStas Component} +Flexible monitor. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Erik B Knudsen \& Peter Willendrup + \item \textbf{Origin:} DTU Physics + \item \textbf{Date:} Oct '20 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A square 3D single monitor that measures intensity (or something else) as a function of two selectable variables or parameters. + +Example: Flex_monitor_3D(nU1=20, nU2=20, nU3=20, filename="Output", ustring1="x", ustring2="y", ustring1="z", Umin1=-.1, Umax1=.1, Umin2=-.1, Umax2=.1, Umin3=-.1, Umax3=.1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nU1 & 1 & Number of U1 channels & 20 \\ +nU2 & 1 & Number of U1 channels & 20 \\ +nU3 & 1 & Number of U3 channels & 20 \\ +filename & string & Name of file in which to store the detector image & 0 \\ +\textbf{Umin1} & & Minimum U1 to detect & \\ +\textbf{Umax1} & & Maximum U1 to detect & \\ +uid1 & 1 & Integer index of uservar to be monitored. Overrides ustring1. & -1 \\ +ustring1 & string & Name of variable U1 (user or neutron state parameter as a string) to be monitored. & "" \\ +\textbf{Umin2} & & Minimum U1 to detect & \\ +\textbf{Umax2} & & Maximum U1 to detect & \\ +uid2 & 1 & Integer index of uservar to be monitored. Overrides ustring2. & -1 \\ +ustring2 & string & Name of variable U2 (user or neutron state parameter as a string) to be monitored. & "" \\ +\textbf{Umin3} & & Minimum U3 to detect & \\ +\textbf{Umax3} & & Maximum U3 to detect & \\ +uid3 & 1 & Integer index of uservar to be monitored. Overrides ustring3. & -1 \\ +ustring3 & string & Name of variable U3 (user or neutron state parameter as a string) to be monitored. & "" \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +signal & string & Name of variable to be used as an additive signal to be monitored. Default is intensity. & "p" \\ +nowritefile & 1 & Flag to indicate if monitor should not save any data. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/Flex_monitor_3D.comp}{Source code} for \texttt{Flex\_monitor\_3D.comp}. +\end{itemize} +\IfFileExists{Flex_monitor_3D_static.tex}{\input{Flex_monitor_3D_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/L_monitor.tex b/docs/manuals/mcstas/monitors/L_monitor.tex index a2e5f707df..537f237ba1 100644 --- a/docs/manuals/mcstas/monitors/L_monitor.tex +++ b/docs/manuals/mcstas/monitors/L_monitor.tex @@ -1,19 +1,47 @@ -% Emacs settings: -*-mode: latex; TeX-master: "manual.tex"; -*- +\section{The \texttt{L\_monitor} McStas Component} +Wavelength-sensitive monitor. +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen and Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} April 20, 1998 +\end{itemize} -\section{L\_monitor: The wavelength sensitive monitor} -\label{s:L_monitor} -\index{Monitors!Wavelength monitor} +\subsection*{Description} +\begin{lstlisting} +A square single monitor that measures the wavelength of the incoming +neutrons. -%\component{L\_monitor}{System}{$x_\textrm{min}$, $x_\textrm{max}$, $y_\textrm{min}$, $y_\textrm{max}$, $n_\textrm{chan}$, $\lambda_\textrm{min}$, $\lambda_\textrm{max}$, filename}{}{} -\mcdoccomp{monitors/L_monitor.parms} +Example: L_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, nL=20, filename="Output.L", Lmin=2, Lmax=10) +\end{lstlisting} -The component \textbf{L\_monitor} is very similar to -\textbf{TOF\_monitor} and \textbf{E\_monitor}. -This component is just sensitive to the neutron wavelength. -The wavelength spectrum is output in a one-dimensional histogram. -between $\lambda_\textrm{min}$ and $\lambda_\textrm{max}$ (measured in \AA ). +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. -As for the two other 1-dimensional monitors, this component outputs -the total counts and a file with the histogram. +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nL & 1 & Number of wavelength channels & 20 \\ +filename & string & Name of file in which to store the detector image & 0 \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +xmin & m & Lower x bound of detector opening & -0.05 \\ +xmax & m & Upper x bound of detector opening & 0.05 \\ +ymin & m & Lower y bound of detector opening & -0.05 \\ +ymax & m & Upper y bound of detector opening & 0.05 \\ +xwidth & m & Width of detector. Overrides xmin, xmax. & 0 \\ +yheight & m & Height of detector. Overrides ymin, ymax. & 0 \\ +\textbf{Lmin} & AA & Minimum wavelength to detect & \\ +\textbf{Lmax} & AA & Maximum wavelength to detect & \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +\bottomrule +\end{longtable} +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/L_monitor.comp}{Source code} for \texttt{L\_monitor.comp}. +\end{itemize} +\IfFileExists{L_monitor_static.tex}{\input{L_monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/L_monitor_static.tex b/docs/manuals/mcstas/monitors/L_monitor_static.tex new file mode 100644 index 0000000000..03f6fc485e --- /dev/null +++ b/docs/manuals/mcstas/monitors/L_monitor_static.tex @@ -0,0 +1,19 @@ +% Emacs settings: -*-mode: latex; TeX-master: "manual.tex"; -*- + + +\section{L\_monitor: The wavelength sensitive monitor} +\label{s:L_monitor} +\index{Monitors!Wavelength monitor} + +%\component{L\_monitor}{System}{$x_\textrm{min}$, $x_\textrm{max}$, $y_\textrm{min}$, $y_\textrm{max}$, $n_\textrm{chan}$, $\lambda_\textrm{min}$, $\lambda_\textrm{max}$, filename}{}{} +%\mcdoccomp{monitors/L_monitor.parms} + +The component \textbf{L\_monitor} is very similar to +\textbf{TOF\_monitor} and \textbf{E\_monitor}. +This component is just sensitive to the neutron wavelength. +The wavelength spectrum is output in a one-dimensional histogram. +between $\lambda_\textrm{min}$ and $\lambda_\textrm{max}$ (measured in \AA ). + +As for the two other 1-dimensional monitors, this component outputs +the total counts and a file with the histogram. + diff --git a/docs/manuals/mcstas/monitors/MeanPolLambda_monitor.tex b/docs/manuals/mcstas/monitors/MeanPolLambda_monitor.tex new file mode 100644 index 0000000000..6c0a0b4596 --- /dev/null +++ b/docs/manuals/mcstas/monitors/MeanPolLambda_monitor.tex @@ -0,0 +1,47 @@ +\section{The \texttt{MeanPolLambda\_monitor} McStas Component} +Polarisation and wavelength sensitive monitor. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Christiansen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} July 2006 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A square single monitor that measures the MEAN projection of the +polarisation along a given normalized m-vector (mx, my, mz) as a +function of wavelength. + +Example: MeanPollambda_monitor(xwidth=0.1, yheight=0.1, npol=11, my=1, filename="meanpollambdaMon.data") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xwidth & m & Width of detector & 0.1 \\ +yheight & m & Height of detector & 0.1 \\ +nL & 1 & Number of bins in wavelength & 20 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +filename & string & Name of file in which to store the data & 0 \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +mx & 1 & X-component of monitor vector (can be negative) & 0 \\ +my & 1 & Y-component of monitor vector (can be negative) & 0 \\ +mz & 1 & Z-component of monitor vector (can be negative) & 0 \\ +\textbf{Lmin} & AA & Minimum wavelength detected & \\ +\textbf{Lmax} & AA & Maximum wavelength detected & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/MeanPolLambda_monitor.comp}{Source code} for \texttt{MeanPolLambda\_monitor.comp}. +\end{itemize} +\IfFileExists{MeanPolLambda_monitor_static.tex}{\input{MeanPolLambda_monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/Monitor.tex b/docs/manuals/mcstas/monitors/Monitor.tex new file mode 100644 index 0000000000..b6ec51ab56 --- /dev/null +++ b/docs/manuals/mcstas/monitors/Monitor.tex @@ -0,0 +1,42 @@ +\section{The \texttt{Monitor} McStas Component} +Simple single detector/monitor. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} October 4, 1997 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Sums neutrons (0th, 1st, and 2nd moment of p) flying through +the rectangular monitor opening. May also be used as detector. + +Example: Monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xmin & m & Lower x bound of opening & -0.05 \\ +xmax & m & Upper x bound of opening & 0.05 \\ +ymin & m & Lower y bound of opening & -0.05 \\ +ymax & m & Upper y bound of opening & 0.05 \\ +xwidth & m & Width of detector. Overrides xmin,xmax. & 0 \\ +yheight & m & Height of detector. Overrides ymin,ymax. & 0 \\ +restore\_neutron & 1 & If set, the monitor does not influence the neutron state & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/Monitor.comp}{Source code} for \texttt{Monitor.comp}. +\end{itemize} +\IfFileExists{Monitor_static.tex}{\input{Monitor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/Monitor_4PI.tex b/docs/manuals/mcstas/monitors/Monitor_4PI.tex new file mode 100644 index 0000000000..a5012c332b --- /dev/null +++ b/docs/manuals/mcstas/monitors/Monitor_4PI.tex @@ -0,0 +1,37 @@ +\section{The \texttt{Monitor\_4PI} McStas Component} +Release: McStas 1.6 + +Monitor that detects ALL non-absorbed neutrons. + +Example: Monitor\_4PI() + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann and Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} April 17, 1998 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Counts ALL neutrons that propagate this far in the instrument, regardless +of origin or direction. Mostly used for test purposes. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/Monitor_4PI.comp}{Source code} for \texttt{Monitor\_4PI.comp}. +\end{itemize} +\IfFileExists{Monitor_4PI_static.tex}{\input{Monitor_4PI_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/Monitor_nD.tex b/docs/manuals/mcstas/monitors/Monitor_nD.tex index 8c1703c53f..d206a7c709 100644 --- a/docs/manuals/mcstas/monitors/Monitor_nD.tex +++ b/docs/manuals/mcstas/monitors/Monitor_nD.tex @@ -1,368 +1,222 @@ -\section{Monitor\_nD: A general Monitor for 0D/1D/2D records} -\label{s:monitornd} -\index{Monitors!The All-in-One monitor (Monitor\_nD)} +\section{The \texttt{Monitor\_nD} McStas Component} +Release: McStas 1.6 +Version: \$Revision\$ -%\component{Monitor\_nD}{System, E. Farhi}{$x_\textrm{min}$, $x_\textrm{max}$, $y_\textrm{min}$, $y_\textrm{max}$, options}{$file$, $x_{width}, y_{height}, z_{depth}$, $bins$, $min$, $max$}{} -\mcdoccomp{monitors/Monitor_nD.parms} - -The component \textbf{Monitor\_nD} is a general Monitor that may output any -set of physical parameters regarding the passing neutrons. The -generated files are either a set of 1D signals ([Intensity] \textit{vs.} -[Variable]), or a single 2D signal ([Intensity] \textit{vs.} [Variable 1] -\textit{vs.} [Variable 1]), and possibly a simple long list of selected -physical parameters for each neutron. - -The input parameters for \textbf{Monitor\_nD} are its dimensions $x_\textrm{ - min}, x_\textrm{max}, y_\textrm{min}$, $y_\textrm{max}$ (in meters) and an \textit{ - options} string describing what to detect, and what to do with the -signals, in clear language. The $x_{width}, y_{height}, z_{depth}$ may also be used to enter dimensions. - -Eventhough the possibilities of Monitor\_nD are numerous, its usage remains as simple as possible, specially in the \verb+options+ parameter, which 'understands' normal language. -The formatting of the \textit{options} -parameter is free, as long as it contains some specific keywords, that -can be sometimes followed by values. The \textit{no} or \textit{not} option -modifier will revert next option. The \textit{all} option can also affect a -set of monitor configuration parameters (see below). - -As the usage of this component enables to monitor virtually anything, and thus the combinations of options and parameters is infinite, we shall only present the most basic configuration. The reader should refer to the on-line component help, using e.g. \verb+mcdoc Monitor_nD.comp+. - -\subsection{The Monitor\_nD geometry} - -The monitor shape can be selected among seven geometries: -\begin{enumerate} -\item{(\textit{square}) The default geometry is flat rectangular in ($xy$) - plane with dimensions $x_\textrm{min}, x_\textrm{max}, y_\textrm{min}$, - $y_\textrm{max}$, or $x_{width}, y_{height}$.} -\item{(\textit{box}) A rectangular box with dimensions $x_{width}, y_{height}, z_{depth}$.} -\item{(\textit{disk}) When choosing this geometry, the detector is a flat - disk in ($xy$) plane. The radius is then - \begin{equation} - \mbox{radius} = \max ( \mbox{abs } [ x_\textrm{min}, x_\textrm{max}, y_\textrm{ - min}, y_\textrm{max}, x_{width}/2, y_{height}/2 ] ). - \end{equation} - } -\item{(\textit{sphere}) The detector is a sphere with the same radius as - for the \textit{disk} geometry.} -\item{(\textit{cylinder}) The detector is a cylinder with revolution axis - along $y$ (vertical). The radius in ($xz$) plane is - \begin{equation} - \mbox{radius} = \max ( \mbox{abs } [ x_\textrm{min}, x_\textrm{max}, x_{width}/2 ] ), - \end{equation} - and the height along $y$ is - \begin{equation} - \mbox{height} = | y_\textrm{max} - y_\textrm{max} | \textrm{or} y_{height}. - \end{equation} - } -\item{(\textit{banana}) The same as the cylinder, but without the top/bottom caps, and on a restricted angular range. The angular range is specified using a \verb+theta+ variable limit specification in the \verb+options+.} -\item{(\textit{previous}) The detector has the shape of the previous component. This may be a surface or a volume. In this case, the neutron is detected on previous component, and there is not neutron propagation.} -\end{enumerate} - -By default, the monitor is flat, rectangular. Of course, you can choose -the orientation of the \textbf{Monitor\_nD} in the instrument description -file with the usual \texttt{ROTATED} modifier. - -For the \textit{box}, \textit{sphere} and \textit{cylinder}, the outgoing neutrons are -monitored by default, but you can choose to monitor incoming neutron -with the \textit{incoming} option. - -At last, the \textit{slit} or \textit{absorb} option will ask the component to -absorb the neutrons that do not intersect the monitor. The \textit{exclusive} option word removes neutrons which are similarly outside the monitor limits (that may be other than geometrical). - -The \textit{parallel} option keyword is of common use in the case where the \textbf{Monitor\_nD} is superposed with other components. It ensures that neutrons are detected independently of other geometrical constrains. This is generally the case when you need e.g. to place more than one monitor at the same place. - -\subsection{The neutron parameters that can be monitored} - -There are many different variables that can be monitored at the same time -and position. Some can have more than one name (e.g. \texttt{energy} or -\texttt{omega}). +This component is a general Monitor that can output 0/1/2D signals +(Intensity or signal vs. [something] and vs. [something] ...) +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailto:farhi@ill.fr"\textgreater{}Emmanuel Farhi\textless{}/a\textgreater{} + \item \textbf{Origin:} \textless{}a href="http://www.ill.fr"\textgreater{}ILL\textless{}/a\textgreater{} + \item \textbf{Date:} 14th Feb 2000. +\end{itemize} +\subsection*{Description} \begin{lstlisting} -kx ky kz k wavevector [Angs-1] ( usually axis are -vx vy vz v [m/s] x=horz., y=vert., z=on axis) -x y z [m] Distance, Position -kxy vxy xy radius [m] Radial wavevector, velocity and position +This component is a general Monitor that can output 0/1/2D signals +It can produce many 1D signals (one for any variable specified in +option list), or a single 2D output (two variables correlation). +Also, an additional 'list' of neutron events can be produced. +By default, monitor is square (in x/y plane). A disk shape is also possible +The 'cylinder' and 'banana' option will change that for a banana shape +The 'sphere' option simulates spherical detector. The 'box' is a box. +The cylinder, sphere and banana should be centered on the scattering point. +The monitored flux may be per monitor unit area, and weighted by +a lambda/lambda(2200m/s) factor to obtain standard integrated capture flux. +In normal configuration, the Monitor_nD measures the current parameters +of the neutron that is beeing detected. But a PreMonitor_nD component can +be used in order to study correlations between a neutron being detected in +a Monitor_nD place, and given parameters that are monitored elsewhere +(at PreMonitor_nD). +The monitor can also act as a 3He gas detector, taking into account the +detection efficiency. + +The 'bins' and 'limits' modifiers are to be used after each variable, +and 'auto','log' and 'abs' come before it. (eg: auto abs log hdiv bins=10 +limits=[-5 5]) When placed after all variables, these two latter modifiers +apply to the signal (e.g. intensity). Unknown keywords are ignored. +If no limits are specified for a given observable, reasonable defaults will be +applied. Note that these implicit limits are even applied in list mode. + +Implicit limits for typical variables: +(consult monitor_nd-lib.c if you don't find your variable here) +x, y, z: Derived from detection-object geometry +k: [0 10] Angs-1 +v: [0 1e6] m/s +t: [0 1] s +p: [0 FLT_MAX] in intensity-units +vx, vy: [-1000 1000] m/s +vz: [0 10000] m/s +kx, ky: [-1 1] Angs-1 +kz: [-10 10] Angs-1 +energy, omega: [0 100] meV +lambda,wavelength: [0 100] Angs +sx, sy, sz: [-1 1] in polarisation-units +angle: [-50 50] deg +divergence, vdiv, hdiv, xdiv, ydiv: [-5 5] deg +longitude, lattitude: [-180 180] deg +neutron: [0 simulaton_ncount] +id, pixel id: [0 FLT_MAX] +uservars u1,u2,u3: [-1e10 1e10] + +In the case of multiple components at the same position, the 'parallel' +keyword must be used in each instance instead of defining a GROUP. + +Possible options are +Variables to record: +kx ky kz k wavevector [Angs-1] Wavevector on x,y,z and norm +vx vy vz v [m/s] Velocity on x,y,z and norm +x y z radius [m] Distance, Position and norm +xy, yz, xz [m] Radial position in xy, yz and xz plane +kxy kyz kxz [Angs-1] Radial wavevector in xy, yz and xz plane +vxy vyz vxz [m/s] Radial velocity in xy, yz and xz plane t time [s] Time of Flight -energy omega [meV] -lambda wavelength [Angs] -p intensity flux [n/s] or [n/cm^2/s] -ncounts [1] +energy omega [meV] energy of neutron +lambda wavelength [Angs] wavelength of neutron sx sy sz [1] Spin vdiv ydiv dy [deg] vertical divergence (y) hdiv divergence xdiv [deg] horizontal divergence (x) -angle [deg] divergence from direction -theta longitude [deg] longitude (x/z) [for sphere and cylinder] -phi lattitude [deg] lattitude (y/z) [for sphere and cylinder] -\end{lstlisting} -as well as two other special variables -\begin{lstlisting} -user user1 will monitor the [Mon_Name]_Vars.UserVariable{1|2} -user2 user3 to be assigned in an other component (see below) -\end{lstlisting} - -To tell the component what you want to monitor, just add the variable -names in the \textit{options} parameter. The data will be sorted into \textit{ - bins} cells (default is 20), between some default \textit{limits}, that -can also be set by user. The \textit{auto} option will automatically -determine what limits should be used to have a good sampling of signals. +angle [deg] divergence from direction +theta longitude [deg] longitude (x/z) for sphere and cylinder +phi lattitude [deg] lattitude (y/z) for sphere and cylinder -\subsection{Important options} - -Each monitoring records the flux (sum of weights $p$) versus the -given variables, except if the \verb+signal=+ word is used in the \verb+options+. -The \textit{cm2} option will ask to normalize the flux to the monitor section surface, and the \verb+capture+ option uses the gold foil integrated 'capture' flux weightening (up to the cadmium cut-off):\index{Monitors!Capture flux} -\begin{equation} -\Phi_c = \int_0^{0.5 eV}{\frac{d\Phi}{d\lambda} \frac{\lambda}{\lambda_{2200 m/s}} d\lambda} -\end{equation} - -The \verb+auto+ option is probably the most useful one: it asks the monitor to automatically determine the best limits for each variable, in order to obtain the most significant monitored histogram. This option should preceed each variable, or be located after all variables in which case they are all affected. -On the other hand, one may manually set the limits with the \verb+limits=[min max]+ option. -If no limits are set monitor\_nd uses predefined limits that usually make sense for most neutron scattering simulations. Example: the default upper energy limit is $100$ meV, but may be changed with an options string like -\verb+options="energy limits 0 200"+. Note that the limits also apply in list mode (see below). - -The \verb+log+ and \verb+abs+ options should be positioned before each variable to specify logarithmic binning and absolute value respectively. - -The \textit{borders} option will monitor variables that are outside -the limits. These values are then accumulated on the 'borders' of the -signal. - -\subsection{The output files} - -By default, the file names will be the component name, followed by a time stamp and -automatic extensions showing what was monitored (such as -\texttt{MyMonitor.x}). You can also set the filename in \textit{options} -with the \textit{file} keyword followed by the file name that you want. The -extension will then be added if the name does not contain a dot (.). -Finally, the $filename$ parameter may also be used. - -The output files format are standard 1D or 2D McStas detector files. -The \textit{no file} option will \textit{inactivate} monitor, and make it a -single 0D monitor detecting integrated flux and counts. -The \textit{verbose} option will display the nature of the monitor, and the -names of the generated files. - -\subsubsection{The 2D output} - -When you ask the \textbf{Monitor\_nD} to monitor only two variables (e.g. -\textit{options} = "x y"), a single 2D file of intensity versus these two -correlated variables will be created. - -\subsubsection{The 1D output} - -The \textbf{Monitor\_nD} can produce a set of 1D files, one for each -monitored variable, when using 1 or more than 2 variables, or when -specifying the \textit{multiple} keyword option. - -\subsubsection{The List output} - -The \textbf{Monitor\_nD} can additionally produce a \textit{list} of variable -values for neutrons that pass into the monitor. This feature is additive -to the 1D or 2D output. By default only 1000 events will be recorded in -the file, but you can specify for instance "\textit{list} 3000 neutrons" or -"\textit{list all} neutrons". This last option may require a lot of -memory and generate huge files. Note that the limits to the measured parameters also apply in this mode. -To exemplify, a monitor\_nd instance with the option string \verb+"list all v"+ will \emph{only} record those neutrons which have a velocity below $100000$ m/s, -whereas an instance with the option string \verb+"list all vx vy vz 0 2000"+ will record all neutrons with $|v_x,v_y|<100$ m/s and $0Other options keywords are: +abs Will monitor the abs of the following variable or of the signal (if used after all variables) +auto Automatically set detector limits for one/all +all {limits|bins|auto} To set all limits or bins values or auto mode +binary {float|double} with 'source' option, saves in compact files +bins=[bins=20] Number of bins in the detector along dimension +borders To also count off-limits neutrons (X < min or X > max) +capture weight by lambda/lambda(2200m/s) capture flux +file=string Detector image file name. default is component name, plus date and variable extension. +incoming Monitor incoming beam in non flat det +limits=[min max] Lower/Upper limits for axes (see up for the variable unit) +list=[counts=1000] or all For a long file of neutron characteristics with [counts] or all events +log Will monitor the log of the following variable or of the signal (if used after all variables) +min=[min_value] Same as limits, but only sets the min or max +max=[max_value] +multiple Create multiple independant 1D monitors files +no or not Revert next option +outgoing Monitor outgoing beam (default) +parallel Use this option when the next component is at the same position (parallel components) +per cm2 Intensity will be per cm^2 (detector area). Displays beam section. +per steradian Displays beam solid angle in steradian +premonitor Will monitor neutron parameters stored previously with PreMonitor_nD. +signal=[var] Will monitor [var] instead of usual intensity +slit or absorb Absorb neutrons that are out detector +source The monitor will save neutron states +inactivate To inactivate detector (0D detector) +verbose To display additional informations +3He_pressure=[3 in bars] The 3He gas pressure in detector. 3He_pressure=0 is perfect detector (default) + +Detector shape options (specified as xwidth,yheight,zdepth or x/y/z/min/max) +box Box of size xwidth, yheight, zdepth. +cylinder To get a cylindrical monitor (diameter is xwidth or set radius, height is yheight). +banana Same as cylinder, without top/bottom, on restricted angular area; use theta variable with limits to define arc. (diameter is xwidth or set radius, height is yheight). +disk Disk flat xy monitor. diameter is xwidth. +sphere To get a spherical monitor (e.g. a 4PI) (diameter is xwidth or set radius). +square Square flat xy monitor (xwidth, yheight). +previous The monitor uses PREVIOUS component as detector surface. Or use 'geometry' parameter to specify any PLY/OFF geometry file. + +EXAMPLES: +
    +
  • MyMon = Monitor_nD(xwidth = 0.1, yheight = 0.1, zdepth = 0, +  options = "intensity per cm2 angle,limits=[-5 5] bins=10,with +  borders, file = mon1"); +will monitor neutron angle from [z] axis, between -5 +and 5 degrees, in 10 bins, into "mon1.A" output 1D file + +
  • options = "sphere theta phi outgoing" +for a sphere PSD detector (out beam) and saves into file "MyMon_[Date_ID].th_ph" + +
  • options = "banana, theta limits=[10,130], bins=120, y" +a theta/height banana detector + +
  • options = "angle radius all auto" +is a 2D monitor with automatic limits + +
  • options = "list=1000 kx ky kz energy" +records 1000 neutron event in a file + +
  • options = "multiple kx ky kz, auto abs log t, and list all neutrons" +makes 4 output 1D files and produces a complete list for all neutrons +and monitor log(abs(tof)) within automatic limits (for t) + +
  • options = "theta y, sphere, pixel min=100" +a 4pi detector which outputs an event list with pixelID from the actual +detector surface, starting from index 100. + +
+To dynamically define a number of bins, or limits: +Use in DECLARE: char op[256]; +Use in INITIALIZE: sprintf(op, "lambda limits=[%g %g], bins=%i", lmin, lmax, lbin); +Use in TRACE: Monitor_nD(... options=op ...) + +How to monitor any instrument/component variable into a Monitor_nD +Suppose you want to monitor a variable 'age' which you assign somwhere in +the instrument: COMPONENT MyMonitor = Monitor_nD( - xmin = -0.1, xmax = 0.1, - ymin = -0.1, ymax = 0.1, - options = "energy auto limits") -\end{lstlisting} -will monitor the neutron energy in a single 1D file (a kind of E\_monitor)} -\item{\texttt{options = "banana, theta limits=[10,130], bins=120, y bins=30"} \\ - is a theta/height banana detector.\index{Monitors!Banana shape}} -\item{\texttt{options = "banana, theta limits=[10,130], auto time"} \\ - is a theta/time-of-flight banana detector.} - -\item{\texttt{options="x bins=30 limits=[-0.05 0.05] ; y"} \\ - will set the monitor to look at $x$ and $y$. For $y$, default bins (20) - and limits values (monitor dimensions) are used.} - -\item{\texttt{options="x y, auto, all bins=30"} \\ - will determine itself the required limits for $x$ and $y$.} - -\item{\texttt{options="multiple x bins=30, y limits=[-0.05 0.05], all auto"} \\ -will monitor the neutron $x$ and $y$ in two 1D files.} -\item{\texttt{options="x y z kx ky kz, all auto"} \\ -will monitor each of theses variables in six 1D files.} -\item{\texttt{options="x y z kx ky kz, list all, all auto"} \\ -will monitor all theses neutron variables in one long list, one row per neutron event.} -\item{\texttt{options="multiple x y z kx ky kz, and list 2000, all auto"} \\ - will monitor all theses neutron variables in one list of 2000 events - and in six 1D files.} -\item{\texttt{options="signal=energy, x y"} \\ - is a PSD monitor recording the mean energy of the beam as a function of $x$ and $y$.\index{Monitors!Position sensitive monitor recording mean energy}} -\end{itemize} - -\subsection{Monitoring user variables} -\label{s:monnd:user} -\index{Monitors!Custom monitoring (user variables, Monitor\_nD)} - -There are two ways to monitor any quantity with Monitor\_nD. This may be e.g. the number of neutron bounces in a guide, or the wavevector and energy transfer at a sample. The only requirement is to define the \verb+user1+ (and optionally \verb+user2,user3+) variables of a given Monitor\_nD instance. - -\subsubsection{Directly setting the user variables (simple)} - -The first method uses directly the \verb+user1+ and \verb+username1+ component parameters to directly transfer the value and label, such as in the following example: -\begin{lstlisting} -TRACE -(...) -COMPONENT UserMonitor = Monitor_nD( - user1 = log(t), username1="Log(time)", - options ="auto user1") -\end{lstlisting} -The values to assign to \verb+user2+ and \verb+user3+ must be global instrument variables, or a component output variables as in \verb+user1=MC_GETPAR(some_comp, outpar)+. -Similarly, the \verb+user2,user3+ and \verb+username2,username3+ parameters may be used to control the second and third user variable, to produce eventually 2D/3D user variable correlation data and custom event lists. - -\subsubsection{Indirectly setting the user variables (only for professionals)} - -It is possible to control the user variables of a given Monitor\_nD instance anywhere in the instrument description. This method requires more coding, but has the advantage that a variable may be defined to store the result of a computation locally, and then transfer it into the UserMonitor, all fitting in an EXTEND block. - -This is performed in a 4 steps process: -\begin{enumerate} -\item Declare that you intend to monitor user variables in a Monitor\_nD instance (defined in TRACE): -\begin{lstlisting} -DECLARE -%{ (...) - %include "monitor_nd-lib" - MONND_DECLARE(UserMonitor); // will monitor custom things in UserMonitor -%} -\end{lstlisting} -\item Initialize the label of the user variable (optional): -\begin{lstlisting} -INITIALIZE -%{ - (...) - MONND_USER_TITLE(UserMonitor, 1, "Log(time)"); -%} -\end{lstlisting} -The value '1' could be '2' or '3' for the \verb+user2,user3+ variable. -\item Set the user variable value in a TRACE component EXTEND block:\index{Keyword!EXTEND} -\begin{lstlisting} -TRACE -(...) -COMPONENT blah = blah_comp(...) -EXTEND -%{ // attach a value to user1 in UserMonitor, could be much more comlex here. - MONND_USER_VALUE(UserMonitor, 1, log(t)); -%} -(...) -\end{lstlisting} -\item Tell the Monitor\_nD instance to record user variables: -\begin{lstlisting} -TRACE -(...) -COMPONENT UserMonitor = Monitor_nD(options="auto user1") -(...) -\end{lstlisting} -\end{enumerate} -Setting the user variable values may either make use of the neutron parameters (x,y,z, vx,vy,vz, t, sx,sy,sz, p), access the internal variables of the component that sets the user variables (in this example, those from the \verb+blah+ instance), access any component OUTPUT parameter \index{Keyword!OUTPUT PARAMETERS} using the \verb+MC_GETPAR+ C macro(see chapter \ref{c:kernelcalls}), or simply use a global instrument variable. Instrument parameters can not be used directly. -\index{Library!Run-time!MC\_GETPAR} - -\subsubsection{Example: Number of neutron bounces in a guide} +xwidth = 0.1, yheight = 0.1, +user1="age", username1="Age of the Captain [years]", +options="user1, auto") +AT ... -\index{Monitors!Number of neutron bounces in a guide} -In the following example, we show how the number of bounces in a polygonal guide may be monitored. Let us have a guide made of many Guide\_gravity instances. We declare a global simulation variable \verb+nbounces+, set it to 0 for each neutron entering the guide, and sum-up all bounces from each section, accessing the \verb+Gvars+ OUTPUT variable of component Guide\_gravity. Then we ask Monitor\_nD to look at that value. -\begin{lstlisting} -DECLARE -%{ - double nbounces; -%} -TRACE -(...) -COMPONENT Guide_in = Arm() AT (...) -EXTEND -%{ - nbounces = 0; -%} - -COMPONENT Guide1 = Guide_gravity(...) AT (...) RELATIVE PREVIOUS -EXTEND -%{ - if (SCATTERED) nbounces += GVars.N_reflection[0]; -%} -(... many guide instances, copy/paste and change names automatically ...) -COMPONENT COPY(Guide1) = COPY(Guide1) AT (...) RELATIVE PREVIOUS -EXTEND -%{ - if (SCATTERED) nbounces += GVars.N_reflection[0]; -%} +See also the example in PreMonitor_nD to +monitor neutron parameters cross-correlations. -// monitor nbounces -COMPONENT UserMonitor = Monitor_nD( - user1=nbounces, username1="Number of bounces", - options="auto user1") AT (...) -(...) +%BUGS +The 'auto' option for guessing optimal variable bounds should NOT be used with MPI +as each process may use different limits. \end{lstlisting} -\subsection{Monitoring neutron parameter correlations, PreMonitor\_nD} - -The first imediate usage of the Monitor\_nD component is when one requires to identify cross-correlations between some neutron parameters, e.g. position and divergence (\textit{aka} phase-space diagram). This latter monitor would be merely obtained with:\index{Monitors!Neutron parameter correlations, PreMonitor\_nD} -\begin{lstlisting} -options="x dx, auto", bins=30 -\end{lstlisting} -This example records the correlation between position and divergence of neutrons at a given instrument location. - -\component{PreMonitor\_nD}{System, E. Farhi}{comp}{}{} - -But it is also possible to search for cross-correlation between two part of the instrument simulation. One example is the acceptance phase-diagram, which shows the neutron caracteristics at the input required to reach the end of the simulation. This \emph{spatial} correlation may be revealed using the \textbf{PreMonitor\_nD} component. This latter stores the neutron parameters at a given instrument location, to be used at an other Monitor\_nD location for monitoring. - -The only parameter of \textbf{PreMonitor\_nD} is the name of the associated Monitor\_nD instance, which should use the \verb+premonitor+ option, as in the following example: -\begin{lstlisting} -COMPONENT CorrelationLocation = PreMonitor_nD(comp = CorrelationMonitor) -AT (...) - - (... e.g. a guide system ) - -COMPONENT CorrelationMonitor = Monitor_nD( - options="x dx, auto, all bins=30, premonitor") -AT (...) -\end{lstlisting} -which performs the same monitoring as the previous example, but with a spatial correlation constrain. Indeed, it records the position \textit{vs} the divergence of neutrons at the correlation location, but only if they reach the monitoring position. All usual Monitor\_nD variables may be used, except the user variables. These latter may be defined as described in section \ref{s:monnd:user} in an EXTEND block. +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +user1 & str & Variable name of USERVAR to be monitored by user1. & "" \\ +user2 & str & Variable name of USERVAR to be monitored by user2. & "" \\ +user3 & str & Variable name of USERVAR to be monitored by user3. & "" \\ +xwidth & m & Width of detector. & 0 \\ +yheight & m & Height of detector. & 0 \\ +zdepth & m & Thickness of detector (z). & 0 \\ +xmin & m & Lower x bound of opening & 0 \\ +xmax & m & Upper x bound of opening & 0 \\ +ymin & m & Lower y bound of opening & 0 \\ +ymax & m & Upper y bound of opening & 0 \\ +zmin & m & Lower z bound of opening & 0 \\ +zmax & m & Upper z bound of opening & 0 \\ +bins & 1 & Number of bins to force for all variables. Use 'bins' keyword in 'options' for heterogeneous bins & 0 \\ +min & u & Minimum range value to force for all variables. Use 'min' or 'limits' keyword in 'options' for other limits & -1e40 \\ +max & u & Maximum range value to force for all variables. Use 'max' or 'limits' keyword in 'options' for other limits & 1e40 \\ +restore\_neutron & 0|1 & If set, the monitor does not influence the neutron state. Equivalent to setting the 'parallel' option. & 0 \\ +radius & m & Radius of sphere/banana shape monitor & 0 \\ +options & str & String that specifies the configuration of the monitor. The general syntax is "[x] options..." (see \textless{}b\textgreater{}Descr.\textless{}/b\textgreater{}). & "NULL" \\ +filename & str & Output file name (overrides file=XX option). & "NULL" \\ +geometry & str & Name of an OFF file to specify a complex geometry detector & "NULL" \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +nexus\_bins & 1 & NeXus mode only: store component BIN information \textless{}br\textgreater{}(-1 disable, 0 enable for list mode monitor, 1 enable for any montor) & 0 \\ +username1 & str & Name assigned to User1 & "NULL" \\ +username2 & str & Name assigned to User2 & "NULL" \\ +username3 & str & Name assigned to User3 & "NULL" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/Monitor_nD.comp}{Source code} for \texttt{Monitor\_nD.comp}. + \item \textless{}a href="PreMonitor\_nD.html"\textgreater{}PreMonitor\_nD\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Monitor_nD_static.tex}{\input{Monitor_nD_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/Monitor_nD_noacc.tex b/docs/manuals/mcstas/monitors/Monitor_nD_noacc.tex new file mode 100644 index 0000000000..6449560e06 --- /dev/null +++ b/docs/manuals/mcstas/monitors/Monitor_nD_noacc.tex @@ -0,0 +1,222 @@ +\section{The \texttt{Monitor\_nD\_noacc} McStas Component} +Release: McStas 1.6 +Version: \$Revision\$ + +This component is a general Monitor that can output 0/1/2D signals +(Intensity or signal vs. [something] and vs. [something] ...) + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailto:farhi@ill.fr"\textgreater{}Emmanuel Farhi\textless{}/a\textgreater{} + \item \textbf{Origin:} \textless{}a href="http://www.ill.fr"\textgreater{}ILL\textless{}/a\textgreater{} + \item \textbf{Date:} 14th Feb 2000. +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This component is a general Monitor that can output 0/1/2D signals +It can produce many 1D signals (one for any variable specified in +option list), or a single 2D output (two variables correlation). +Also, an additional 'list' of neutron events can be produced. +By default, monitor is square (in x/y plane). A disk shape is also possible +The 'cylinder' and 'banana' option will change that for a banana shape +The 'sphere' option simulates spherical detector. The 'box' is a box. +The cylinder, sphere and banana should be centered on the scattering point. +The monitored flux may be per monitor unit area, and weighted by +a lambda/lambda(2200m/s) factor to obtain standard integrated capture flux. +In normal configuration, the Monitor_nD measures the current parameters +of the neutron that is beeing detected. But a PreMonitor_nD component can +be used in order to study correlations between a neutron being detected in +a Monitor_nD place, and given parameters that are monitored elsewhere +(at PreMonitor_nD). +The monitor can also act as a 3He gas detector, taking into account the +detection efficiency. + +The 'bins' and 'limits' modifiers are to be used after each variable, +and 'auto','log' and 'abs' come before it. (eg: auto abs log hdiv bins=10 +limits=[-5 5]) When placed after all variables, these two latter modifiers +apply to the signal (e.g. intensity). Unknown keywords are ignored. +If no limits are specified for a given observable, reasonable defaults will be +applied. Note that these implicit limits are even applied in list mode. + +Implicit limits for typical variables: +(consult monitor_nd-lib.c if you don't find your variable here) +x, y, z: Derived from detection-object geometry +k: [0 10] Angs-1 +v: [0 1e6] m/s +t: [0 1] s +p: [0 FLT_MAX] in intensity-units +vx, vy: [-1000 1000] m/s +vz: [0 10000] m/s +kx, ky: [-1 1] Angs-1 +kz: [-10 10] Angs-1 +energy, omega: [0 100] meV +lambda,wavelength: [0 100] Angs +sx, sy, sz: [-1 1] in polarisation-units +angle: [-50 50] deg +divergence, vdiv, hdiv, xdiv, ydiv: [-5 5] deg +longitude, lattitude: [-180 180] deg +neutron: [0 simulaton_ncount] +id, pixel id: [0 FLT_MAX] +uservars u1,u2,u3: [-1e10 1e10] + +In the case of multiple components at the same position, the 'parallel' +keyword must be used in each instance instead of defining a GROUP. + +Possible options are +Variables to record: +kx ky kz k wavevector [Angs-1] Wavevector on x,y,z and norm +vx vy vz v [m/s] Velocity on x,y,z and norm +x y z radius [m] Distance, Position and norm +xy, yz, xz [m] Radial position in xy, yz and xz plane +kxy kyz kxz [Angs-1] Radial wavevector in xy, yz and xz plane +vxy vyz vxz [m/s] Radial velocity in xy, yz and xz plane +t time [s] Time of Flight +energy omega [meV] energy of neutron +lambda wavelength [Angs] wavelength of neutron +sx sy sz [1] Spin +vdiv ydiv dy [deg] vertical divergence (y) +hdiv divergence xdiv [deg] horizontal divergence (x) +angle [deg] divergence from direction +theta longitude [deg] longitude (x/z) for sphere and cylinder +phi lattitude [deg] lattitude (y/z) for sphere and cylinder + +user user1 will monitor the [Mon_Name]_Vars.UserVariable{1|2|3} +user2 user3 to be assigned in an other component (see below) + +p intensity flux [n/s or n/cm^2/s] +ncounts n neutron [1] neutron ID, i.e current event index +pixel id [1] pixelID in histogram made of preceeding vars, e.g. 'theta y'. To set an offset PixelID use the 'min=value' keyword. Sets event mode. + +Other options keywords are: +abs Will monitor the abs of the following variable or of the signal (if used after all variables) +auto Automatically set detector limits for one/all +all {limits|bins|auto} To set all limits or bins values or auto mode +binary {float|double} with 'source' option, saves in compact files +bins=[bins=20] Number of bins in the detector along dimension +borders To also count off-limits neutrons (X < min or X > max) +capture weight by lambda/lambda(2200m/s) capture flux +file=string Detector image file name. default is component name, plus date and variable extension. +incoming Monitor incoming beam in non flat det +limits=[min max] Lower/Upper limits for axes (see up for the variable unit) +list=[counts=1000] or all For a long file of neutron characteristics with [counts] or all events +log Will monitor the log of the following variable or of the signal (if used after all variables) +min=[min_value] Same as limits, but only sets the min or max +max=[max_value] +multiple Create multiple independant 1D monitors files +no or not Revert next option +outgoing Monitor outgoing beam (default) +parallel Use this option when the next component is at the same position (parallel components) +per cm2 Intensity will be per cm^2 (detector area). Displays beam section. +per steradian Displays beam solid angle in steradian +premonitor Will monitor neutron parameters stored previously with PreMonitor_nD. +signal=[var] Will monitor [var] instead of usual intensity +slit or absorb Absorb neutrons that are out detector +source The monitor will save neutron states +inactivate To inactivate detector (0D detector) +verbose To display additional informations +3He_pressure=[3 in bars] The 3He gas pressure in detector. 3He_pressure=0 is perfect detector (default) + +Detector shape options (specified as xwidth,yheight,zdepth or x/y/z/min/max) +box Box of size xwidth, yheight, zdepth. +cylinder To get a cylindrical monitor (diameter is xwidth or set radius, height is yheight). +banana Same as cylinder, without top/bottom, on restricted angular area; use theta variable with limits to define arc. (diameter is xwidth or set radius, height is yheight). +disk Disk flat xy monitor. diameter is xwidth. +sphere To get a spherical monitor (e.g. a 4PI) (diameter is xwidth or set radius). +square Square flat xy monitor (xwidth, yheight). +previous The monitor uses PREVIOUS component as detector surface. Or use 'geometry' parameter to specify any PLY/OFF geometry file. + +EXAMPLES: +
    +
  • MyMon = Monitor_nD(xwidth = 0.1, yheight = 0.1, zdepth = 0, +  options = "intensity per cm2 angle,limits=[-5 5] bins=10,with +  borders, file = mon1"); +will monitor neutron angle from [z] axis, between -5 +and 5 degrees, in 10 bins, into "mon1.A" output 1D file + +
  • options = "sphere theta phi outgoing" +for a sphere PSD detector (out beam) and saves into file "MyMon_[Date_ID].th_ph" + +
  • options = "banana, theta limits=[10,130], bins=120, y" +a theta/height banana detector + +
  • options = "angle radius all auto" +is a 2D monitor with automatic limits + +
  • options = "list=1000 kx ky kz energy" +records 1000 neutron event in a file + +
  • options = "multiple kx ky kz, auto abs log t, and list all neutrons" +makes 4 output 1D files and produces a complete list for all neutrons +and monitor log(abs(tof)) within automatic limits (for t) + +
  • options = "theta y, sphere, pixel min=100" +a 4pi detector which outputs an event list with pixelID from the actual +detector surface, starting from index 100. + +
+To dynamically define a number of bins, or limits: +Use in DECLARE: char op[256]; +Use in INITIALIZE: sprintf(op, "lambda limits=[%g %g], bins=%i", lmin, lmax, lbin); +Use in TRACE: Monitor_nD(... options=op ...) + +How to monitor any instrument/component variable into a Monitor_nD +Suppose you want to monitor a variable 'age' which you assign somwhere in +the instrument: +COMPONENT MyMonitor = Monitor_nD( +xwidth = 0.1, yheight = 0.1, +user1="age", username1="Age of the Captain [years]", +options="user1, auto") +AT ... + +See also the example in PreMonitor_nD to +monitor neutron parameters cross-correlations. + +%BUGS +The 'auto' option for guessing optimal variable bounds should NOT be used with MPI +as each process may use different limits. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +user1 & str & Variable name of USERVAR to be monitored by user1. & "" \\ +user2 & str & Variable name of USERVAR to be monitored by user2. & "" \\ +user3 & str & Variable name of USERVAR to be monitored by user3. & "" \\ +xwidth & m & Width of detector. & 0 \\ +yheight & m & Height of detector. & 0 \\ +zdepth & m & Thickness of detector (z). & 0 \\ +xmin & m & Lower x bound of opening & 0 \\ +xmax & m & Upper x bound of opening & 0 \\ +ymin & m & Lower y bound of opening & 0 \\ +ymax & m & Upper y bound of opening & 0 \\ +zmin & m & Lower z bound of opening & 0 \\ +zmax & m & Upper z bound of opening & 0 \\ +bins & 1 & Number of bins to force for all variables. Use 'bins' keyword in 'options' for heterogeneous bins & 0 \\ +min & u & Minimum range value to force for all variables. Use 'min' or 'limits' keyword in 'options' for other limits & -1e40 \\ +max & u & Maximum range value to force for all variables. Use 'max' or 'limits' keyword in 'options' for other limits & 1e40 \\ +restore\_neutron & 0|1 & If set, the monitor does not influence the neutron state. Equivalent to setting the 'parallel' option. & 0 \\ +radius & m & Radius of sphere/banana shape monitor & 0 \\ +options & str & String that specifies the configuration of the monitor. The general syntax is "[x] options..." (see \textless{}b\textgreater{}Descr.\textless{}/b\textgreater{}). & "NULL" \\ +filename & str & Output file name (overrides file=XX option). & "NULL" \\ +geometry & str & Name of an OFF file to specify a complex geometry detector & "NULL" \\ +nowritefile & 1 & If set, monitor will skip writing to disk & 0 \\ +nexus\_bins & 1 & NeXus mode only: store component BIN information \textless{}br\textgreater{}(-1 disable, 0 enable for list mode monitor, 1 enable for any montor) & 0 \\ +username1 & str & Name assigned to User1 & "NULL" \\ +username2 & str & Name assigned to User2 & "NULL" \\ +username3 & str & Name assigned to User3 & "NULL" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/monitors/Monitor_nD_noacc.comp}{Source code} for \texttt{Monitor\_nD\_noacc.comp}. + \item \textless{}a href="PreMonitor\_nD.html"\textgreater{}PreMonitor\_nD\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Monitor_nD_noacc_static.tex}{\input{Monitor_nD_noacc_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/monitors/Monitor_nD_static.tex b/docs/manuals/mcstas/monitors/Monitor_nD_static.tex new file mode 100644 index 0000000000..3c81a1c803 --- /dev/null +++ b/docs/manuals/mcstas/monitors/Monitor_nD_static.tex @@ -0,0 +1,368 @@ +\section{Monitor\_nD: A general Monitor for 0D/1D/2D records} +\label{s:monitornd} +\index{Monitors!The All-in-One monitor (Monitor\_nD)} + +%\component{Monitor\_nD}{System, E. Farhi}{$x_\textrm{min}$, $x_\textrm{max}$, $y_\textrm{min}$, $y_\textrm{max}$, options}{$file$, $x_{width}, y_{height}, z_{depth}$, $bins$, $min$, $max$}{} +%\mcdoccomp{monitors/Monitor_nD.parms} + +The component \textbf{Monitor\_nD} is a general Monitor that may output any +set of physical parameters regarding the passing neutrons. The +generated files are either a set of 1D signals ([Intensity] \textit{vs.} +[Variable]), or a single 2D signal ([Intensity] \textit{vs.} [Variable 1] +\textit{vs.} [Variable 1]), and possibly a simple long list of selected +physical parameters for each neutron. + +The input parameters for \textbf{Monitor\_nD} are its dimensions $x_\textrm{ + min}, x_\textrm{max}, y_\textrm{min}$, $y_\textrm{max}$ (in meters) and an \textit{ + options} string describing what to detect, and what to do with the +signals, in clear language. The $x_{width}, y_{height}, z_{depth}$ may also be used to enter dimensions. + +Eventhough the possibilities of Monitor\_nD are numerous, its usage remains as simple as possible, specially in the \verb+options+ parameter, which 'understands' normal language. +The formatting of the \textit{options} +parameter is free, as long as it contains some specific keywords, that +can be sometimes followed by values. The \textit{no} or \textit{not} option +modifier will revert next option. The \textit{all} option can also affect a +set of monitor configuration parameters (see below). + +As the usage of this component enables to monitor virtually anything, and thus the combinations of options and parameters is infinite, we shall only present the most basic configuration. The reader should refer to the on-line component help, using e.g. \verb+mcdoc Monitor_nD.comp+. + +\subsection{The Monitor\_nD geometry} + +The monitor shape can be selected among seven geometries: +\begin{enumerate} +\item{(\textit{square}) The default geometry is flat rectangular in ($xy$) + plane with dimensions $x_\textrm{min}, x_\textrm{max}, y_\textrm{min}$, + $y_\textrm{max}$, or $x_{width}, y_{height}$.} +\item{(\textit{box}) A rectangular box with dimensions $x_{width}, y_{height}, z_{depth}$.} +\item{(\textit{disk}) When choosing this geometry, the detector is a flat + disk in ($xy$) plane. The radius is then + \begin{equation} + \mbox{radius} = \max ( \mbox{abs } [ x_\textrm{min}, x_\textrm{max}, y_\textrm{ + min}, y_\textrm{max}, x_{width}/2, y_{height}/2 ] ). + \end{equation} + } +\item{(\textit{sphere}) The detector is a sphere with the same radius as + for the \textit{disk} geometry.} +\item{(\textit{cylinder}) The detector is a cylinder with revolution axis + along $y$ (vertical). The radius in ($xz$) plane is + \begin{equation} + \mbox{radius} = \max ( \mbox{abs } [ x_\textrm{min}, x_\textrm{max}, x_{width}/2 ] ), + \end{equation} + and the height along $y$ is + \begin{equation} + \mbox{height} = | y_\textrm{max} - y_\textrm{max} | \textrm{or} y_{height}. + \end{equation} + } +\item{(\textit{banana}) The same as the cylinder, but without the top/bottom caps, and on a restricted angular range. The angular range is specified using a \verb+theta+ variable limit specification in the \verb+options+.} +\item{(\textit{previous}) The detector has the shape of the previous component. This may be a surface or a volume. In this case, the neutron is detected on previous component, and there is not neutron propagation.} +\end{enumerate} + +By default, the monitor is flat, rectangular. Of course, you can choose +the orientation of the \textbf{Monitor\_nD} in the instrument description +file with the usual \texttt{ROTATED} modifier. + +For the \textit{box}, \textit{sphere} and \textit{cylinder}, the outgoing neutrons are +monitored by default, but you can choose to monitor incoming neutron +with the \textit{incoming} option. + +At last, the \textit{slit} or \textit{absorb} option will ask the component to +absorb the neutrons that do not intersect the monitor. The \textit{exclusive} option word removes neutrons which are similarly outside the monitor limits (that may be other than geometrical). + +The \textit{parallel} option keyword is of common use in the case where the \textbf{Monitor\_nD} is superposed with other components. It ensures that neutrons are detected independently of other geometrical constrains. This is generally the case when you need e.g. to place more than one monitor at the same place. + +\subsection{The neutron parameters that can be monitored} + +There are many different variables that can be monitored at the same time +and position. Some can have more than one name (e.g. \texttt{energy} or +\texttt{omega}). + + +\begin{lstlisting} +kx ky kz k wavevector [Angs-1] ( usually axis are +vx vy vz v [m/s] x=horz., y=vert., z=on axis) +x y z [m] Distance, Position +kxy vxy xy radius [m] Radial wavevector, velocity and position +t time [s] Time of Flight +energy omega [meV] +lambda wavelength [Angs] +p intensity flux [n/s] or [n/cm^2/s] +ncounts [1] +sx sy sz [1] Spin +vdiv ydiv dy [deg] vertical divergence (y) +hdiv divergence xdiv [deg] horizontal divergence (x) +angle [deg] divergence from direction +theta longitude [deg] longitude (x/z) [for sphere and cylinder] +phi lattitude [deg] lattitude (y/z) [for sphere and cylinder] +\end{lstlisting} +as well as two other special variables +\begin{lstlisting} +user user1 will monitor the [Mon_Name]_Vars.UserVariable{1|2} +user2 user3 to be assigned in an other component (see below) +\end{lstlisting} + +To tell the component what you want to monitor, just add the variable +names in the \textit{options} parameter. The data will be sorted into \textit{ + bins} cells (default is 20), between some default \textit{limits}, that +can also be set by user. The \textit{auto} option will automatically +determine what limits should be used to have a good sampling of signals. + +\subsection{Important options} + +Each monitoring records the flux (sum of weights $p$) versus the +given variables, except if the \verb+signal=+ word is used in the \verb+options+. +The \textit{cm2} option will ask to normalize the flux to the monitor section surface, and the \verb+capture+ option uses the gold foil integrated 'capture' flux weightening (up to the cadmium cut-off):\index{Monitors!Capture flux} +\begin{equation} +\Phi_c = \int_0^{0.5 eV}{\frac{d\Phi}{d\lambda} \frac{\lambda}{\lambda_{2200 m/s}} d\lambda} +\end{equation} + +The \verb+auto+ option is probably the most useful one: it asks the monitor to automatically determine the best limits for each variable, in order to obtain the most significant monitored histogram. This option should preceed each variable, or be located after all variables in which case they are all affected. +On the other hand, one may manually set the limits with the \verb+limits=[min max]+ option. +If no limits are set monitor\_nd uses predefined limits that usually make sense for most neutron scattering simulations. Example: the default upper energy limit is $100$ meV, but may be changed with an options string like +\verb+options="energy limits 0 200"+. Note that the limits also apply in list mode (see below). + +The \verb+log+ and \verb+abs+ options should be positioned before each variable to specify logarithmic binning and absolute value respectively. + +The \textit{borders} option will monitor variables that are outside +the limits. These values are then accumulated on the 'borders' of the +signal. + +\subsection{The output files} + +By default, the file names will be the component name, followed by a time stamp and +automatic extensions showing what was monitored (such as +\texttt{MyMonitor.x}). You can also set the filename in \textit{options} +with the \textit{file} keyword followed by the file name that you want. The +extension will then be added if the name does not contain a dot (.). +Finally, the $filename$ parameter may also be used. + +The output files format are standard 1D or 2D McStas detector files. +The \textit{no file} option will \textit{inactivate} monitor, and make it a +single 0D monitor detecting integrated flux and counts. +The \textit{verbose} option will display the nature of the monitor, and the +names of the generated files. + +\subsubsection{The 2D output} + +When you ask the \textbf{Monitor\_nD} to monitor only two variables (e.g. +\textit{options} = "x y"), a single 2D file of intensity versus these two +correlated variables will be created. + +\subsubsection{The 1D output} + +The \textbf{Monitor\_nD} can produce a set of 1D files, one for each +monitored variable, when using 1 or more than 2 variables, or when +specifying the \textit{multiple} keyword option. + +\subsubsection{The List output} + +The \textbf{Monitor\_nD} can additionally produce a \textit{list} of variable +values for neutrons that pass into the monitor. This feature is additive +to the 1D or 2D output. By default only 1000 events will be recorded in +the file, but you can specify for instance "\textit{list} 3000 neutrons" or +"\textit{list all} neutrons". This last option may require a lot of +memory and generate huge files. Note that the limits to the measured parameters also apply in this mode. +To exemplify, a monitor\_nd instance with the option string \verb+"list all v"+ will \emph{only} record those neutrons which have a velocity below $100000$ m/s, +whereas an instance with the option string \verb+"list all vx vy vz 0 2000"+ will record all neutrons with $|v_x,v_y|<100$ m/s and $0 generates dummy.c +gfortran -c subs.f -> generates subs.f +gcc -o runme.out dummy.c subs.o -lm -lgfortran -> generates runme.out + +Note that this requires a fortran compiler (here gfortran) and gcc. + +%BUGS +None known bugs so far. But surely this will change... +Caveat: when writing the header for the output wssa file, the number of histories and tracks are assumed to be that of the +input MNCP run. This is generally not the case, due to losses in the McStas simulation step. +In case of losses any subsequel MCNP run based on the McStas output, can be confused by inconsistency between +header and file content. To resolve, either ensure that NPS is lower than the actual number of events in the McStas output. +Or hardcode values of nhis & ntrk in either subs.f or Virtual_mcnp_ss_output.comp. + +EXAMPLE of usage: +first a MCNP simulation is run +and at a relevant surface, a Source Surface Write card is given (e.g. for MCNP surface #1, add the line: +SSW 1 +to the end of the input file. +By this a ".w" file is produced, which then serves as input to the McStas simulation. +Present version: rename *.w to rssa, and make sure to put it in the dir from which McStas is run +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +file & str & Name of the MCNP SSW neutron input file. Not active: Name assumed to be 'rssa' & "rssa" \\ +verbose & 1 & Toggles debugging info on/off & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/obsolete/Virtual_mcnp_ss_input.comp}{Source code} for \texttt{Virtual\_mcnp\_ss\_input.comp}. + \item \textless{}a href="http://mcnp-green.lanl.gov/index.html"\textgreater{}MCNP\textless{}/a\textgreater{} + \item MCNP -- A General Monte Carlo N-Particle Transport Code, Version 5, Volume II: User's Guide, p177 +\end{itemize} +\IfFileExists{Virtual_mcnp_ss_input_static.tex}{\input{Virtual_mcnp_ss_input_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/obsolete/Virtual_mcnp_ss_output.tex b/docs/manuals/mcstas/obsolete/Virtual_mcnp_ss_output.tex new file mode 100644 index 0000000000..1bbceb41ae --- /dev/null +++ b/docs/manuals/mcstas/obsolete/Virtual_mcnp_ss_output.tex @@ -0,0 +1,73 @@ +\section{The \texttt{Virtual\_mcnp\_ss\_output} McStas Component} +This component uses a Source Surface type file of recorded neutrons from the +reactor monte carlo code MCNP as a source of particles. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailto:esbe@dtu.dk"\textgreater{}Esben Klinkby\textless{}/a\textgreater{} and \textless{}a href="mailto:pkwi@dtu.dk"\textgreater{}Peter Willendrup\textless{}/a\textgreater{} + \item \textbf{Origin:} \textless{}a href="http://www.risoe.dtu.dk/"\textgreater{}DTU\textless{}/a\textgreater{} + \item \textbf{Date:} January, 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This component draws neutron events from a Source Surface file created using the +MCNP Monte Carlo code and converts them to make them suitable for a McStas simulation + +Note that axes orientation may be different between MCNP and McStas! +Note also that the conversion of between McStas and MCNP units and parameters +is done automatically by this component - but the user must ensure that +geometry description matches between the two Monte Carlo codes. + +The verbose mode is highly recommended as it displays lots of useful informations. + +This interface uses the MCNP Source Surface Read/Write format (SSW/SSR). +Infomation transfer from(to) SSW files proceeds via a set of Fortran modules +and subroutines collected in "subs.f" +For succesful compilation, it is required that these subroutines are compiled +and linked to the instrument file: + +mcstas dummy.instr -> generates dummy.c +gfortran -c subs.f -> generates subs.f +gcc -o runme.out dummy.c subs.o -lm -lgfortran -> generates runme.out + +Note that this requires a fortran compiler (here gfortran) and gcc. + +%BUGS +None known bugs so far. But surely this will change... +Caveat: when writing the header for the output wssa file, the number of histories and tracks are assumed to be that of the +input MNCP run. This is generally not the case, due to losses in the McStas simulation step. +In case of losses any subsequel MCNP run based on the McStas output, can be confused by inconsistency between +header and file content. To resolve, either ensure that NPS is lower than the actual number of events in the McStas output. +Or hardcode values of nhis & ntrk in either subs.f or Virtual_mcnp_ss_output.comp. + +EXAMPLE of usage: +first a MCNP simulation is run +and at a relevant surface, a Source Surface Write card is given (e.g. for MCNP surface #1, add the line: +SSW 1 +to the end of the input file. +By this a ".w" file is produced, which then serves as input to the McStas simulation. +Present version: rename *.w to rssa, and make sure to put it in the dir from which McStas is run (or use symbolic links) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +file & str & Name of the MCNP SSW neutron input file. Not active: Name assumed to be 'rssa' & "rssa" \\ +verbose & 1 & Toggles debugging info on/off & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/obsolete/Virtual_mcnp_ss_output.comp}{Source code} for \texttt{Virtual\_mcnp\_ss\_output.comp}. + \item \textless{}a href="http://mcnp-green.lanl.gov/index.html"\textgreater{}MCNP\textless{}/a\textgreater{} + \item MCNP -- A General Monte Carlo N-Particle Transport Code, Version 5, Volume II: User's Guide, p177 +\end{itemize} +\IfFileExists{Virtual_mcnp_ss_output_static.tex}{\input{Virtual_mcnp_ss_output_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/obsolete/Virtual_output.tex b/docs/manuals/mcstas/obsolete/Virtual_output.tex new file mode 100644 index 0000000000..c9f2bc132c --- /dev/null +++ b/docs/manuals/mcstas/obsolete/Virtual_output.tex @@ -0,0 +1,63 @@ +\section{The \texttt{Virtual\_output} McStas Component} +Detector-like component that writes neutron state parameters into an ascci-format +'virtual source' neutron file. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailto:farhi@ill.fr"\textgreater{}E. Farhi\textless{}/a\textgreater{} + \item \textbf{Origin:} \textless{}a href="http://www.ill.fr"\textgreater{}ILL\textless{}/a\textgreater{} + \item \textbf{Date:} Dec 17th, 2002 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Detector-like component writing neutron state parameters to a +virtual source neutron filename. The component geometry is the full +plane, and saves the neutron state as it exits from the previous +component. + +It is particularly useful to generate a virtual source at a point that few +neutron reach. A long simulation will then only be performed once, to create +the upstream 'source' file. Further simulations are much faster if they start +from this low flux position with the 'source' filename. + +The output file format is: +text column formatted with lines containing 11 values in the order: +p x y z vx vy vz t sx sy sz stored into about 83 bytes/n. + +Beware the size of generated files ! When saving all events (bufsize=0) the +required memory has been optimized and remains very small. On the other hand +using large bufsize values (not recommended) requires huge storage memory. +Moreover, using the 'bufsize' parameter will often lead to wrong intensities. +Both methods will generate huge files. + +A Vitess file may be obtained from the 'Vitess_output' component or from a +Vitess simulation (104 bytes per neutron) and read with Vitess_input. + +Example: Virtual_output(filename="MySource.dat") +will generate a 9 Mo text file for 1e5 events stored. + +%BUGS +Using bufsize non-zero may generate a virtual source with wrong intensity. This +component works with MPI (parallel execution mode). +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & str & Name of neutron file to write. Default is standard output [string]. If not given, a unique name will be used. & 0 \\ +bufsize & 1 & Size of neutron output buffer default is 0, i.e. save all - recommended. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/obsolete/Virtual_output.comp}{Source code} for \texttt{Virtual\_output.comp}. +\end{itemize} +\IfFileExists{Virtual_output_static.tex}{\input{Virtual_output_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/obsolete/Virtual_tripoli4_input.tex b/docs/manuals/mcstas/obsolete/Virtual_tripoli4_input.tex new file mode 100644 index 0000000000..244259baa7 --- /dev/null +++ b/docs/manuals/mcstas/obsolete/Virtual_tripoli4_input.tex @@ -0,0 +1,79 @@ +\section{The \texttt{Virtual\_tripoli4\_input} McStas Component} +This component reads a file of recorded neutrons from the reactor Monte Carlo +code TRIPOLI4.4 as a source of particles. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailto:guillaume.campioni@cea.fr"\textgreater{}Guillaume Campioni\textless{}/a\textgreater{} + \item \textbf{Origin:} \textless{}a href="http://www.serma.cea.fr/"\textgreater{}SERMA\textless{}/a\textgreater{} + \item \textbf{Date:} Sep 28th, 2001 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This component generates neutron events from a file created using the +TRIPOLI4 Monte Carlo code for nuclear reactors (as MCNP). It is used to +calculate flux exiting from hot or cold neutron sources. +Neutron position and velocity is set from the file. The neutron time is +left at zero. +Storage files from TRIPOLI4.4 contain several batches of particules, all +of them having the same statictical weight. + +Note that axes orientation may be different between TRIPOLI4.4 and McStas. +The component has the ability to center and orient the neutron beam to the Z-axis. +It also changes the coordinate system from the Tripoli frame to the McStas one. +The verbose mode is highly recommended as it displays lots of useful informations, +including the absolute intensity normalisation factor. All neutron fluxes in the +instrument should be multiplied by this factor. Such a renormalization is done +when 'autocenter' contains the word 'rescale'. +The source total intensity is 1.054e18 for LLB/Saclay (14 MW) and 4.28e18 for +ILL/Grenoble (58 MW). + +Format of TRIPOLI4.4 event files is : + +NEUTRON energy position_X position_Y position_Z dir_X dir_Y dir_Z weight + +energy is in Mega eV +positions are in cm and the direction vector is normalized to 1. + +%BUGS +We recommend NOT to use parallel execution (MPI) with this component. If you +need to, set parameter 'smooth=1'. + +EXAMPLE: +To create a 'source' from a Tripoli4 simulation event file for the ILL: +COMPONENT source = Virtual_tripoli4_input( +filename = "ILL_SFH.dat", intensity=4.28e18, +verbose = 1, autocenter="translate rotate rescale") +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & str & Name of the Tripoli4.4 neutron input file. Empty string "" unactivates component & 0 \\ +autocenter & str & String which may contain following keywords. "translate" or "center" to center the beam area AT (0,0,0) "rotate" or "orient" to center the beam velocity along Z "rescale" to adapt intensity to abs. units. Other words are ignored. & 0 \\ +repeat\_count & 1 & Number of times the source must be generated. 0 unactivates the component & 1 \\ +verbose & 0|1 & Displays additional informations if set to 1 & 0 \\ +intensity & n/s & Initial total Source integrated intensity & 1 \\ +T4\_ANALYSE & 1 & Number of neutron events to read for file pre-analysis. Use 0 to analyze them all. & 10000 \\ +radius & m & In the case the Tripoli4 batch file is a point, you may specify a disk emission area for the source. & 0 \\ +T4\_ANALYSE\_EMIN & meV & Minimal energy to use for file pre-analysis & 0 \\ +T4\_ANALYSE\_EMAX & meV & Maximal energy to use for file pre-analysis & 0 \\ +smooth & 0/1 & Smooth sparsed event files for file repetitions. & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/obsolete/Virtual_tripoli4_input.comp}{Source code} for \texttt{Virtual\_tripoli4\_input.comp}. + \item \textless{}a href="http://www.nea.fr/html/dbprog/tripoli-abs.html"\textgreater{}Tripoli\textless{}/a\textgreater{} + \item Virtual\_tripoli4\_output + \item CAMPIONI Guillaume, Etude et Modelisation des Sources Froides de Neutrons, These de Doctorat, CEA Saclay/UJF (2004) +\end{itemize} +\IfFileExists{Virtual_tripoli4_input_static.tex}{\input{Virtual_tripoli4_input_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/obsolete/Virtual_tripoli4_output.tex b/docs/manuals/mcstas/obsolete/Virtual_tripoli4_output.tex new file mode 100644 index 0000000000..2daf90ef4d --- /dev/null +++ b/docs/manuals/mcstas/obsolete/Virtual_tripoli4_output.tex @@ -0,0 +1,57 @@ +\section{The \texttt{Virtual\_tripoli4\_output} McStas Component} +Detector-like component that writes neutron state parameters into a +'virtual source' neutron file when neutrons come from the source : +Virtual\_tripoli4\_input.comp + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailtoguillaume.campioni@cea.fr"\textgreater{}Guillaume Campioni\textless{}/a\textgreater{} + \item \textbf{Origin:} \textless{}a href="http://www.cea-llb.fr"\textgreater{}LLB\textless{}/a\textgreater{} + \item \textbf{Date:} Sep 28th, 2001 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Detector-like component writing neutron state parameters to a +virtual source neutron file when neutron are coming from a +Virtual_tripoli4_input.comp. +The component geometry is the full plane, and saves the neutron state as +it exits from the previous component. +Format is the one used by TRIPOLI4.4 stock files : + +NEUTRON energy position_X position_Y position_Z dir_X dir_Y dir_Z weight + +energy is in [Mega eV] +positions are in [cm] and the direction vector is normalized to 1. + +%BUGS +This component will NOT work with parallel execution (MPI/GPU). + +EXAMPLE: +To create a file collecting all neutron states with TRIPOLI4 format +COMPONENT T4output = Virtual_tripoli4_output( +filename = "exit_guide_result.dat", batch = 1 ) +at the position where will be the Virtual_tripoli4_input when reading the file. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & str & Name of the Tripoli4 neutron output file, & 0 \\ +batch & 1 & Index of the Tripoli batch to generate, when no & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/obsolete/Virtual_tripoli4_output.comp}{Source code} for \texttt{Virtual\_tripoli4\_output.comp}. + \item \textless{}a href="http://www.nea.fr/html/dbprog/tripoli-abs.html"\textgreater{}Tripoli\textless{}/a\textgreater{} + \item Virtual\_tripoli4\_input +\end{itemize} +\IfFileExists{Virtual_tripoli4_output_static.tex}{\input{Virtual_tripoli4_output_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/obsolete/Vitess_input.tex b/docs/manuals/mcstas/obsolete/Vitess_input.tex new file mode 100644 index 0000000000..c2217c9496 --- /dev/null +++ b/docs/manuals/mcstas/obsolete/Vitess_input.tex @@ -0,0 +1,42 @@ +\section{The \texttt{Vitess\_input} McStas Component} +Read neutron state parameters from VITESS neutron filename. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe/ILL + \item \textbf{Date:} June 6, 2000 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Source-like component reading neutron state parameters from a +VITESS neutron filename. Used to interface McStas components or +simulations into VITESS. Each neutron is 104 bytes. + +Example: Vitess_input(filename="MySource.vit", bufsize = 10000, repeat_count = 2) + +%BUGS +We recommend NOT to use parallel execution (MPI) with this component. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & string & Filename of neutron file to read. Default (NULL) is standard input. Empty string "" unactivates component & 0 \\ +bufsize & records & Size of neutron input buffer & 10000 \\ +repeat\_count & 1 & Number of times to repeat each neutron read & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/obsolete/Vitess_input.comp}{Source code} for \texttt{Vitess\_input.comp}. +\end{itemize} +\IfFileExists{Vitess_input_static.tex}{\input{Vitess_input_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/obsolete/Vitess_output.tex b/docs/manuals/mcstas/obsolete/Vitess_output.tex new file mode 100644 index 0000000000..fb73b24aae --- /dev/null +++ b/docs/manuals/mcstas/obsolete/Vitess_output.tex @@ -0,0 +1,47 @@ +\section{The \texttt{Vitess\_output} McStas Component} +Write neutron state parameters to VITESS neutron filename. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe/ILL + \item \textbf{Date:} June 6, 2000 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Detector-like component writing neutron state parameters to a +VITESS neutron filename. Used to interface McStas components or +simulations into VITESS. Each neutron is 104 bytes. + +Note that when standard output is used, as is the default, no +monitors or other components that produce terminal output must be +used, or the neutron output from this component will become +corrupted. + +Example: Vitess_output(filename="MySource.vit", bufsize = 10000, progress = 1) + +%BUGS +This component will NOT work with parallel execution (MPI). +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & string & Filename of neutron file to write. Default is standard output & 0 \\ +bufsize & records & Size of neutron output buffer & 10000 \\ +progress & flag & If not zero, output dots as progress indicator & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/obsolete/Vitess_output.comp}{Source code} for \texttt{Vitess\_output.comp}. +\end{itemize} +\IfFileExists{Vitess_output_static.tex}{\input{Vitess_output_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Absorber.tex b/docs/manuals/mcstas/optics/Absorber.tex new file mode 100644 index 0000000000..07b54117d4 --- /dev/null +++ b/docs/manuals/mcstas/optics/Absorber.tex @@ -0,0 +1,40 @@ +\section{The \texttt{Absorber} McStas Component} +Box-shaped absorbing slab. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Willendrup + \item \textbf{Origin:} Risoe + \item \textbf{Date:} November 2008 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Infinitely absorbing slab of material. + +Example: Absorber(xmin=-0.01, xmax=0.01, ymin=-0.05, ymax=0.05, zmin=-0.2, zmax=0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xmin & m & Lower x bound & 0 \\ +xmax & m & Upper x bound & 0 \\ +ymin & m & Lower y bound & 0 \\ +ymax & m & Upper y bound & 0 \\ +zmin & m & Lower z bound & 0 \\ +zmax & m & Upper z bound & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Absorber.comp}{Source code} for \texttt{Absorber.comp}. +\end{itemize} +\IfFileExists{Absorber_static.tex}{\input{Absorber_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Arm.tex b/docs/manuals/mcstas/optics/Arm.tex index b35ca632d9..a37b4250f1 100644 --- a/docs/manuals/mcstas/optics/Arm.tex +++ b/docs/manuals/mcstas/optics/Arm.tex @@ -1,17 +1,35 @@ -\section{Arm: The generic component} -\label{explain:arm} -\component{Arm}{System}{(none)}{(none)}{} -\index{Optics!Point in space (Arm, Optical bench)} +\section{The \texttt{Arm} McStas Component} +Arm/optical bench -The component \textbf{Arm} is empty; is resembles an optical bench -and has no effect on the neutron ray. -The purpose of this component is only to provide a standard -means of defining a local coordinate system within the instrument definition. -Other components may then be -positioned relative to the \textbf{Arm} component -using the \MCS meta-language. -The use of \textrm{Arm} components in the instrument definitions -is not required but is recommended for clarity. -\textbf{Arm} has no input parameters. +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann and Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} September 1997 +\end{itemize} -The first Arm instance in an instrument definition may be changed into a \verb+Progress_bar+ component in order to display on the fly the simulation progress, and possibly save intermediate results. +\subsection*{Description} +\begin{lstlisting} +An arm does not actually do anything, it is just there to set +up a new coordinate system. + +Example: Arm() +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Arm.comp}{Source code} for \texttt{Arm.comp}. +\end{itemize} +\IfFileExists{Arm_static.tex}{\input{Arm_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Arm_static.tex b/docs/manuals/mcstas/optics/Arm_static.tex new file mode 100644 index 0000000000..b35ca632d9 --- /dev/null +++ b/docs/manuals/mcstas/optics/Arm_static.tex @@ -0,0 +1,17 @@ +\section{Arm: The generic component} +\label{explain:arm} +\component{Arm}{System}{(none)}{(none)}{} +\index{Optics!Point in space (Arm, Optical bench)} + +The component \textbf{Arm} is empty; is resembles an optical bench +and has no effect on the neutron ray. +The purpose of this component is only to provide a standard +means of defining a local coordinate system within the instrument definition. +Other components may then be +positioned relative to the \textbf{Arm} component +using the \MCS meta-language. +The use of \textrm{Arm} components in the instrument definitions +is not required but is recommended for clarity. +\textbf{Arm} has no input parameters. + +The first Arm instance in an instrument definition may be changed into a \verb+Progress_bar+ component in order to display on the fly the simulation progress, and possibly save intermediate results. diff --git a/docs/manuals/mcstas/optics/Beamstop.tex b/docs/manuals/mcstas/optics/Beamstop.tex index 3675db74c4..668f099d52 100644 --- a/docs/manuals/mcstas/optics/Beamstop.tex +++ b/docs/manuals/mcstas/optics/Beamstop.tex @@ -1,42 +1,45 @@ -\section{Beamstop: A neutron absorbing area} -\label{beamstop} -\index{Optics!Beam stop} +\section{The \texttt{Beamstop} McStas Component} +Rectangular/circular beam stop. -%\component{Beamstop}{System}{$x_{min}$, $x_{max}$, $y_{min}$, -%$y_{max}$}{$r$}{} -\mcdoccomp{optics/Beamstop.parms} +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} January 2000 +\end{itemize} -The component \textbf{Beamstop} can be seen as the reverse of -the \textbf{Slit} component. -It sets up an area at the $z=0$ plane, and propagates the neutrons -onto this plane (by the kernel call PROP\_Z0). -Neutrons within this area are ABSORB'ed, -while all other neutrons are unaffected. +\subsection*{Description} +\begin{lstlisting} +A simple rectangular or circular beam stop. +Infinitely thin and infinitely absorbing. +The beam stop is by default rectangular. You may either +specify the radius (circular shape), or the rectangular bounds. -By using this component, some neutrons contributing to the background -in a real experiment will be neglected. -These are the ones that scatter off the side -of the beamstop, or penetrates the absorbing material. -Further, the holder of the beamstop is not simulated. +Example: Beamstop(xmin=-0.05, xmax=0.05, ymin=-0.05, ymax=0.05) +Beamstop(radius=0.1) +\end{lstlisting} -\textbf{Beamstop} can be either circular or rectangular. -The input parameters of \textbf{Beamstop} are the four coordinates, -$(x_\textrm{min}, x_\textrm{max}, y_\textrm{min}, y_\textrm{max})$ -defining the opening of a rectangle, or the radius $r$ of -a circle, depending on which parameters are specified. +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. -If the "direct beam" (e.g. after a monochromator or sample) should not be -simulated, it is possible to emulate an ideal beamstop -so that only the scattered beam is left; -without the use of \textbf{Beamstop}: -This method is useful for instance in the case where only neutrons -scattered from a sample are of interest. -The example below removes the direct beam and -any background signal from other parts of the instrument -\begin{lstlisting} -COMPONENT MySample=V_sample(...) AT (...) -EXTEND -%{ - if (!SCATTERED) ABSORB; -%} -\end{lstlisting} +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xmin & m & Lower x bound & -0.05 \\ +xmax & m & Upper x bound & 0.05 \\ +ymin & m & Lower y bound & -0.05 \\ +ymax & m & Upper y bound & 0.05 \\ +xwidth & m & Width of beamstop (x). Overrides xmin, xmax. & 0 \\ +yheight & m & Height of beamstop (y). Overrides ymin, ymax. & 0 \\ +radius & m & radius of the beam stop in the z=0 plane, centered at Origo & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Beamstop.comp}{Source code} for \texttt{Beamstop.comp}. +\end{itemize} +\IfFileExists{Beamstop_static.tex}{\input{Beamstop_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Beamstop_static.tex b/docs/manuals/mcstas/optics/Beamstop_static.tex new file mode 100644 index 0000000000..639a25eaea --- /dev/null +++ b/docs/manuals/mcstas/optics/Beamstop_static.tex @@ -0,0 +1,42 @@ +\section{Beamstop: A neutron absorbing area} +\label{beamstop} +\index{Optics!Beam stop} + +%\component{Beamstop}{System}{$x_{min}$, $x_{max}$, $y_{min}$, +%$y_{max}$}{$r$}{} +%\mcdoccomp{optics/Beamstop.parms} + +The component \textbf{Beamstop} can be seen as the reverse of +the \textbf{Slit} component. +It sets up an area at the $z=0$ plane, and propagates the neutrons +onto this plane (by the kernel call PROP\_Z0). +Neutrons within this area are ABSORB'ed, +while all other neutrons are unaffected. + +By using this component, some neutrons contributing to the background +in a real experiment will be neglected. +These are the ones that scatter off the side +of the beamstop, or penetrates the absorbing material. +Further, the holder of the beamstop is not simulated. + +\textbf{Beamstop} can be either circular or rectangular. +The input parameters of \textbf{Beamstop} are the four coordinates, +$(x_\textrm{min}, x_\textrm{max}, y_\textrm{min}, y_\textrm{max})$ +defining the opening of a rectangle, or the radius $r$ of +a circle, depending on which parameters are specified. + +If the "direct beam" (e.g. after a monochromator or sample) should not be +simulated, it is possible to emulate an ideal beamstop +so that only the scattered beam is left; +without the use of \textbf{Beamstop}: +This method is useful for instance in the case where only neutrons +scattered from a sample are of interest. +The example below removes the direct beam and +any background signal from other parts of the instrument +\begin{lstlisting} +COMPONENT MySample=V_sample(...) AT (...) +EXTEND +%{ + if (!SCATTERED) ABSORB; +%} +\end{lstlisting} diff --git a/docs/manuals/mcstas/optics/Bender.tex b/docs/manuals/mcstas/optics/Bender.tex new file mode 100644 index 0000000000..e80dfc0d02 --- /dev/null +++ b/docs/manuals/mcstas/optics/Bender.tex @@ -0,0 +1,88 @@ +\section{The \texttt{Bender} McStas Component} +Models a curved neutron guide. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Philipp Bernhardt + \item \textbf{Origin:} Uni. Erlangen (Germany) + \item \textbf{Date:} Februar 7 1999 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a curved neutron guide with cylindrical walls. + +Bender radius, entrance width and height are necessary input data. To define +the bender, you may either enter the deviation angle 'Win' or the length 'l'. +The bender may consist of 'k' vertical channels, separated by partitioning walls +of thickness 'd'. Three different reflectivity profiles can be given: for outer +walls, for inner walls and for the top and bottom walls. The partitioning walls +have the same coating as the exterior walls. + +The entrance lies in the X-Y plane, centered on the Z axis. The neutrons will +also leave the bender in the X-Y plane at the z-value l=r*Win, i.e. they are +centred on (0,0,r*Win); they have an (average) flight direction along the z-axis. +Therefore, the following component is adjacent, if positioned AT (0,0,r*Win) +without rotation. +So, seen from outside, it behaves like a straight guide along the Z axis. As a +consequence, it is shown straight in 'mcdisplay'. +This behaviour results from a co-ordinate transformation inside the component. +It is done to facilitate its use. Neither rotation nor shift along the x-axis +need to be calculated; a new arm is not necessary. Internally, the bender is +bent to the negative X axis; + +Example: +Bender of 120 mm height, 50 mm width, 250 m radius and 0.04 rad (or 2.292 deg) curvature +not channeled, with a standard m=2 coating on + +Bender(w=0.05,h=0.12,r=250,Win=0.04, +R0a=0.99,Qca=0.021,alphaa=6.07,ma=2,Wa=0.003, +R0i=0.99,Qci=0.021,alphai=6.07,mi=2,Wi=0.003, +R0s=0.99,Qcs=0.021,alphas=6.07,ms=2,Ws=0.003) + +%BUGS +Some users have reported potentially strange behaviours with this component. +This component does not work with gravitation on. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{w} & m & Width at the bender entry and exit & \\ +\textbf{h} & m & Height at the bender entry and exit & \\ +\textbf{r} & m & Radius of the bender & \\ +Win & rad & Angle of the deflection of the whole bender & 0.04 \\ +k & 1 & Number of channels inside the bender & 1 \\ +d & m & Thickness of one blade separating the channels & 0.001 \\ +l & m & length of bender l=r*Win & 0 \\ +R0a & 1 & Low-angle reflectivity at the \textless{}b\textgreater{}outer\textless{}/b\textgreater{} side of the bender & 0.99 \\ +Qca & AA-1 & Critical scattering vector & 0.021 \\ +alphaa & AA & Slope of reflectivity & 6.07 \\ +ma & 1 & m-value of material & 2 \\ +Wa & AA-1 & Width of supermirror cut-off & 0.003 \\ +R0i & 1 & Low-angle reflectivity at the \textless{}b\textgreater{}inner\textless{}/b\textgreater{} side of the bender & 0.99 \\ +Qci & AA-1 & Critical scattering vector & 0.021 \\ +alphai & AA & Slope of reflectivity & 6.07 \\ +mi & 1 & m-value of material & 2 \\ +Wi & AA-1 & Width of supermirror cut-off & 0.003 \\ +R0s & 1 & Low-angle reflectivity at the \textless{}b\textgreater{}top and bottom\textless{}/b\textgreater{} side of the bender & 0.99 \\ +Qcs & AA-1 & Critical scattering vector & 0.021 \\ +alphas & AA & Slope of reflectivity & 6.07 \\ +ms & 1 & m-value of material & 2 \\ +Ws & AA-1 & Width of supermirror cut-off & 0.003 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Bender.comp}{Source code} for \texttt{Bender.comp}. + \item \textless{}a href="../contrib/Guide\_curved.comp.html\textgreater{}Guide\_curved\textless{}/a\textgreater{} (contributed) + \item See also \textless{}a href="http://mailman.risoe.dk/pipermail/neutron-mc/1999q1/000052.html"\textgreater{}Additional note\textless{}/a\textgreater{} from \textless{}a href="mailto:philipp.bernhardt@siemens.com"\textgreater{}Philipp Bernhardt\textless{}/a\textgreater{}. +\end{itemize} +\IfFileExists{Bender_static.tex}{\input{Bender_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Collimator_linear.tex b/docs/manuals/mcstas/optics/Collimator_linear.tex index 92395846ea..ee97cd5449 100644 --- a/docs/manuals/mcstas/optics/Collimator_linear.tex +++ b/docs/manuals/mcstas/optics/Collimator_linear.tex @@ -1,69 +1,47 @@ -\section{Collimator\_linear: The simple Soller blade collimator} -\label{collimator-linear}\index{Optics!Linear collimator} +\section{The \texttt{Collimator\_linear} McStas Component} +A simple analytical Soller collimator (with triangular transmission). -%\component{Collimator\_linear}{System}{$x_{min}$, $x_{max}$, $y_{min}$, $y_{max}$, $L$, $\delta$}{}{} -\mcdoccomp{optics/Collimator_linear.parms} +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} August 1998 +\end{itemize} -\textbf{Collimator\_linear} models a standard linear Soller blade collimator. -The collimator has two identical rectangular openings, -defined by the $x$ and $y$ values. Neutrons not clearing both -openings are ABSORB'ed. -The length of the collimator blades is denoted $L$, while -the distance between blades is called $d$. +\subsection*{Description} +\begin{lstlisting} +Soller collimator with rectangular opening and specified length. The +transmission function is an average and does not utilize knowledge of the +actual neutron trajectory. A zero divergence disables collimation (then the +component works as a double slit). -The collimating effect is taken care of by employing an approximately -triangular transmission through the collimator of width (FWHM) $\delta$, -which is given in arc minutes, {\em i.e.} $\delta=60$ is one degree. -If $\delta=0$, the collimating effect is disabled, -so that the component only consists of two rectangular apertures. +Example: Collimator_linear(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, length=0.25, divergence=40,transmission=0.7) +\end{lstlisting} -For a more detailed Soller collimator simulation, -taking every blade into account, it is possible to use -\textbf{Channeled\_guide} with absorbing walls, -see section~\ref{s:channeled_guide}. +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. -\begin{figure}[h!] - \begin{center} - \psfrag{xmin}[c][c]{$x_\textrm{min}$} - \psfrag{xmax}[c][c]{$x_\textrm{max}$} - \psfrag{ymin}[c][c]{$y_\textrm{min}$} - \psfrag{ymax}[c][c]{$y_\textrm{max}$} - \psfrag{delta}[c][c]{$\delta$} - \includegraphics[width=0.7\textwidth]{figures/collimator} - \end{center} -\caption{The geometry of a simple Soller blade collimators: -The real Soller collimator, seen from the top (left), -and a sketch of the component \textbf{Soller} (right). -The symbols are defined in the text.} -\label{f:collimator} -\end{figure} +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xmin & m & Lower x bound on slits & -0.02 \\ +xmax & m & Upper x bound on slits & 0.02 \\ +ymin & m & Lower y bound on slits & -0.05 \\ +ymax & m & Upper y bound on slits & 0.05 \\ +xwidth & m & Width of slits & 0 \\ +yheight & m & Height of slits & 0 \\ +length & m & Distance between input and output slits & 0.3 \\ +divergence & minutes of arc & Divergence horizontal angle (calculated as atan(d/length), where d is the blade spacing) & 40 \\ +transmission & 1 & Transmission of Soller (0\textless{}=t\textless{}=1) & 1 \\ +divergenceV & minutes of arc & Divergence vertical angle & 0 \\ +\bottomrule +\end{longtable} -\subsection{Collimator transmission} -The horizontal divergence, $\eta_h$, is defined as the angle between the -neutron path and the vertical $y-z$ plane along the collimator axis. -We then define the collimation angle as the maximal allowed -horizontal divergence: $\delta = \tan^{-1}(d/L)$, -see Fig.~\ref{f:collimator}. Neutrons with a horizontal -divergence angle $|\eta_h| \geq \delta$ will always -hit at least one collimator blade and will thus be ABSORB'ed. -For smaller divergence angles, $|\eta_h| < \delta$, the fate of the -neutron depends on its exact entry point. -Assuming that a typical collimator has many blades, the -absolute position of each blade perpendicular to the collimator axis -is thus mostly unimportant. -A simple statistical consideration now shows that the transmission -probability is $T = 1-\tan|\eta_h|/\tan\delta$. -Often, the approximation $T \approx 1-|\eta_h|/\delta$ is used, giving -a triangular transmission profile. - -\subsection{Algorithm} -The algorithm of \textrm{Collimator\_linear} is roughly as follows: -\begin{enumerate} -\item Check by propagation if the neutron ray clear the entry and exit slits, -otherwise ABSORB. -\item Check if $|\eta_h| < \delta$, otherwise ABSORB. -\item Simulate the collimator transmission by a weight transformation: -\begin{equation} -\pi_i = T = 1-\tan|\eta_h|/ \tan\delta , -\end{equation} -\end{enumerate} +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Collimator_linear.comp}{Source code} for \texttt{Collimator\_linear.comp}. +\end{itemize} +\IfFileExists{Collimator_linear_static.tex}{\input{Collimator_linear_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Collimator_linear_static.tex b/docs/manuals/mcstas/optics/Collimator_linear_static.tex new file mode 100644 index 0000000000..fc886edb0f --- /dev/null +++ b/docs/manuals/mcstas/optics/Collimator_linear_static.tex @@ -0,0 +1,69 @@ +\section{Collimator\_linear: The simple Soller blade collimator} +\label{collimator-linear}\index{Optics!Linear collimator} + +%\component{Collimator\_linear}{System}{$x_{min}$, $x_{max}$, $y_{min}$, $y_{max}$, $L$, $\delta$}{}{} +%\mcdoccomp{optics/Collimator_linear.parms} + +\textbf{Collimator\_linear} models a standard linear Soller blade collimator. +The collimator has two identical rectangular openings, +defined by the $x$ and $y$ values. Neutrons not clearing both +openings are ABSORB'ed. +The length of the collimator blades is denoted $L$, while +the distance between blades is called $d$. + +The collimating effect is taken care of by employing an approximately +triangular transmission through the collimator of width (FWHM) $\delta$, +which is given in arc minutes, {\em i.e.} $\delta=60$ is one degree. +If $\delta=0$, the collimating effect is disabled, +so that the component only consists of two rectangular apertures. + +For a more detailed Soller collimator simulation, +taking every blade into account, it is possible to use +\textbf{Channeled\_guide} with absorbing walls, +see section~\ref{s:channeled_guide}. + +\begin{figure}[h!] + \begin{center} + \psfrag{xmin}[c][c]{$x_\textrm{min}$} + \psfrag{xmax}[c][c]{$x_\textrm{max}$} + \psfrag{ymin}[c][c]{$y_\textrm{min}$} + \psfrag{ymax}[c][c]{$y_\textrm{max}$} + \psfrag{delta}[c][c]{$\delta$} + \includegraphics[width=0.7\textwidth]{figures/collimator} + \end{center} +\caption{The geometry of a simple Soller blade collimators: +The real Soller collimator, seen from the top (left), +and a sketch of the component \textbf{Soller} (right). +The symbols are defined in the text.} +\label{f:collimator} +\end{figure} + +\subsection{Collimator transmission} +The horizontal divergence, $\eta_h$, is defined as the angle between the +neutron path and the vertical $y-z$ plane along the collimator axis. +We then define the collimation angle as the maximal allowed +horizontal divergence: $\delta = \tan^{-1}(d/L)$, +see Fig.~\ref{f:collimator}. Neutrons with a horizontal +divergence angle $|\eta_h| \geq \delta$ will always +hit at least one collimator blade and will thus be ABSORB'ed. +For smaller divergence angles, $|\eta_h| < \delta$, the fate of the +neutron depends on its exact entry point. +Assuming that a typical collimator has many blades, the +absolute position of each blade perpendicular to the collimator axis +is thus mostly unimportant. +A simple statistical consideration now shows that the transmission +probability is $T = 1-\tan|\eta_h|/\tan\delta$. +Often, the approximation $T \approx 1-|\eta_h|/\delta$ is used, giving +a triangular transmission profile. + +\subsection{Algorithm} +The algorithm of \textrm{Collimator\_linear} is roughly as follows: +\begin{enumerate} +\item Check by propagation if the neutron ray clear the entry and exit slits, +otherwise ABSORB. +\item Check if $|\eta_h| < \delta$, otherwise ABSORB. +\item Simulate the collimator transmission by a weight transformation: +\begin{equation} +\pi_i = T = 1-\tan|\eta_h|/ \tan\delta , +\end{equation} +\end{enumerate} diff --git a/docs/manuals/mcstas/optics/Collimator_radial.tex b/docs/manuals/mcstas/optics/Collimator_radial.tex index eb0a09a72b..6d4410c162 100644 --- a/docs/manuals/mcstas/optics/Collimator_radial.tex +++ b/docs/manuals/mcstas/optics/Collimator_radial.tex @@ -1,37 +1,74 @@ -\section{Collimator\_radial: A radial Soller blade collimator} -\index{Optics!Radial collimator} - -\component{Collimator\_radial}{(System) E.Farhi, ILL}{$w_1$, $h_1$, $w_2$, $h_2$, $len$, $\theta_{min}$, $\theta_{max}$, $nchan$, $radius$}{$divergence$, $nblades$, $roc$ and others}{Validated} -%\mcdoccomp{optics/Collomator_radial.parms} - -\begin{figure} - \begin{center} - \includegraphics[width=0.8\textwidth]{figures/radial} - \end{center} -\caption{A radial collimator} -\label{f:coll-radial} -\end{figure} - -This radial collimator works either using an analytical approximation -like \textbf{Collimator\_linear} (see section \ref{collimator-linear}), -or with an exact model. - -The input parameters are the inner radius $radius$, the radial length $len$, -the input and output window dimensions $w_1$, $h_1$, $w_2$, $h_2$, -the number of Soller channels $nchan$ -(each of them being a single linear collimator) covering the angular interval -[$\theta_{min}$, $\theta_{max}$] angle with respect to the $z$-axis. - -If the $divergence$ parameter is defined, -the approximation level is used as in \textrm{Collimator\_linear} -(see section \ref{collimator-linear}). -On the other hand, if you perfer to describe exactly the number of blades -$nblades$ assembled to build a single collimator channel, -then the model is exact, and traces the neutron trajectory inside each Soller. -The computing efficiency is then lowered by a factor 2. - -The component can be made oscillating with an amplitude of $roc$ times -$\pm w_1$, which supresses the channels shadow. - -As an alternative, you may use the \textbf{Exact\_radial\_coll} contributed component. -For a rectangular shaped collimator, instead of cylindrical/radial, you may use the Guide\_channeled and the Guide\_gravity components. +\section{The \texttt{Collimator\_radial} McStas Component} +A radial Soller collimator. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Emmanuel Farhi \textless{}farhi@ill.fr\textgreater{} + \item \textbf{Origin:} ILL + \item \textbf{Date:} July 2005 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Radial Soller collimator with rectangular opening and specified length. +The collimator is made of many rectangular channels stacked radially. +Each channel is a set of transmitting layers (nslit), separated by an absorbing +material (infinitely thin), the whole stuff is inside an absorbing housing. + +When specifying the number of channels (nchan), each channel has a total +entrance width=radius*fabs(theta_max-theta_min)/nchan, but only the central +portion 'xwidth' accepts neutrons. When xwidth=0, it is set to the full +apperture so that all neutrons enter the channels (all walls are infinitely thin). + +When using zero as the number of channels (nchan), the collimator is continuous, +whithout shadowing effect. + +The component should be positioned at the radius center. +The component can be made oscillating (usual on diffractometers and TOF +machines) with the 'roc' parameter. +The neutron beam outside the collimator angular area is transmitted unaffected. + +When used as a focusing collimator, the focusing parameter should be set to 1. + +An example of a instrument that uses this collimator can be found in the SALSA instrument, +in the example folder + +Example: +Channelled radial collimator with shadow parts +Collimator_radial(xwidth=0.015, yheight=.3, length=.35, divergence=40,transmission=1, theta_min=5, theta_max=165, nchan=128, radius=0.9) +A continuous radial collimator +Collimator_radial(yheight=.3, length=.35, divergence=40,transmission=1, theta_min=5, theta_max=165, radius=0.9) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xwidth & m & Soller window width, filled with nslit slits. Use 0 value for continuous collimator. & 0 \\ +yheight & m & Collimator height. If yheight\_inner is specified, then this is the outer cylinders height & .3 \\ +length & m & Length/Distance between inner and outer slits. & .35 \\ +divergence & min of arc & Divergence angle. May also be specified with the nslit parameter. A zero value unactivates component. & 0 \\ +transmission & 1 & Maximum transmission of Soller (0\textless{}=t\textless{}=1). & 1 \\ +theta\_min & deg & Minimum Theta angle for the radial setting. & 5 \\ +theta\_max & deg & Maximum Theta angle for the radial setting. & 165 \\ +nchan & 1 & Number of Soller channels in the theta range. Use 0 value for continuous collimator. & 0 \\ +radius & m & Radius of the collimator (to entry window). & 1.3 \\ +nslit & 1 & Number of blades composing each Soller. Overrides the divergence parameter. & 0 \\ +roc & deg & Amplitude of oscillation of collimator. 0=fixed. & 0 \\ +verbose & & Gives additional information. & 0 \\ +approx & & Use Soller triangular transmission approximation. & 0 \\ +focusing & 1 & When set allows you to use the collimators for focusing, rather than dispersing. & 0 \\ +yheight\_inner & 1 & Defines the inner height of the collimator & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Collimator_radial.comp}{Source code} for \texttt{Collimator\_radial.comp}. +\end{itemize} +\IfFileExists{Collimator_radial_static.tex}{\input{Collimator_radial_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Collimator_radial_static.tex b/docs/manuals/mcstas/optics/Collimator_radial_static.tex new file mode 100644 index 0000000000..c900f4fa9d --- /dev/null +++ b/docs/manuals/mcstas/optics/Collimator_radial_static.tex @@ -0,0 +1,37 @@ +\section{Collimator\_radial: A radial Soller blade collimator} +\index{Optics!Radial collimator} + +\component{Collimator\_radial}{(System) E.Farhi, ILL}{$w_1$, $h_1$, $w_2$, $h_2$, $len$, $\theta_{min}$, $\theta_{max}$, $nchan$, $radius$}{$divergence$, $nblades$, $roc$ and others}{Validated} +%%\mcdoccomp{optics/Collomator_radial.parms} + +\begin{figure} + \begin{center} + \includegraphics[width=0.8\textwidth]{figures/radial} + \end{center} +\caption{A radial collimator} +\label{f:coll-radial} +\end{figure} + +This radial collimator works either using an analytical approximation +like \textbf{Collimator\_linear} (see section \ref{collimator-linear}), +or with an exact model. + +The input parameters are the inner radius $radius$, the radial length $len$, +the input and output window dimensions $w_1$, $h_1$, $w_2$, $h_2$, +the number of Soller channels $nchan$ +(each of them being a single linear collimator) covering the angular interval +[$\theta_{min}$, $\theta_{max}$] angle with respect to the $z$-axis. + +If the $divergence$ parameter is defined, +the approximation level is used as in \textrm{Collimator\_linear} +(see section \ref{collimator-linear}). +On the other hand, if you perfer to describe exactly the number of blades +$nblades$ assembled to build a single collimator channel, +then the model is exact, and traces the neutron trajectory inside each Soller. +The computing efficiency is then lowered by a factor 2. + +The component can be made oscillating with an amplitude of $roc$ times +$\pm w_1$, which supresses the channels shadow. + +As an alternative, you may use the \textbf{Exact\_radial\_coll} contributed component. +For a rectangular shaped collimator, instead of cylindrical/radial, you may use the Guide\_channeled and the Guide\_gravity components. diff --git a/docs/manuals/mcstas/optics/Derotator.tex b/docs/manuals/mcstas/optics/Derotator.tex new file mode 100644 index 0000000000..17831e9fd5 --- /dev/null +++ b/docs/manuals/mcstas/optics/Derotator.tex @@ -0,0 +1,41 @@ +\section{The \texttt{Derotator} McStas Component} +The counterpart of the Rotator component. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Emmanuel Farhi + \item \textbf{Origin:} \textless{}a href="http://www.ill.fr"\textgreater{}ILL\textless{}/a\textgreater{} + \item \textbf{Date:} June 20th 2013 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A component which stops the rotative frame set by the Rotator component. +Its position should better coincide with the Rotator instance. +Components preceding the Derotator are rotating, all following are steady. + +Example: +R=Rotator(nu=14, phase=0) +... +DR=Derotator(rotator="R") +AT (0,0,0) RELATIVE R +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{rotator} & string & the name of the Rotator component used to initiate the rotation & \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Derotator.comp}{Source code} for \texttt{Derotator.comp}. +\end{itemize} +\IfFileExists{Derotator_static.tex}{\input{Derotator_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Diaphragm.tex b/docs/manuals/mcstas/optics/Diaphragm.tex new file mode 100644 index 0000000000..dcd1d7b991 --- /dev/null +++ b/docs/manuals/mcstas/optics/Diaphragm.tex @@ -0,0 +1,40 @@ +\section{The \texttt{Diaphragm} McStas Component} +Rectangular/circular diaphragm (alias of the Slit component) + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Willendrup + \item \textbf{Origin:} DTU + \item \textbf{Date:} February 2016 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A simple rectangular or circular diaphragm. You may either +specify the radius (circular shape), or the rectangular bounds. +No transmission around the diaphragm is allowed. + +Example: Diaphragm(xmin=-0.01, xmax=0.01, ymin=-0.01, ymax=0.01) +Diaphragm(radius=0.01) + + +For INPUT PARAMETERS - please consult Slit.comp as Diaphragm is a copy of that component. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Diaphragm.comp}{Source code} for \texttt{Diaphragm.comp}. +\end{itemize} +\IfFileExists{Diaphragm_static.tex}{\input{Diaphragm_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/DiskChopper.tex b/docs/manuals/mcstas/optics/DiskChopper.tex index 31794d3c70..81ffb9ea50 100644 --- a/docs/manuals/mcstas/optics/DiskChopper.tex +++ b/docs/manuals/mcstas/optics/DiskChopper.tex @@ -1,98 +1,69 @@ -% Emacs settings: -*-mode: latex; TeX-master: "manual.tex"; -*- - -\section{DiskChopper: The disc chopper} -\label{s:chopper} -\index{Optics!Disc chopper} - -%\component{DiskChopper}{Peter Willendrup, Ris\o\ (System)}{$\theta_0$, -% $R$, $h$, $\omega$, $n$, $t_0$, $\phi_0$}{IsFirst, - % $n_\textrm{pulse}$}{Based on Chopper by P Bernhardt, extensions K - %Hewitt Klen\o\ and R Bewey} -\mcdoccomp{optics/DiskChopper.parms} - -To cut a continuous neutron beam into short pulses, or to control -the pulse shape (in time) from a pulsed source, one can use a disc -chopper (see figure~\ref{f:chopper1}). This is a fast rotating disc with the -rotating axis parallel to the neutron beam. The disk consists of neutron -absorbing materials. To form the pulses the disk has openings through which -the neutrons can pass. - -Component \textbf{DiskChopper} is an infinately thin, absorbing disc of -radius $R$ with $n$ slit openings of height $h$ and angular width -$\theta_0$. The slits are symmetrically disposed on the disc. If -unset, the slit height $h$ will extend to the centre of the disc ($h=R$). - -The \textbf{DiskChopper} is self-centering, meaning that the centre of -the slit openings will automatically be positioned at the centre of -the beam axis (see figure~\ref{f:chopper1}). To override this behaviour, set the paramter -$compat=1$, positioning the chopper centre at height $-R$ - as -implemented in the original \textbf{Chopper} component. - -Optionally, each slit can have a central, absorbing insert - a -\emph{beamstop} of angular width $\theta_1$. For more exotic chopper -definitions, use the \texttt{GROUP} keyword, see below for an example. - -The direction of rotation can be controlled, -which allows to simulate e.g. counter-rotating choppers. -The phase or time-delay $t_0$ (in seconds) is defined by the time -where the first of the $n$ slits is positioned at the top. As an -alternative, an angular phase can be given using the $\phi_0$ parameter. - -By default, neutrons hitting outside the physical extent of the disc -are absorbed. This behaviour can be overruled by setting parameter -$abs\_out=0$. - - -\begin{figure}[ht] -\centering -\includegraphics[width=0.8\linewidth]{figures/DiskChopper} -\caption{Sketch of a disc chopper with geometry parameters} -\label{f:chopper1} -\end{figure} - - -%Using a rectangular shaped beam with nearly the same -%size as the slit, yields an almost triangular shaped -%transmission curve (see figure~\ref{f:chopper2}). -% -%\begin{figure}[ht] -%\includegraphics[width=1.0\linewidth]{figures/tracho} -%\caption{example transmission curve for the disc chopper\label{f:chopper2}} -%\end{figure} - -When simulating the chopping of a continuous beam, -most of the neutrons could easily be lost. -To improve efficiency, one can set the flag \verb+IsFirst+, which will -allow every neutron ray to pass the \textbf{DiskChopper}, but modify the -time, $t$, to a (random) time at which it is possible to pass. -%This can also be used with TOF-instruments, which often -%define the starting time of the neutrons at -%the position of the first chopper. -Of course, there should be only one ``first chopper'' in -any simulation. -To simulate frame overlap from a ``first chopper'', one can specify -the number of frames to study by the parameter $n_\textrm{pulse}$. - -For more advanced chopper geometries than those mentioned above, it is -possible to set up a \texttt{GROUP} of choppers: - +\section{The \texttt{DiskChopper} McStas Component} +Based on Chopper (Philipp Bernhardt), Jitter and beamstop from work by +Kaspar Hewitt Klenoe (jan 2006), adjustments by Rob Bewey (march 2006) + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Willendrup + \item \textbf{Origin:} Risoe + \item \textbf{Date:} March 9 2006 +\end{itemize} + +\subsection*{Description} \begin{lstlisting} -COMPONENT Chop1 = DiskChopper(omega=2500, R=0.3, h=0.2, theta_0=20, n=1) -AT (0, 0, 1.1) RELATIVE Source -GROUP Choppers - -COMPONENT Chop2 = DiskChopper(omega=2500, R=0.3, h=0.2, theta_0=20, n=1, - phi_0=40) -AT (0, 0, 1.1) RELATIVE Source -GROUP Choppers +Models a disc chopper with nslit identical slits, which are symmetrically distributed +on the disc. At time t=0, the centre of the first slit opening will be situated at the +vertical axis when phase=0, assuming the chopper centre of rotation is placed BELOW the beam axis. +If you want to place the chopper ABOVE the beam axis, please use a 180 degree rotation around Z +(otherwise unexpected beam splitting can occur in combination with the isfirst=1 setting, see +related bug on GitHub) + +For more complicated gemometries, see component manual example of DiskChopper GROUPing. + +If the chopper is the 1st chopper of a continuous source instrument, you should use the "isfirst" parameter. +This parameter SETS the neutron time to match the passage of the chooper slit(s), taking into account the +chopper timing and phasing (thus conserving your simulated statistics). + +The isfirst parameter is ONLY relevant for use in continuous source settings. + +Example: DiskChopper(radius=0.2, theta_0=10, nu=41.7, nslit=3, delay=0, isfirst=1) First chopper +DiskChopper(radius=0.2, theta_0=10, nu=41.7, nslit=3, delay=0, isfirst=0) + +NOTA BENE wrt. GROUPing and isfirst: +When setting up a GROUP of DiskChoppers for a steady-state / reactor source, you will need +to set up +1) An initial chopper with isfirst=1, NOT part of the GROUP - and using a "big" chopper opening +that spans the full angular extent of the openings of the subsequent GROUP +2) Add your DiskChopper GROUP setting isfirst=0 \end{lstlisting} -The result of such a \textbf{DiskChopper} \texttt{GROUP}ing can be seen in -figure \ref{f:chopper2} - -\begin{figure}[ht] -\includegraphics[width=0.4\linewidth]{figures/DiskChopperGroup} -\includegraphics[width=0.4\linewidth]{figures/DiskChopperPSD} -\caption{\texttt{mcdisplay} rendering and monitor output from a DiskChopper \texttt{GROUP}} -\label{f:chopper2} -\end{figure} +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +theta\_0 & deg & Angular width of the slits. & 0 \\ +radius & m & Radius of the disc & 0.5 \\ +\textbf{yheight} & m & Slit height (if = 0, equal to radius). Auto centering of beam at half height. & \\ +\textbf{nu} & Hz & Frequency of the Chopper, omega=2*PI*nu (algebraic sign defines the direction of rotation) & \\ +nslit & 1 & Number of slits, regularly arranged around the disk & 3 \\ +jitter & s & Jitter in the time phase & 0 \\ +delay & s & Time 'delay' & 0 \\ +isfirst & 0/1 & Set it to 1 for the first chopper position in a cw source (it then spreads the neutron time distribution) & 0 \\ +n\_pulse & 1 & Number of pulses (Only if isfirst) & 1 \\ +abs\_out & 0/1 & Absorb neutrons hitting outside of chopper radius? & 1 \\ +phase & deg & Angular 'delay' (overrides delay) & 0 \\ +xwidth & m & Horizontal slit width opening at beam center & 0 \\ +verbose & 1 & Set to 1 to display Disk chopper configuration & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/DiskChopper.comp}{Source code} for \texttt{DiskChopper.comp}. +\end{itemize} +\IfFileExists{DiskChopper_static.tex}{\input{DiskChopper_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/DiskChopper_static.tex b/docs/manuals/mcstas/optics/DiskChopper_static.tex new file mode 100644 index 0000000000..955661a574 --- /dev/null +++ b/docs/manuals/mcstas/optics/DiskChopper_static.tex @@ -0,0 +1,98 @@ +% Emacs settings: -*-mode: latex; TeX-master: "manual.tex"; -*- + +\section{DiskChopper: The disc chopper} +\label{s:chopper} +\index{Optics!Disc chopper} + +%\component{DiskChopper}{Peter Willendrup, Ris\o\ (System)}{$\theta_0$, +% $R$, $h$, $\omega$, $n$, $t_0$, $\phi_0$}{IsFirst, + % $n_\textrm{pulse}$}{Based on Chopper by P Bernhardt, extensions K + %Hewitt Klen\o\ and R Bewey} +%\mcdoccomp{optics/DiskChopper.parms} + +To cut a continuous neutron beam into short pulses, or to control +the pulse shape (in time) from a pulsed source, one can use a disc +chopper (see figure~\ref{f:chopper1}). This is a fast rotating disc with the +rotating axis parallel to the neutron beam. The disk consists of neutron +absorbing materials. To form the pulses the disk has openings through which +the neutrons can pass. + +Component \textbf{DiskChopper} is an infinately thin, absorbing disc of +radius $R$ with $n$ slit openings of height $h$ and angular width +$\theta_0$. The slits are symmetrically disposed on the disc. If +unset, the slit height $h$ will extend to the centre of the disc ($h=R$). + +The \textbf{DiskChopper} is self-centering, meaning that the centre of +the slit openings will automatically be positioned at the centre of +the beam axis (see figure~\ref{f:chopper1}). To override this behaviour, set the paramter +$compat=1$, positioning the chopper centre at height $-R$ - as +implemented in the original \textbf{Chopper} component. + +Optionally, each slit can have a central, absorbing insert - a +\emph{beamstop} of angular width $\theta_1$. For more exotic chopper +definitions, use the \texttt{GROUP} keyword, see below for an example. + +The direction of rotation can be controlled, +which allows to simulate e.g. counter-rotating choppers. +The phase or time-delay $t_0$ (in seconds) is defined by the time +where the first of the $n$ slits is positioned at the top. As an +alternative, an angular phase can be given using the $\phi_0$ parameter. + +By default, neutrons hitting outside the physical extent of the disc +are absorbed. This behaviour can be overruled by setting parameter +$abs\_out=0$. + + +\begin{figure}[ht] +\centering +\includegraphics[width=0.8\linewidth]{figures/DiskChopper} +\caption{Sketch of a disc chopper with geometry parameters} +\label{f:chopper1} +\end{figure} + + +%Using a rectangular shaped beam with nearly the same +%size as the slit, yields an almost triangular shaped +%transmission curve (see figure~\ref{f:chopper2}). +% +%\begin{figure}[ht] +%\includegraphics[width=1.0\linewidth]{figures/tracho} +%\caption{example transmission curve for the disc chopper\label{f:chopper2}} +%\end{figure} + +When simulating the chopping of a continuous beam, +most of the neutrons could easily be lost. +To improve efficiency, one can set the flag \verb+IsFirst+, which will +allow every neutron ray to pass the \textbf{DiskChopper}, but modify the +time, $t$, to a (random) time at which it is possible to pass. +%This can also be used with TOF-instruments, which often +%define the starting time of the neutrons at +%the position of the first chopper. +Of course, there should be only one ``first chopper'' in +any simulation. +To simulate frame overlap from a ``first chopper'', one can specify +the number of frames to study by the parameter $n_\textrm{pulse}$. + +For more advanced chopper geometries than those mentioned above, it is +possible to set up a \texttt{GROUP} of choppers: + +\begin{lstlisting} +COMPONENT Chop1 = DiskChopper(omega=2500, R=0.3, h=0.2, theta_0=20, n=1) +AT (0, 0, 1.1) RELATIVE Source +GROUP Choppers + +COMPONENT Chop2 = DiskChopper(omega=2500, R=0.3, h=0.2, theta_0=20, n=1, + phi_0=40) +AT (0, 0, 1.1) RELATIVE Source +GROUP Choppers +\end{lstlisting} + +The result of such a \textbf{DiskChopper} \texttt{GROUP}ing can be seen in +figure \ref{f:chopper2} + +\begin{figure}[ht] +\includegraphics[width=0.4\linewidth]{figures/DiskChopperGroup} +\includegraphics[width=0.4\linewidth]{figures/DiskChopperPSD} +\caption{\texttt{mcdisplay} rendering and monitor output from a DiskChopper \texttt{GROUP}} +\label{f:chopper2} +\end{figure} diff --git a/docs/manuals/mcstas/optics/Elliptic_guide_gravity.tex b/docs/manuals/mcstas/optics/Elliptic_guide_gravity.tex new file mode 100644 index 0000000000..befead3594 --- /dev/null +++ b/docs/manuals/mcstas/optics/Elliptic_guide_gravity.tex @@ -0,0 +1,128 @@ +\section{The \texttt{Elliptic\_guide\_gravity} McStas Component} +Perfect elliptic guide which allow for simulations with gravity. +The guide mirrors can be divided into segments with individual m-values. +Parabolic guide components can also be simulated. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Henrik Bo Hoffmann Carlsen and Mads Bertelsen + \item \textbf{Origin:} NBI + \item \textbf{Date:} 27 Aug 2012 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +The perfect elliptic guide is centered along the z-axis with the entrance +and exit in the xy-plane. The horizontal and vertical ellipses defining +the guide geometry is by default set by two focal points. +These are placed a distance away from the guide openings along the z-axis; +if distance given is positive, when the focal point is outside the guide. + +Multiple options for defining these ellipse exist including approximation of +parabolas and half ellipses (mid point of the ellipse or one of the guide openings) + +The guide coating parameters can be set for each side of the guide. +Furthermore the m-value can be specified for user defined segments +of the guide. + +Example 1, Elliptical definition using focal points: + +Elliptic_guide_gravity( +l=50, +linxw=5,linyh=5,loutxw=10,loutyh=10, +xwidth=0.05,yheight=0.05, +R0=0.99,Qc=0.0219,alpha=6.07,m=1.0,W=0.003 +) + +Example 2: Half elliptical definition: + +Elliptic_guide_gravity( +l=50, +linxw=5,linyh=5,loutxw=10,loutyh=10, +xwidth=0.1,yheight=0.1, +R0=0.99,Qc=0.0219,alpha=6.07,m=1.0,W=0.003, +option = "halfEllipse", +dimensionsAt = "entrance" +) + +Example 3: Parabolic approximation: + +Elliptic_guide_gravity( +l=50, +linxw=5,linyh=5,loutxw=1e6,loutyh=1e6, // values larger than 1e8 may cause erroneous results +xwidth=0.1,yheight=0.1, +R0 = 0.99,Qc=0.0219,alpha=6.07,m=1.0,W=0.003, +dimensionsAt = "exit" +) + +Example 4: Elliptical definition with varying m-values: + +Elliptic_guide_gravity( +l=50, +linxw=5,linyh=5,loutxw=10,loutyh=10, +xwidth=0.1,yheight=0.1, +R0 = 0.99,Qc=0.0219,alpha=6.07,m=1.0,W=0.003, +mvaluesright=marray,mvaluesleft=marray,mvaluestop=marray,mvaluesbottom=marray +) + +where marray is initialized as +for(iter=0; iter < 50; iter++){ marray[iter] = 2; } +And Declared as +double mValues[50]; +If you are using the array-based coating-specification, you **must** give nSegments a compatible value. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xwidth & m & width at the guide entry, mid or exit (see dimensionsAt) & 0 \\ +yheight & m & height at the guide entry, mid or exit (see dimensionsAt) & 0 \\ +\textbf{l} & m & length of the guide & \\ +linxw & m & distance from 1st focal point to guide entrance - left and right horizontal mirrors & 0 \\ +loutxw & m & distance from 2nd focal point to guide exit - left and right horizontal mirrors & 0 \\ +linyh & m & distance from 1st focal point to guide entrance - top and bottom vertical mirrors & 0 \\ +loutyh & m & distance from 2nd focal point to guide exit - top and bottom vertical mirrors & 0 \\ +majorAxisxw & m & direct defination of the guide geometry, will ignore w,h lin and lout parameters if this is nonzero. Length of the axis parallel to the z for the horizontal ellipse & 0 \\ +minorAxisxw & m & direct defination of the guide geometry, will ignore w,h lin and lout parameters if this is nonzero. Length of the axis Perpendicular to the z for the horizontal ellipse & 0 \\ +majorAxisyh & m & direct defination of the guide geometry, will ignore w,h lin and lout parameters if this is nonzero. Length of the axis parallel to the z for the vertical ellipse & 0 \\ +minorAxisyh & m & direct defination of the guide geometry, will ignore w,h lin and lout parameters if this is nonzero. Length of the axis Perpendicular to the z for the vertical ellipse & 0 \\ +majorAxisoffsetxw & m & direct defination of the guide geometry, distance between the center of the horizontal ellipse and the guide entrance & 0 \\ +majorAxisoffsetyh & m & direct defination of the guide geometry, distance between the center of the vertical ellipse and the guide entrance & 0 \\ +dimensionsAt & string & define whether xwidth and yheight sets the size of the opening, minor axis or the end of the guide. & "entrance" \\ +option & string & options are 'ellipse' and 'halfEllipse'. Ellipse is defined by both the focal points, while halfEllipse locked the center of the ellipse either the entrance or exit of the guide, and use the focal point of the other end to define the ellipse & "ellipse" \\ +R0 & 1 & Low-angle reflectivity & 0.99 \\ +Qc & AA-1 & Critical scattering vector & 0.0218 \\ +alpha & AA & Slope of reflectivity & 6.07 \\ +m & 1 & m-value of material for all mirrors, zero means complete absorption. & 2 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +alpharight & AA & Slope of reflectivity for right vertical mirror & -1 \\ +mright & 1 & m-value of material for right vertical mirror & -1 \\ +alphaleft & AA & Slope of reflectivity for left vertical mirror & -1 \\ +mleft & 1 & m-value of material for left vertical mirror & -1 \\ +alphatop & AA & Slope of reflectivity for top horizontal mirror, overwrites alpha & -1 \\ +mtop & 1 & m-value of material for top horizontal mirror, overwrites m & -1 \\ +alphabottom & AA & Slope of reflectivity for bottom horizontal mirror & -1 \\ +mbottom & 1 & m-value of material for bottom horizontal mirror & -1 \\ +verbose & bool & Give extra information about calculations & "on" \\ +enableGravity & m & Flag to select propagation with gravity. & 1.0 \\ +curvature & m & Simulate horizontal radius of curvature by centripetal force added to the gravity. Note: Does not curve the guide in mcdisplay but "curves the neutron". Has opposite sign definition of Guide\_curved. & 0 \\ +nSegments & m & Must be used to specify number of guide segments, i.e. when giving inputs mvaluesright ... etc. & -1 \\ +mvaluesright & pointer & Pointer to array of m-values, right mirror & NULL \\ +mvaluesleft & pointer & - same, left mirror & NULL \\ +mvaluestop & pointer & - same, top mirror & NULL \\ +mvaluesbottom & pointer & - same, bottom mirror & NULL \\ +seglength & pointer & Pointer to array of segment lengths for discrete mirror description & NULL \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Elliptic_guide_gravity.comp}{Source code} for \texttt{Elliptic\_guide\_gravity.comp}. +\end{itemize} +\IfFileExists{Elliptic_guide_gravity_static.tex}{\input{Elliptic_guide_gravity_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/FZP_simple.tex b/docs/manuals/mcstas/optics/FZP_simple.tex new file mode 100644 index 0000000000..7972d2e10a --- /dev/null +++ b/docs/manuals/mcstas/optics/FZP_simple.tex @@ -0,0 +1,48 @@ +\section{The \texttt{FZP\_simple} McStas Component} +Fresnel zone-plate as a thin object approximation. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} A Komar Ravn, and Erik B Knudsen + \item \textbf{Origin:} NBI/DTU + \item \textbf{Date:} Aug, 2015 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A simple phenomenological thin-object approximation of a Fresnel Zone Plate. +This component was adapted for neutrons from the original component +written for helium scattering. +The focal length of the Zone Plate is determined by the formula: +\[f = 2*r*dr/(lambda)\] +If a diffraction order other than 1 is wanted the focal distance is scaled accordingly. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{rad} & m & Radius of the zone-plate. & \\ +\textbf{dr} & m & Width of the outermost ring-slit. & \\ +bs0rad & m & Radius of the central blocking zone. & 0 \\ +order & m & Use this diffaction order. & 1 \\ +eta & & Efficiency of the FZP. For neutrons and (order==1) typically \{5...30\}\%. Overrides the sigma\_x cross sections. & 0.1 \\ +sigma\_abs & barn & 2200 m/s absorption cross section. & 0 \\ +sigma\_inc & barn & Incoherent scattering cross section. & 0 \\ +sigma\_coh & barn & Coherent scattering cross section. & 0 \\ +rho & g/cm3 & Density of Zone plate material - used merely for absorption estimation. & 1 \\ +thickness & m & Thickness of the FZP. Note that the FZP still is modelled as a thin object. The thickness is used in conjunction with the sigma\_x cross sections. & 0 \\ +gamma & & Duty cycle of the Zone plate - used merely for absorption estimation. & 0.5 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/FZP_simple.comp}{Source code} for \texttt{FZP\_simple.comp}. +\end{itemize} +\IfFileExists{FZP_simple_static.tex}{\input{FZP_simple_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/FermiChopper.tex b/docs/manuals/mcstas/optics/FermiChopper.tex index 142f9d32ed..9e45e76f67 100644 --- a/docs/manuals/mcstas/optics/FermiChopper.tex +++ b/docs/manuals/mcstas/optics/FermiChopper.tex @@ -1,176 +1,70 @@ -\section{FermiChopper: The Fermi-chopper} - -%\component{FermiChopper}{M. Poehlmann, C. Carbogno, H. Schober, -%E. Farhi}{$R,y_{min} y_{max}, -%\nu,w,length$,Nslit,phase}{$m,Q_c,R_0,\alpha, -%W$,curvature,zero\_time}{validated} -\mcdoccomp{optics/FermiChopper.parms} -\index{Optics!Fermi Chopper|textbf} - -\begin{figure} -\begin{center} -\begin{tabular}{cc} -\includegraphics[height=7cm]{./figures/FCChoppergeo} -& -\includegraphics[height=5cm,width=5.3cm]{./figures/FCOverview} -\end{tabular} -\end{center} -\caption{Geometry of the Fermi-chopper (left) and Neutrons in the chopper (right).} -\label{fig:Overview} -\end{figure} - -\subsection{The chopper geometry and parameters} -\label{ssec:chopper} - -The Fermi chopper is a rotating vertical cylinder containing a set of collimating slits (\emph{slit package}). Main geometry parameters are the radius $R$, minimum and maximum height $y_{min}$ and $y_{max}$ (see Fig. \ref{fig:Overview}). -In this implementation, the slits are by default straight, but may be coated with super-mirror, and curved. Main parameters for the slits are the number of slits $Nslit$, the length $length$ and width $w$ of each slit, the width of the separating Cd-blades is neglected. The slit walls reflectivity is modelled just like in guide components by the $m$-value ($m > 1$ for super mirrors), the critical scattering vector $Q_c$, the slope of reflectivity $\alpha$, the low-angle reflectivity $R_0$ and the width of supermirror cut-off $W$. For $m=0$ the blades are completly absorbing. The AT position of the component is its center. - -The angular speed of the chopper is $\omega = 2\pi \nu$, where $\nu$ is the rotation frequency. The angle $phase$ for which the chopper is in the 'open' state for most of the neutrons coming in (z' axis of the rotating frame parallel to the z axis of the static frame) is also an input parameter. The time window may optionally be shifted to zero when setting the \verb+zero_time=1+ option. A phase guess value may be set automatically using the \verb+zero_time=2+ option. - -The curvature of the slit channels is specified with the \textit{curvature} parameter. Positive sign indicates that the deviation 'bump' due to curvature is in the $x'$ positive side, and the center of curvature is in the $x'$ negative side. The optimal radius of curvature $R$ is related to frequency $\nu$ and neutron velocity $v$ with: $v=4 \pi R \nu$. - -The component was validated extensively by K.\ Lieutenant. As an alternative, one may use the \textbf{Vitess\_ChopperFermi} component (eventhough slower and without super-mirror support) or the \textbf{FermiChopper\_ILL} contributed component. The Guide\_gravity component has also a rotating mode, using an approximation of a Fermi Chopper. - -\begin{table} - \begin{center} - {\let\my=\\ - \begin{tabular}{|lr|p{0.6\textwidth}|} - \hline -Parameter & unit & meaning \\ - \hline -radius & [m] & chopper cylinder radius \\ -ymin & [m] & lower y bound of cylinder \\ -ymax & [m] & upper y bound of cylinder \\ -Nslit & [1] & number of chopper slits \\ -length & [m] & channel length of the Fermi chopper \\ -w & [m] & width of one chopper slit. May also be specified as \emph{width}=w*Nslit for total width of slit package. \\ -nu & [Hz] & chopper frequency \\ -phase & [deg] & chopper phase at t=0 \\ -zero\_time & [1] & shit time window around 0 if true \\ -curvature & [m$^{-1}$] & Curvature of slits (1/radius of curvature) \\ - \hline -m & [1] & \\ -alpha & [\AA] & \\ -Qc & [\AA$^{-1}$] & slit coating parameters. See section \ref{ss:mirrorreflect} \\ -W & [\AA$^{-1}$] & \\ -R0 & [1] & \\ - \hline - \end{tabular} - \caption{FermiChopper component parameters} - \label{t:fc-param} - } - \end{center} -\end{table} - - -\subsection{Propagation in the Fermi-chopper} - -As can be seen in figure \ref{fig:Overview}, neutrons first propagate onto the cylinder surface of the chopper (yellow curve). Then the program checks the interaction with the entrance of the slit package (orange line) and calculates which slit is hit. If the slit coating is reflecting ($m > 0$), multiple reflections are calculated (green, blue and maroon circles), otherwise the neutrons are absorbed as soon as they interact with the blades. Finally the remaining neutrons propagate to the exit of the chopper (red curve). - -The rotation of the chopper is characterized by the angle $\delta$ between the rotating z' and the static z-axis. $\delta(t)$ is defined by: - -$$\delta(t) = \widehat{z,z'} = \omega.(t-t_0) = \omega.t+\phi_0$$ - -where $t$ is the absolute time, $t_0$ is the chopper delay, and $\phi_0$ is the chopper phase. The chopper should better be \emph{time focussing}: slow neutrons should pass before the fast ones, so that they finally hit the detectors at the same time. Therefore the signs of $\omega$ and $\delta$ are very important: For $t>t_0$, $\delta$ is positive and points anti-clockwise. - -Since the rotation is applied along the y - axis, we can simplify the problem to two dimensions. The orthogonal transformation matrix $T$ from the static $(zx)$ to the rotating frame $(z'x')$ is: -\begin{equation} -T_{zx \rightarrow z'x'} = \left( -\begin{array}{cc} -\cos(\delta) & \sin (\delta) \\ --\sin(\delta) & \cos(\delta) -\end{array} -\right) -\end{equation} - -\begin{figure} -\begin{center} -\begin{tabular}{cc} -\includegraphics[height=5.5cm]{./figures/XZCoords} -& -\includegraphics[height=6.5cm,width=5.5cm]{./figures/XZplain} -\end{tabular} -\end{center} -\caption{The x' and z' component as a function of time in the rotating frame (left). A typical neutron trajectory in the rotating frame (right).} -\label{fig:Component} -\end{figure} - -Together with the equation for a non-accelerated, linear propagation $\vec{r} = \vec{r_0}+\vec{v}t$ the orthogonal transformation produces a curve in the Z'-X'-plane known as \emph{archidemic spiral}, as can be seen in figure \ref{fig:Component}. The two vector components $s(t) = (z',x')$ follow the equation: -\begin{equation} -s(t) = \left( -\begin{array}{c} -z' \\ -x' -\end{array} -\right) = T.\left( -\begin{array}{c} -z(t) \\ -x(t) -\end{array} -\right) = \left( -\begin{array}{c} -(z_0+v_z.t)cos(\delta(t)) + (x_0+v_x.t)sin(\delta(t)) \\ --(z_0+v_z.t)sin(\delta(t)) + (x_0+v_x.t)cos(\delta(t)) -\end{array} -\right). -\label{eq:Txz} -\end{equation} -For a fixed chopper rotation speed, the neutron trajectory tends to strech from a spiral curve for slow neutrons to a straight line for fast neutrons. For real Fermi chopper settings $\nu$ (about 100 Hz on IN6 at the ILL), neutron trajectories are found to be nearly straight for 1000 m/s neutron velocities \cite{blanc83}. - -The basis of the algorithm is to find the intersections of these spiral trajectories with the chopper outer cylinder and then the slit package, in the rotating frame. - -For this purpose, the \emph{Ridders's} root finding method was implemented \cite{NumRecip} in order to solve -\begin{equation} -x'(t) = d \textrm{\ or\ } z'(t) = d -\label{eq:Ridder} -\end{equation} -This method provides faster and more accurate intersection determination than other common algorithms. E.g. the secant method fails more often and may give wrong results (outside chopper) whereas the bisection method (a.k.a Picard dichotomy) is slightly slower. - -\subsubsection{Standard slit packages (non super-mirror)} - -\begin{figure} -\begin{center} -\begin{tabular}{cc} -\includegraphics[height=5cm]{./figures/FCAlgo} -& -\includegraphics[height=5cm]{./figures/FCtangents} -\end{tabular} -\end{center} -\caption{The different steps in the algorithm (left). A neutron trajectory in a slit (right)} -\label{fig:TOFalg} -\end{figure} - -The neutrons are first propagated to the outer chopper cylinder and their coordinates are transformed into the rotating frame using $T$. Neutrons outside the slit channel (chopper opening), or hitting the top and bottom caps are absorbed (yellow dots in Fig. \ref{fig:Overview}). The side from which the neutron approaches the chopper is known (positive or negative z'-axis of the rotating frame) so that the calculation of the time of interaction with the slit package entrance $t_1$ is performed solving $z' = \pm \frac{\textrm{length}}{2}$ in Eq. (\ref{eq:Txz}). Using the result of the numerical algorithms the neutron propagates to the entrance of the slit package (orange circles in Fig. \ref{fig:Overview}). Neutrons getting aside the slit package entrance are absorbed. Additionally, the slit package exit time $t_2$ is estimated the same way with $z' = \mp \frac{\textrm{length}}{2}$, in order to evaluate the whole time-of-flight in the chopper. The index of the slit which was hit is also computed, as we know the $x'$ coordinate in the rotating frame at the slit entrance. - -Differentiating Eq. (\ref{eq:Txz}) for $x$ coordinate -\begin{equation} -\dot{x'}(t) = v_x'(t) = [v_x-\omega.(z+v_z.t)]\cos(\omega(t-t_0)) - [v_z+\omega.(x+v_x.t)]\sin(\omega(t-t_0)) -\end{equation} -we may estimate the tangents to the spiral neutron trajectory in the rotating frame at times $t_1$ and $t_2$. The intersection of these two lines gives an intermediate time $t_3$. - -If the neutron remains in the same slit at this point, then there is no intersection with the slit walls (direct flight), and the neutron may be propagated to the slit output, and then to the cylinder output. A last check is made for the neutron to pass the chopper aperture in the cylinder. - -If the neutron changes of slit channel at this point, we may determine the intersection time of the neutron trajectory within $[ t_1, t_3 ]$ or $[ t_3, t_2 ]$, as seen in Fig. \ref{fig:TOFalg}. If walls are not reflecting, we just absorb neutrons here. - -\subsubsection{The reflections (super-mirror slits)} - -If slit walls are reflecting, neutron is first propagated to the slit separating surface. Then the velocity in the rotating frame is computed using Eq. (\ref{eq:Txz}). Perpendicular velocity $v_x'$ is reverted for reflection, and inverse $T$ transformation is performed. Reflected intensity is computed the same way as for the guide component (see section \ref{s:mirror}). The remaining time $t_2$ to the slit output is estimated and the tangent intersection process is iterated, until neutron exits. Remember that super mirror $m < 1$ parameters behave like $m=1$ materials (see section \ref{ss:mirrorreflect}). Selecting $m=0$ sets the blabes absorbing. - -The propagation is finalized when determining the intersection of the neutron trajectory with the outer surface of the chopper cylinder. The neutron must then pass its aperture, else it is absorbed. - -\textbf{WARNING:} Issues have been reported for the supermirror slit option in this component. The component works correctly when using the standard, absorbing slits. We will be back with more information during the course of 2017. Meanwhile we suggest to instead use Guide\_channeled with the rotate/derotate option shown in the test instrument Test\_Fermi.instr. - -\subsubsection{Curved slit packages} - -The effect of curvature can significantly improve the flux and energy resolution shape. - -As all $(zx)$ cordinates are transformed into $(z'x')$, the most efficient way to take into account the curvature is to include it in the transformation Eq. (\ref{eq:Txz}) by 'morphing' the curved rotating real space to a straight still frame. We use parabolic curvature for slits. Then instead of solving -\begin{equation}x'(t) = d - \Delta_{x'}(z') \textrm{\ where\ } \Delta_{x'}(z')=R_{slit}.(1-\sqrt{1-(z'/R_{slit})^2}) -\end{equation} -with $\Delta$ being the gap between the straight tangent line at the slit center and the real slit shape, we perform the additional transformation -\begin{equation} -x' \rightarrow x' + \Delta_{x'}(z') -\end{equation} -The additional transformation counter-balances the real curvature so that the rest of the algorithm is written as if slits were straight. -This applies to all computations in the rotating frame, and thus as well to reflections on super mirror coatings. - +\section{The \texttt{FermiChopper} McStas Component} +Fermi Chopper with rotating frame. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} M. Poehlmann, C. Carbogno, H. Schober, E. Farhi + \item \textbf{Origin:} ILL Grenoble / TU Muenchen + \item \textbf{Date:} May 2002 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a fermi chopper with optional supermirror coated blades +supermirror facilities may be disabled by setting m = 0, R0=0 +Slit packages are straight. Chopper slits are separated by an infinitely +thin absorbing material. The effective transmission (resulting from fraction +of the transparent material and its transmission) may be specified. +The chopper slit package width may be specified through the total width 'xwidth' +of the full package or the width 'w' of each single slit. The other parameter +is calculated by: xwidth = nslit*w. The slit package may be made curved and use +super-mirror coating. + +Example: +FermiChopper(phase=-50.0, radius=0.04, nu=100, yheight=0.08, w=0.00022475, nslit=200.0, R0=0.0, Qc=0.02176, alpha=2.33, m=0.0, length=0.012, eff=0.95) + +%VALIDATION +Apr 2005: extensive external test, most problems solved (cf. 'Bugs') +Validated by: K. Lieutenant, E. Farhi + +limitations: +no absorbing blade width used +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +phase & deg & chopper phase at t=0 & 0 \\ +radius & m & chopper cylinder radius & 0.04 \\ +nu & Hz & chopper frequency. Omega=2*PI*nu in rad/s, nu*60 in rpm. Positive value corresponds to a counter-clockwise rotation around y. & 100 \\ +w & m & width of one chopper slit & 0.00022475 \\ +nslit & 1 & number of chopper slits & 200 \\ +R0 & 1 & low-angle reflectivity & 0.0 \\ +Qc & AA-1 & critical scattering vector & 0.02176 \\ +alpha & AA & slope of reflectivity & 2.33 \\ +m & 1 & m-value of material. Zero means completely absorbing. & 0.0 \\ +W & AA-1 & width of supermirror cut-off & 2e-3 \\ +length & m & channel length of the Fermi chopper & 0.012 \\ +eff & 1 & efficiency = transmission x fraction of transparent material & 0.95 \\ +zero\_time & 1 & set time to zero: 0=no, 1=once per half cycle, 2=auto adjust phase & 0 \\ +xwidth & m & optional total width of slit package & 0 \\ +verbose & 1 & set to 1,2 or 3 gives debugging information & 0 \\ +yheight & m & height of slit package & 0.08 \\ +curvature & m-1 & Curvature of slits (1/radius of curvature). & 0 \\ +delay & s & sets phase so that transmision is centered on 'delay' & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/FermiChopper.comp}{Source code} for \texttt{FermiChopper.comp}. + \item \textless{}a href="Vitess\_ChopperFermi.html"\textgreater{}Vitess\_ChopperFermi\textless{}/a\textgreater{} component by + \item G. Zsigmond, imported from Vitess by K. Lieutenant. +\end{itemize} +\IfFileExists{FermiChopper_static.tex}{\input{FermiChopper_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/FermiChopper_static.tex b/docs/manuals/mcstas/optics/FermiChopper_static.tex new file mode 100644 index 0000000000..c599b471ad --- /dev/null +++ b/docs/manuals/mcstas/optics/FermiChopper_static.tex @@ -0,0 +1,176 @@ +\section{FermiChopper: The Fermi-chopper} + +%\component{FermiChopper}{M. Poehlmann, C. Carbogno, H. Schober, +%E. Farhi}{$R,y_{min} y_{max}, +%\nu,w,length$,Nslit,phase}{$m,Q_c,R_0,\alpha, +%W$,curvature,zero\_time}{validated} +%\mcdoccomp{optics/FermiChopper.parms} +\index{Optics!Fermi Chopper|textbf} + +\begin{figure} +\begin{center} +\begin{tabular}{cc} +\includegraphics[height=7cm]{./figures/FCChoppergeo} +& +\includegraphics[height=5cm,width=5.3cm]{./figures/FCOverview} +\end{tabular} +\end{center} +\caption{Geometry of the Fermi-chopper (left) and Neutrons in the chopper (right).} +\label{fig:Overview} +\end{figure} + +\subsection{The chopper geometry and parameters} +\label{ssec:chopper} + +The Fermi chopper is a rotating vertical cylinder containing a set of collimating slits (\emph{slit package}). Main geometry parameters are the radius $R$, minimum and maximum height $y_{min}$ and $y_{max}$ (see Fig. \ref{fig:Overview}). +In this implementation, the slits are by default straight, but may be coated with super-mirror, and curved. Main parameters for the slits are the number of slits $Nslit$, the length $length$ and width $w$ of each slit, the width of the separating Cd-blades is neglected. The slit walls reflectivity is modelled just like in guide components by the $m$-value ($m > 1$ for super mirrors), the critical scattering vector $Q_c$, the slope of reflectivity $\alpha$, the low-angle reflectivity $R_0$ and the width of supermirror cut-off $W$. For $m=0$ the blades are completly absorbing. The AT position of the component is its center. + +The angular speed of the chopper is $\omega = 2\pi \nu$, where $\nu$ is the rotation frequency. The angle $phase$ for which the chopper is in the 'open' state for most of the neutrons coming in (z' axis of the rotating frame parallel to the z axis of the static frame) is also an input parameter. The time window may optionally be shifted to zero when setting the \verb+zero_time=1+ option. A phase guess value may be set automatically using the \verb+zero_time=2+ option. + +The curvature of the slit channels is specified with the \textit{curvature} parameter. Positive sign indicates that the deviation 'bump' due to curvature is in the $x'$ positive side, and the center of curvature is in the $x'$ negative side. The optimal radius of curvature $R$ is related to frequency $\nu$ and neutron velocity $v$ with: $v=4 \pi R \nu$. + +The component was validated extensively by K.\ Lieutenant. As an alternative, one may use the \textbf{Vitess\_ChopperFermi} component (eventhough slower and without super-mirror support) or the \textbf{FermiChopper\_ILL} contributed component. The Guide\_gravity component has also a rotating mode, using an approximation of a Fermi Chopper. + +\begin{table} + \begin{center} + {\let\my=\\ + \begin{tabular}{|lr|p{0.6\textwidth}|} + \hline +Parameter & unit & meaning \\ + \hline +radius & [m] & chopper cylinder radius \\ +ymin & [m] & lower y bound of cylinder \\ +ymax & [m] & upper y bound of cylinder \\ +Nslit & [1] & number of chopper slits \\ +length & [m] & channel length of the Fermi chopper \\ +w & [m] & width of one chopper slit. May also be specified as \emph{width}=w*Nslit for total width of slit package. \\ +nu & [Hz] & chopper frequency \\ +phase & [deg] & chopper phase at t=0 \\ +zero\_time & [1] & shit time window around 0 if true \\ +curvature & [m$^{-1}$] & Curvature of slits (1/radius of curvature) \\ + \hline +m & [1] & \\ +alpha & [\AA] & \\ +Qc & [\AA$^{-1}$] & slit coating parameters. See section \ref{ss:mirrorreflect} \\ +W & [\AA$^{-1}$] & \\ +R0 & [1] & \\ + \hline + \end{tabular} + \caption{FermiChopper component parameters} + \label{t:fc-param} + } + \end{center} +\end{table} + + +\subsection{Propagation in the Fermi-chopper} + +As can be seen in figure \ref{fig:Overview}, neutrons first propagate onto the cylinder surface of the chopper (yellow curve). Then the program checks the interaction with the entrance of the slit package (orange line) and calculates which slit is hit. If the slit coating is reflecting ($m > 0$), multiple reflections are calculated (green, blue and maroon circles), otherwise the neutrons are absorbed as soon as they interact with the blades. Finally the remaining neutrons propagate to the exit of the chopper (red curve). + +The rotation of the chopper is characterized by the angle $\delta$ between the rotating z' and the static z-axis. $\delta(t)$ is defined by: + +$$\delta(t) = \widehat{z,z'} = \omega.(t-t_0) = \omega.t+\phi_0$$ + +where $t$ is the absolute time, $t_0$ is the chopper delay, and $\phi_0$ is the chopper phase. The chopper should better be \emph{time focussing}: slow neutrons should pass before the fast ones, so that they finally hit the detectors at the same time. Therefore the signs of $\omega$ and $\delta$ are very important: For $t>t_0$, $\delta$ is positive and points anti-clockwise. + +Since the rotation is applied along the y - axis, we can simplify the problem to two dimensions. The orthogonal transformation matrix $T$ from the static $(zx)$ to the rotating frame $(z'x')$ is: +\begin{equation} +T_{zx \rightarrow z'x'} = \left( +\begin{array}{cc} +\cos(\delta) & \sin (\delta) \\ +-\sin(\delta) & \cos(\delta) +\end{array} +\right) +\end{equation} + +\begin{figure} +\begin{center} +\begin{tabular}{cc} +\includegraphics[height=5.5cm]{./figures/XZCoords} +& +\includegraphics[height=6.5cm,width=5.5cm]{./figures/XZplain} +\end{tabular} +\end{center} +\caption{The x' and z' component as a function of time in the rotating frame (left). A typical neutron trajectory in the rotating frame (right).} +\label{fig:Component} +\end{figure} + +Together with the equation for a non-accelerated, linear propagation $\vec{r} = \vec{r_0}+\vec{v}t$ the orthogonal transformation produces a curve in the Z'-X'-plane known as \emph{archidemic spiral}, as can be seen in figure \ref{fig:Component}. The two vector components $s(t) = (z',x')$ follow the equation: +\begin{equation} +s(t) = \left( +\begin{array}{c} +z' \\ +x' +\end{array} +\right) = T.\left( +\begin{array}{c} +z(t) \\ +x(t) +\end{array} +\right) = \left( +\begin{array}{c} +(z_0+v_z.t)cos(\delta(t)) + (x_0+v_x.t)sin(\delta(t)) \\ +-(z_0+v_z.t)sin(\delta(t)) + (x_0+v_x.t)cos(\delta(t)) +\end{array} +\right). +\label{eq:Txz} +\end{equation} +For a fixed chopper rotation speed, the neutron trajectory tends to strech from a spiral curve for slow neutrons to a straight line for fast neutrons. For real Fermi chopper settings $\nu$ (about 100 Hz on IN6 at the ILL), neutron trajectories are found to be nearly straight for 1000 m/s neutron velocities \cite{blanc83}. + +The basis of the algorithm is to find the intersections of these spiral trajectories with the chopper outer cylinder and then the slit package, in the rotating frame. + +For this purpose, the \emph{Ridders's} root finding method was implemented \cite{NumRecip} in order to solve +\begin{equation} +x'(t) = d \textrm{\ or\ } z'(t) = d +\label{eq:Ridder} +\end{equation} +This method provides faster and more accurate intersection determination than other common algorithms. E.g. the secant method fails more often and may give wrong results (outside chopper) whereas the bisection method (a.k.a Picard dichotomy) is slightly slower. + +\subsubsection{Standard slit packages (non super-mirror)} + +\begin{figure} +\begin{center} +\begin{tabular}{cc} +\includegraphics[height=5cm]{./figures/FCAlgo} +& +\includegraphics[height=5cm]{./figures/FCtangents} +\end{tabular} +\end{center} +\caption{The different steps in the algorithm (left). A neutron trajectory in a slit (right)} +\label{fig:TOFalg} +\end{figure} + +The neutrons are first propagated to the outer chopper cylinder and their coordinates are transformed into the rotating frame using $T$. Neutrons outside the slit channel (chopper opening), or hitting the top and bottom caps are absorbed (yellow dots in Fig. \ref{fig:Overview}). The side from which the neutron approaches the chopper is known (positive or negative z'-axis of the rotating frame) so that the calculation of the time of interaction with the slit package entrance $t_1$ is performed solving $z' = \pm \frac{\textrm{length}}{2}$ in Eq. (\ref{eq:Txz}). Using the result of the numerical algorithms the neutron propagates to the entrance of the slit package (orange circles in Fig. \ref{fig:Overview}). Neutrons getting aside the slit package entrance are absorbed. Additionally, the slit package exit time $t_2$ is estimated the same way with $z' = \mp \frac{\textrm{length}}{2}$, in order to evaluate the whole time-of-flight in the chopper. The index of the slit which was hit is also computed, as we know the $x'$ coordinate in the rotating frame at the slit entrance. + +Differentiating Eq. (\ref{eq:Txz}) for $x$ coordinate +\begin{equation} +\dot{x'}(t) = v_x'(t) = [v_x-\omega.(z+v_z.t)]\cos(\omega(t-t_0)) - [v_z+\omega.(x+v_x.t)]\sin(\omega(t-t_0)) +\end{equation} +we may estimate the tangents to the spiral neutron trajectory in the rotating frame at times $t_1$ and $t_2$. The intersection of these two lines gives an intermediate time $t_3$. + +If the neutron remains in the same slit at this point, then there is no intersection with the slit walls (direct flight), and the neutron may be propagated to the slit output, and then to the cylinder output. A last check is made for the neutron to pass the chopper aperture in the cylinder. + +If the neutron changes of slit channel at this point, we may determine the intersection time of the neutron trajectory within $[ t_1, t_3 ]$ or $[ t_3, t_2 ]$, as seen in Fig. \ref{fig:TOFalg}. If walls are not reflecting, we just absorb neutrons here. + +\subsubsection{The reflections (super-mirror slits)} + +If slit walls are reflecting, neutron is first propagated to the slit separating surface. Then the velocity in the rotating frame is computed using Eq. (\ref{eq:Txz}). Perpendicular velocity $v_x'$ is reverted for reflection, and inverse $T$ transformation is performed. Reflected intensity is computed the same way as for the guide component (see section \ref{s:mirror}). The remaining time $t_2$ to the slit output is estimated and the tangent intersection process is iterated, until neutron exits. Remember that super mirror $m < 1$ parameters behave like $m=1$ materials (see section \ref{ss:mirrorreflect}). Selecting $m=0$ sets the blabes absorbing. + +The propagation is finalized when determining the intersection of the neutron trajectory with the outer surface of the chopper cylinder. The neutron must then pass its aperture, else it is absorbed. + +\textbf{WARNING:} Issues have been reported for the supermirror slit option in this component. The component works correctly when using the standard, absorbing slits. We will be back with more information during the course of 2017. Meanwhile we suggest to instead use Guide\_channeled with the rotate/derotate option shown in the test instrument Test\_Fermi.instr. + +\subsubsection{Curved slit packages} + +The effect of curvature can significantly improve the flux and energy resolution shape. + +As all $(zx)$ cordinates are transformed into $(z'x')$, the most efficient way to take into account the curvature is to include it in the transformation Eq. (\ref{eq:Txz}) by 'morphing' the curved rotating real space to a straight still frame. We use parabolic curvature for slits. Then instead of solving +\begin{equation}x'(t) = d - \Delta_{x'}(z') \textrm{\ where\ } \Delta_{x'}(z')=R_{slit}.(1-\sqrt{1-(z'/R_{slit})^2}) +\end{equation} +with $\Delta$ being the gap between the straight tangent line at the slit center and the real slit shape, we perform the additional transformation +\begin{equation} +x' \rightarrow x' + \Delta_{x'}(z') +\end{equation} +The additional transformation counter-balances the real curvature so that the rest of the algorithm is written as if slits were straight. +This applies to all computations in the rotating frame, and thus as well to reflections on super mirror coatings. + diff --git a/docs/manuals/mcstas/optics/Filter.tex b/docs/manuals/mcstas/optics/Filter.tex index c9de4a29b7..9a9be6bfb3 100644 --- a/docs/manuals/mcstas/optics/Filter.tex +++ b/docs/manuals/mcstas/optics/Filter.tex @@ -4,7 +4,7 @@ \section{Filter\_gen: A general filter using a transmission table} \index{Sources!from 1D table input} %\component{Filter\_gen}{System}{$x_{min}$, $x_{max}$, $y_{min}$, $y_{max}$, $file$}{$options$}{validated, flat filter} -\mcdoccomp{optics/Filter.parms} +%\mcdoccomp{optics/Filter.parms} This component is an ideal flat filter that changes the neutron flux according to a 1D input table (text file). diff --git a/docs/manuals/mcstas/optics/Filter_gen.tex b/docs/manuals/mcstas/optics/Filter_gen.tex new file mode 100644 index 0000000000..312ac55ba1 --- /dev/null +++ b/docs/manuals/mcstas/optics/Filter_gen.tex @@ -0,0 +1,82 @@ +\section{The \texttt{Filter\_gen} McStas Component} +Release: McStas 1.6 + +This components may either set the flux or change it (filter-like), using +an external data filename. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} E. Farhi + \item \textbf{Origin:} ILL + \item \textbf{Date:} Dec, 15th, 2002 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This component changes the neutron flux (weight) in order to match +a reference table in a filename. +Typically you may set the neutron flux (source-like), or multiply it +using a transmission table (filter-like). +The component may be placed after a source, in order to e.g. +simulate a real source from a reference table, or used as a filter (BeO) +or as a window (Al). The behaviour of the component is +specified using the 'options' parameter, or from the filename itself (see below) +If the thickness for the transmission data filename D was t0, and a different +thickness t1 would be required, then the resulting transmission is: +D^(t1/t0). +You may use the 'thickness' and 'scaling' parameter for that purpose. + +File format: +This filename may be of any 2-columns free format (k[Angs-1],p), (omega[meV],p) +and (lambda[Angs],p) where p is the weight. The type of the filename may be +written explicitely in the filename, as a comment, or using the 'options' +parameter. +Non mumerical content in filename is treated as comment (e.g. lines starting +with '#' character). +A table rebinning and linear interpolation are performed. + +EXAMPLE : in order to simulate a PG filter, using the lib/data/HOPG.trm file +Filter_gen(xwidth=.1 yheight=.1, filename="HOPG.trm") +A Sapphire filter, using the lib/data/Al2O3_sapphire.trm file +Filter_gen(xwidth=.1 yheight=.1, filename="Al2O3_sapphire.trm") +A Berylium filter, using the lib/data/Be.trm file +Filter_gen(xwidth=.1 yheight=.1, filename="Be.trm") +an other possibility to simulate a Be filter is to use the PowderN component: +PowderN(xwidth=.1, yheight=.1, zdepth=.1, reflections="Be.laz", p_inc=1e-4) + +in this filename, the comment line +# wavevector multiply +sets the behaviour of the component. One may as well have used +options="wavevector multiply" +in the component instance parameters. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & str & name of the filename to look at (first two columns data). Data D should rather be sorted (ascending order) and monotonic filename may contain options (see below) as comment & 0 \\ +options & str & string that can contain: "[ k p ]" or "wavevector" for filename type, "[ omega p]" or "energy", "[ lambda p ]" or "wavelength", "set" to set the weight according to the table,"multiply" to multiply (instead of set) the weight by factor,"add" to add to current flux,"verbose" to display additional informations. & 0 \\ +xmin & m & dimension of filter & -0.05 \\ +xmax & m & dimension of filter & 0.05 \\ +ymin & m & dimension of filter & -0.05 \\ +ymax & m & dimension of filter & 0.05 \\ +xwidth & m & Width/diameter of filter). Overrides xmin,xmax. & 0 \\ +yheight & m & Height of filter. Overrides ymin,ymax. & 0 \\ +thickness & 1 & relative thickness. D = D\textasciicircum{}(thickness). & 1 \\ +scaling & 1 & scaling factor. D = D*scaling. & 1 \\ +verbose & 1 & Flag to select verbose output. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Filter_gen.comp}{Source code} for \texttt{Filter\_gen.comp}. + \item \textless{}a href="../data/HOPG.trm"\textgreater{}HOPG.trm\textless{}/a\textgreater{} filename as an example. +\end{itemize} +\IfFileExists{Filter_gen_static.tex}{\input{Filter_gen_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Guide.tex b/docs/manuals/mcstas/optics/Guide.tex index d4f9029161..6d2102f9dd 100644 --- a/docs/manuals/mcstas/optics/Guide.tex +++ b/docs/manuals/mcstas/optics/Guide.tex @@ -1,332 +1,58 @@ +\section{The \texttt{Guide} McStas Component} +Neutron guide. -\index{Optics|textbf} - -This section describes advanced neutron optical -components such as supermirrors and guides. -A description of the reflectivity of a supermirror is found -in section~\ref{s:mirror}. - -\section{Mirror: The single mirror} -\label{s:mirror} -\index{Optics!Mirror plane} -\component{Mirror}{System}{$l$, $h$, $m$}{$R_0, Q_c, W, \alpha, reflect$}{validated, no gravitation support} - -The component \textbf{Mirror} -models a single rectangular neutron mirror plate. It can be used -as a sample component or to \textit{e.g.}~assemble a complete neutron guide by putting multiple -mirror components at appropriate locations and orientations in the -instrument definition, much like a real guide is build from individual -mirrors. - -In the local coordinate system, the mirror lies in the first quadrant of the -$x$-$y$ plane, with one corner at $(0,0,0)$. - -The input parameters of this component are -the rectangular mirror dimensions $(l, h)$ -and the values of $R_0, m, Q_c, W$, and $\alpha$ for the mirror reflectivity. -As a special case, if $m=0$ then the reflectivity is zero for all $Q$, -\textit{i.e.}\ the surface is completely absorbing. - -This component may produce wrong results with gravitation. - -\subsection{Mirror reflectivity} -\label{ss:mirrorreflect} -To compute the reflectivity of the supermirrors, we use an empirical -formula derived from experimental data \cite{pb_241_50}, -see Fig.~\ref{f:reflectivity}. The reflectivity is given by -\begin{equation} \label{e:Rmirror} - R = \left\{ - \begin{array}{ll} - R_0 & \textrm{if $Q \leq Q_\textrm{c}$} \\ - \frac{1}{2}R_0(1 - \tanh[(Q - m Q_\textrm{c})/W])(1-\alpha(Q-Q_\textrm{c})) - & \textrm{if $Q > Q_\textrm{c}$} - \end{array} - \right. -\end{equation} - -Here $Q$ is the length of the scattering vector (in \AA$^{-1}$) -defined by -\begin{equation} \label{e:reflectivity} -Q = |\textbf{k}_\textbf{i} - \textbf{k}_\textbf{f}| - = \frac{m_\textrm{n}}{\hbar} |\textbf{v}_\textbf{i} - \textbf{v}_\textbf{f}|, -\end{equation} -$m_\textrm{n}$ being the neutron mass. -The number $m$ in (\ref{e:Rmirror}) is a parameter determined by -the mirror materials, -the bilayer sequence, and the number of bilayers. -As can be seen, $R=R_0$ for $Q < Q_\textrm{c}$, where $Q_\textrm{c}$ is the -critical scattering wave vector for a single layer of the mirror -material. At higher values of $Q$, the reflectivity starts falling -linearly with a slope $\alpha$ until a "soft cut-off" at $Q = m Q_\textrm{c}$. -The width of this cut-off is denoted $W$. See the example reflection curve in -figure~\ref{f:reflectivity}. - -It is \textbf{important} to notice that when $m < 1$, the reflectivity remains constant at $R=R_0$ up to $q=Qc$, and \emph{not} $m.Q_c$. This means that $m < 1$ parameters behave like $m=1$ materials. - -Alternatively, the Mirror, Guide and Guide\_gravity components may use a reflectivity table $reflect$, which 1st column is q [$\AA^{-1}$] and 2nd column as the reflectivity $R$ in [0-1]. For this purpose, we provide $m=2$ and $m=3$ reflectivity files from SwissNeutronics (\verb+supermirror_m2.rfl+ and \verb+supermirror_m3.rfl+ in \verb+MCSTAS/lib/data/+). - -\subsection{Algorithm} -The function of the component can be described as -\begin{enumerate} -\item Propagate the neutron ray to the plane of the mirror. -\item If the neutron trajectory intersects the mirror plate, it is -reflected, otherwise it is left untouched. -\item Reflection of the incident velocity -$\textbf{v}_\textrm{i} = (v_x,v_y,v_z)$ -gives the final velocity $\textbf{v}_\textrm{f} = (v_x,v_y,-v_z)$. -\item Calculate $Q=2 m_\textrm{n} v_z / \hbar$. -\item The neutron weight is adjusted with the amount $\pi_i = R(Q)$. -\item To avoid spending large amounts of computation time on very low-weight -neutrons, neutrons for which the reflectivity is lower than about -$10^{-10}$ are ABSORB'ed. -\end{enumerate} - -\begin{figure} - \begin{center} - \includegraphics[width=0.6\textwidth]{figures/supermirror} - \end{center} -\caption{A typical reflectivity curve for a supermirror, -Eq.~(\protect\ref{e:reflectivity}). The used values are -$ m=4$, $R_0=1$, $Q_\textrm{c} = 0.02$~\AA$^{-1}$, $\alpha = 6.49$~\AA, -$ W=1/300$~\AA$^{-1}$. -} -\label{f:reflectivity} -\end{figure} - -\newpage - -\section{Guide: The guide section} -\index{Optics!Straight guide} - -%\component{Guide}{System}{$w_1, h_1$, $w_2, h_2$, $l$, $m$, $reflect$}{$R_0, Q_c, W, \alpha$}{validated, no gravitation support} -\mcdoccomp{optics/Guide.parms} - -The component \textbf{Guide} -models a guide tube consisting of four flat mirrors. The -guide is centered on the $z$ axis with rectangular entrance and exit -openings parallel to the $x$-$y$ plane. The entrance has the dimensions -$(w_1,h_1)$ and placed at $z=0$. The exit is of dimensions $(w_2,h_2)$ -and is placed at $z=l$ where $l$ is the guide length. See -figure~\ref{f:guide}. -The reflecting properties are given by the values of -$R_0, m, Q_c, W$, and $\alpha$, as for \textbf{Mirror}, or alternatively from the reflectivity file $reflect$. - -\textbf{Guide} may produce wrong results with gravitation support. -Use \textbf{Guide\_gravity} (section \ref{s:guide_gravity}) in this case, -or the \textbf{Guide\_channeled} -in section~\ref{s:channeled_guide}. - -\begin{figure} - \begin{center} - \includegraphics[width=0.7\textwidth]{figures/guide1} - \end{center} -\caption{The geometry used for the guide component.} -\label{f:guide} -\end{figure} - -\subsection{Guide geometry and reflection} -For computations on the guide geometry, we define the planes of the four -guide sides by giving their normal vectors (pointing into the guide) -and a point lying in the plane: -$$ -\begin{array}{rclcrcl} -\textbf{n}^v_1 &=& (l, 0, {(w_2 - w_1) / 2}) - & & \textbf{O}^v_1 &=& (- w_1 / 2, 0, 0) \\ -\textbf{n}^v_2 &=& (-l, 0, {(w_2 - w_1) / 2}) - & & \textbf{O}^v_2 &=& (w_1 / 2, 0, 0) \\ -\textbf{n}^h_1 &=& (0, l, {(h_2 - h_1) / 2}) - & & \textbf{O}^h_1 &=& (0, - h_1 / 2, 0) \\ -\textbf{n}^h_2 &=& (0, -l, {(h_2 - h_1) / 2}) - & & \textbf{O}^h_2 &=& (0, h_1 / 2, 0) \\ -\end{array} -$$ -In the following, we refer to an arbitrary guide side by its origin -\textbf{O} and normal \textbf{n}. - -With these definitions, the time of intersection of the neutron with a -guide side can be computed by considering the projection onto the -normal: -\begin{equation} -t^\alpha_\beta = \frac{(\textbf{O}^\alpha_\beta - \textbf{r}_0) \cdot \textbf{n}^\alpha_\beta} - {\textbf{v} \cdot \textbf{n}^\alpha_\beta} , -\end{equation} -where $\alpha$ and $\beta$ are indices for the different guide walls, -assuming the values (h,v) and (1,2), respectively. -For a neutron that leaves the guide directly through the guide exit we have -\begin{equation} -t_\textrm{exit} = \frac{l - z_0}{v_z} -\end{equation} - -The reflected velocity $\textbf{v}_\textrm{f}$ of the neutron with incoming velocity -$\textbf{v}_\textrm{i}$ is computed by the formula -\begin{equation} - \textbf{v}_\textrm{f} = - \textbf{v}_\textrm{i} - - 2{\textbf{n} \cdot \frac{\textbf{v}_\textrm{i}}{{|\textbf{n}|^2}} \textbf{n}} -\end{equation} -This expression is arrived at by again considering the projection onto -the mirror normal (see figure~\ref{f:guidereflect}). The reflectivity of the -mirror is taken into account as explained in section~\ref{s:mirror}. - -\begin{figure} - \begin{center} - \includegraphics[width=0.5\textwidth]{figures/guide2} - \end{center} -\caption{Neutron reflecting from mirror. $\textbf{v}_\textrm{i}$ and -$\textbf{v}_\textrm{f}$ are the initial and final velocities, respectively, -and \textbf{n} is a vector normal to the mirror surface.} -\label{f:guidereflect} -\end{figure} - -\subsection{Algorithm} -\begin{enumerate} -\item The neutron is initially propagated to the $z = 0$ plane of the -guide entrance. -\item If it misses the entrance, it is ABSORB'ed. -\item Otherwise, repeatedly compute the time of intersection with the -four mirror sides and the guide exit. -\item The smallest positive $t$ thus -found gives the time of the next intersection with the guide (or in the -case of the guide exit, the time when the neutron leaves the guide). -\item Propagated the neutron ray to this point. -\item Compute the reflection from the side. -\item Update the neutron weight factor by the amount $\pi_i = R(Q)$. -\item Repeat this process until the neutron leaves the guide. -\end{enumerate} - -There are a few optimizations possible here to avoid redundant -computations. Since the neutron is always inside the guide during the -computations, we always have -$(\textbf{O} - \textbf{r}_0) \cdot \textbf{n} \leq 0$. -Thus $t \leq 0$ if $\textbf{v} \cdot \textbf{n} \geq 0$, so in this case -there is no need to actually compute $t$. Some redundant computations -are also avoided by utilizing symmetry and the fact that many -components of \textbf{n} and \textbf{O} are zero. - -\newpage - -\section{Guide\_channeled: A guide section component with multiple channels} -\label{s:channeled_guide} -\index{Optics!Guide with channels (straight, non focusing)} - -\component{Guide\_channeled}{System}{$w_1, h_1$, $w_2, h_2$, $l$, $k$, $m_x, m_y$}{$d, R_0, Q_{cx}, Q_{cy}, W, \alpha_x, \alpha_y$}{validated, no gravitation support} - -The component \textbf{Guide\_channeled} is a more complex variation of \textbf{Guide} -described in the previous section. It allows the specification -of different supermirror parameters for the horizontal and vertical -mirrors, and also implements guides with multiple channels as used in -neutron bender devices. By setting the $m$ value of the supermirror -coatings to zero, nonreflecting walls are simulated; -this may be used for a very detailed simulation of a Soller collimator, -see section~\ref{collimator-linear}. - -The input parameters are $w_1$, $h_1$, $w_2$, $h_2$, and $l$ -to set the guide dimensions as for \textbf{Guide} -(entry window, exit window, and length); -$k$ to set the number of channels; $d$ to set the thickness of the -channel walls; and $R_0$, $W$, $Q_{cx}$, $Q_{cy}$, $\alpha_x$, $\alpha_y$, -$m_x$, and $m_y$ to set the supermirror parameters as described under \textbf{Guide} -(the names with \textit{x} denote the vertical mirrors, -and those with \textit{y} denote the horizontal ones). - -\subsection{Algorithm} -The implementation is based on that of \textbf{Guide}. -\begin{enumerate} -\item Calculate the channel which the neutron will enter. -\item Shift the $x$ coordinate so that the channel can be simulated -as a single instance of the \textbf{Guide} component. -\item (do the same as in \textbf{Guide}.) -\item Restore the coordinates when the -neutron exits the guide or is absorbed. -\end{enumerate} - -\subsection{Known problems}\index{Bugs} +\subsection*{Identification} \begin{itemize} -\item This component may produce wrong results with gravitation support. -Use Guide\_gravity (section \ref{s:guide_gravity}) in this case. -\item The focusing channeled geometry (for $k > 1$ and different -values of $w_1$ and $w_2$) is buggy -(wall slopes are not computed correctly, and the component 'leaks' neutrons). + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} September 2 1998 \end{itemize} -\newpage - -\section{Guide\_gravity: A guide with multiple channels and gravitation handling} -\label{s:guide_gravity} -\index{Optics!Guide with channels and gravitation handling (straight)} -\index{Optics!Fermi Chopper} - -\component{Guide\_gravity}{System}{$w_1, h_1$, $w_2, h_2$, $l$, $k$, $m$}{$d, R_0, Q_c, W, \alpha$, wavy, chamfers, $k_h$, $n$, $G$}{validated, \textbf{with} gravitation support, rotating mode} - -This component is a variation of \textbf{Guide\_channeled} -(section \ref{s:channeled_guide}) with the ability to handle -gravitation effects and functional channeled focusing geometry. -Channels can be specified in two dimensions, -producing a 2D array ($k, k_h$) of smaller rectangular guide channels. - -The coating is specified as for the Guide and Mirror components by mean of the parameters $R_0, m, Q_c, W$, and $\alpha$, or alternatively from the reflectivity file $reflect$. - -Waviness effects, supposed to be randomly distributed -(\emph{i.e.} non-periodic waviness) -can be specified globally, or for each part of the guide section. -Additionally, chamfers -may be defined the same way. -Chamfers originate from the substrate manufacturing, so that operators do not harm themselves with cutting edges. Usual dimensions are about tens of millimeters. They are treated as absorbing edges around guide plates, both on the input and output surfaces, but also aside each mirror. - -The straight section of length $l$ may be divided into $n$ bits of same length -within which chamfers are taken into account. - -The component has also the capability to rotate at a given frequenccy in order to approximate a Fermi Chopper, including phase shift. The approximation resides in the fact that the component is considered fixed during neutron propagation inside slits. Beware that this component is then located at its entry window (not centered as the other Fermi choppers).\index{Bugs} - -To activate gravitation support, either select the \MCS gravitation support (\verb+mcrun --gravitation ...+ or from the Run dialog of \verb+mcgui+), -or set the gravitation field strength $G$ (e.g. -9.81 on Earth). - -This component is about 50 \% slower than the \verb+Guide+ component, but has much more capabilities. - -A contributed version Guide\_honeycomb of this component exists with a honeycomb geometry. - -\section{Bender: a bender model (non polarizing)} -\index{Optics!Bender (non polarizing)} - -\component{Bender}{Philipp Bernhardt}{$r, W_{in},l,w,h $}{$k,d,R_{0[a,i,s]},\alpha_{[a,i,s]},m_{[a,i,s]},Q_{c[a,i,s]},W_{[a,i,s]}$}{partly validated, no gravitation support} - -The Bender component is simulating an ideal curved neutron guide (bender). It is bent to the negative X-axis and behaves like a parallel guide in the Y axis. Opposite curvature may be achieved by a $(0,0,180)$ rotation (along Z-axis). -Bender radius $r$, entrance width $w$ and height $h$ are required parameters. To define the length, you may either enter the deviation angle $W_{in}$ or the length $l$. Three different reflectivity profiles $R_0,Q_c,W,m,\alpha$ can be given (see section~\ref{s:mirror}): for outer -walls (index $a$), for inner walls (index $i$) and for the top and bottom walls (index $s$). - -To get a better transmission coefficient, it is possible to split the bender into $k$ channels which are separated by partitions with the thickness of $d$. The partitioning walls have the same coating as the exterior walls. - -Because the angle of reflection doesn't change, the routine -calculates the reflection coefficent for the concave and, if necessary, for the convex wall only onces, together with the number of reflections. -Nevertheless the exact position, the time, and the divergence is calculated at the end of the bender, so there aren't any approximations. - -The component is shown \emph{straight} on geometrical views (mcdisplay/Trace), and the next component may be placed directly at distance $r.W_{in} = l$ \emph{without} rotation. - -Results have been compared succesfully with analytical formula in the case of an ideal reflection and cross-checked with the program \verb+haupt+. - -An other implementation of the Bender is available as the contributed component Guide\_curved. - -\section{Curved guides} -\index{Optics!Curved guides (polygonal model)} - -Real curved guides are usually made of many straight elements (about 1 m long) separated with small gaps (e.g. 1 mm). Sections of about 10 m long are separated with bigger gaps for accessibility and pumping purposes. - -We give here an example description of such a section. Let us have a curved guide of total length $L$, made of $n$ elements with a curvature radius $R$. Gaps of size $d$ separate elements from each other. The rotation angle of individual straight guide elements is $\alpha_z = (L+d)/R*180/\pi$ in degrees. - -In order to build an independent curved guide section, we define \verb+Arm+ components at the begining and end of it. +\subsection*{Description} \begin{lstlisting} -COMPONENT CG_In = Arm() AT (...) - -COMPONENT CG_1 = Guide_gravity(l=L/n, ...) -AT (0,0,0) RELATIVE PREVIOUS - -COMPONENT CG_2 = Guide_gravity(l=L/n, ...) -AT (0,0,L/n+d) RELATIVE PREVIOUS -ROTATED (0, (L/n+d)/R*180/PI, 0) RELATIVE PREVIOUS -... -COMPONENT CG_Out = Arm() AT (0,0,L/n) RELATIVE PREVIOUS +Models a rectangular guide tube centered on the Z axis. The entrance lies +in the X-Y plane. +For details on the geometry calculation see the description in the McStas +reference manual. +The reflectivity profile may either use an analytical mode (see Component +Manual) or a 2-columns reflectivity free text file with format +[q(Angs-1) R(0-1)]. + +Example: Guide(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=2.0, R0=0.99, Qc=0.021, alpha=6.07, m=2, W=0.003 + +%VALIDATION +May 2005: extensive internal test, no bugs found +Validated by: K. Lieutenant + +%BUGS +This component does not work with gravitation on. Use component Guide_gravity then. \end{lstlisting} -The \verb+Guide+ component should be duplicated $n$ times by copy-paste, but changing the instance name, e.g. CG\_1, CG\_2, ..., CG\_n. This may be automated with the \verb+COPY+ or the \verb+JUMP ITERATE+ mechanisms (see User manual). - -An implementation of a continuous curved guide has been contributed as component Guide\_curved. +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflect & str & Reflectivity file name. Format \textless{}q(Angs-1) R(0-1)\textgreater{} & 0 \\ +\textbf{w1} & m & Width at the guide entry & \\ +\textbf{h1} & m & Height at the guide entry & \\ +w2 & m & Width at the guide exit & 0 \\ +h2 & m & Height at the guide exit & 0 \\ +\textbf{l} & m & length of guide & \\ +R0 & 1 & Low-angle reflectivity & 0.99 \\ +Qc & AA-1 & Critical scattering vector & 0.0219 \\ +alpha & AA & Slope of reflectivity & 6.07 \\ +m & 1 & m-value of material. Zero means completely absorbing. glass/SiO2 Si Ni Ni58 supermirror Be Diamond m= 0.65 0.47 1 1.18 2-6 1.01 1.12 & 2 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Guide.comp}{Source code} for \texttt{Guide.comp}. +\end{itemize} +\IfFileExists{Guide_static.tex}{\input{Guide_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Guide_anyshape.tex b/docs/manuals/mcstas/optics/Guide_anyshape.tex new file mode 100644 index 0000000000..7f1921a9bd --- /dev/null +++ b/docs/manuals/mcstas/optics/Guide_anyshape.tex @@ -0,0 +1,67 @@ +\section{The \texttt{Guide\_anyshape} McStas Component} +Reflecting surface (guide and mirror) with any shape, defined from an OFF file. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Emmanuel Farhi + \item \textbf{Origin:} ILL + \item \textbf{Date:} August 4th 2010 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This is a reflecting object component. Its shape is defined from an OFF file, +given with its file name. The object size is set as given from the file, where +dimensions should be in meters. The bounding box may be re-scaled by specifying +xwidth,yheight,zdepth parameters. The object may optionally be centered when +using 'center=1'. + +The reflectivity is specified either from the usual parametric description +R0,Qc,alpha,W,m, or from a reflectivity file 'reflect' with a 2 column +format [q(Angs-1) R(0-1)]. + +The complex OFF/PLY geometry option handles any closed non-convex polyhedra. +It supports the OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. +PLY geometry files are also supported. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xwidth & m & Redimension the object bounding box on X axis is non-zero & 0 \\ +yheight & m & Redimension the object bounding box on Y axis is non-zero & 0 \\ +zdepth & m & Redimension the object bounding box on Z axis is non-zero & 0 \\ +center & 1 & When set to 1, the object will be centered w.r.t. the local coordinate frame & 0 \\ +transmit & 1 & When true, non reflected neutrons are transmitted through the surfaces, instead of being absorbed. No material absorption is taken into account though & 0 \\ +R0 & 1 & Low-angle reflectivity & 0.99 \\ +Qc & AA-1 & Critical scattering vector & 0.0219 \\ +alpha & AA & Slope of reflectivity & 3 \\ +m & 1 & m-value of material. Zero means completely absorbing. & 2 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +reflect & q(Angs-1) R(0-1) & (str) Reflectivity file name. Format & 0 \\ +geometry & str & Name of the OFF/PLY file describing the guide geometry & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Guide_anyshape.comp}{Source code} for \texttt{Guide\_anyshape.comp}. + \item \textless{}a href="http://www.geomview.org"\textgreater{}Geomview and Object File Format (OFF)\textless{}/a\textgreater{} + \item Java version of Geomview (display only) \textless{}a href="http://www.holmes3d.net/graphics/roffview/"\textgreater{}jroff.jar\textless{}/a\textgreater{} + \item \textless{}a href="http://qhull.org"\textgreater{}qhull\textless{}/a\textgreater{} + \item \textless{}a href="http://www.cs.ucdavis.edu/\textasciitilde{}amenta/powercrust.html"\textgreater{}powercrust\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Guide_anyshape_static.tex}{\input{Guide_anyshape_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Guide_channeled.tex b/docs/manuals/mcstas/optics/Guide_channeled.tex new file mode 100644 index 0000000000..654175dbc7 --- /dev/null +++ b/docs/manuals/mcstas/optics/Guide_channeled.tex @@ -0,0 +1,70 @@ +\section{The \texttt{Guide\_channeled} McStas Component} +Neutron guide with channels (bender section). + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Christian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 1999 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a rectangular guide tube centered on the Z axis. The entrance lies +in the X-Y plane. +The guide may be tapered, and may have vertical subdivisions (used for +bender devices). + +There is a special rotating mode in order to approximate a Fermi Chopper +behaviour, in the case the neutron trajectory is nearly linear inside the +chopper slits, i.e. the neutrons are fast w/r/ to the chopper speed. +Slits are straight, but may be super-mirror coated. In this case, the +component is NOT centered, but located at its entry window. It should then +be shifted by -l/2. + +Example: Guide_channeled(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=2.0, +R0=0.99, Qcx=0.0219, Qcy=0.0219, alphax=6.07, alphay=6.07, W=0.003, nslit=1, +d=0.0005, mx=1, my=1) + +%BUGS +This component does not work with gravitation on. Use Guide_gravity. +This component does not work in multichannel focusing geometry. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{w1} & m & Width at the guide entry & \\ +\textbf{h1} & m & Height at the guide entry & \\ +w2 & m & Width at the guide exit & 0 \\ +h2 & m & Height at the guide exit & 0 \\ +\textbf{l} & m & Length of guide & \\ +R0 & 1 & Low-angle reflectivity & 0.995 \\ +Qc & AA-1 & Critical scattering vector & 0 \\ +alpha & AA & Slope of reflectivity & 0 \\ +m & 1 & m-value of material. Zero means completely absorbing. & 0 \\ +nslit & 1 & Number of channels in the guide (\textgreater{}= 1) & 1 \\ +d & m & Thickness of subdividing absorbing walls & 0.0005 \\ +Qcx & AA-1 & Critical scattering vector for left and right vertical mirrors in each channel & 0.0218 \\ +Qcy & AA-1 & Critical scattering vector for top and bottom mirrors & 0.0218 \\ +alphax & AA & Slope of reflectivity for left and right vertical mirrors in each channel & 4.38 \\ +alphay & AA & Slope of reflectivity for top and bottom mirrors & 4.38 \\ +W & AA-1 & Width of supermirror cut-off for all mirrors & 0.003 \\ +mx & 1 & m-value of material for left and right vertical mirrors in each channel. Zero means completely absorbing. & 1 \\ +my & 1 & m-value of material for top and bottom mirrors. Zero means completely absorbing. & 1 \\ +nu & Hz & Rotation frequency (round/s) for Fermi Chopper approximation & 0 \\ +phase & deg & Phase shift for the Fermi Chopper approximation & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Guide_channeled.comp}{Source code} for \texttt{Guide\_channeled.comp}. +\end{itemize} +\IfFileExists{Guide_channeled_static.tex}{\input{Guide_channeled_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Guide_gravity.tex b/docs/manuals/mcstas/optics/Guide_gravity.tex new file mode 100644 index 0000000000..ca6affd427 --- /dev/null +++ b/docs/manuals/mcstas/optics/Guide_gravity.tex @@ -0,0 +1,97 @@ +\section{The \texttt{Guide\_gravity} McStas Component} +Neutron straight guide with gravity. Can be channeled and focusing. +Waviness may be specified, as well as side chamfers (on substrate). + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailto:farhi@ill.fr"\textgreater{}Emmanuel Farhi\textless{}/a\textgreater{} + \item \textbf{Origin:} \textless{}a href="http://www.ill.fr"\textgreater{}ILL (France)\textless{}/a\textgreater{}. + \item \textbf{Date:} Aug 03 2001 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a rectangular straight guide tube centered on the Z axis, with +gravitation handling. The entrance lies in the X-Y plane. +The guide can be channeled (nslit,d,nhslit parameters). The guide coating +specifications may be entered via different ways (global, or for +each wall m-value). + +Waviness (random) may be specified either globally or for each mirror type. +Side chamfers (due to substrate processing) may be specified the same way. +In order to model a realistic straight guide assembly, a long guide of +length 'l' may be splitted into 'nelements' between which chamfers/gaps are +positioned. + +The reflectivity may be specified either using an analytical mode (see +Component manual) or as a text file in free format, with 1st +column as q[Angs-1] and 2nd column as the reflectivity R in [0-1]. +For details on the geometry calculation see the description in the McStas +component manual. + +There is a special rotating mode in order to approximate a Fermi Chopper +behaviour, in the case the neutron trajectory is nearly linear inside the +chopper slits, i.e. the neutrons are fast w/r/ to the chopper speed. +Slits are straight, but may be super-mirror coated. In this case, the +component is NOT centered, but located at its entry window. It should then +be shifted by -l/2. + +Example: Guide_gravity(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=12, +R0=0.99, Qc=0.0219, alpha=6.07, m=1.0, W=0.003) + +%VALIDATION +May 2005: extensive internal test, all problems solved +Validated by: nslit. Lieutenant +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{w1} & m & Width at the guide entry & \\ +\textbf{h1} & m & Height at the guide entry & \\ +w2 & m & Width at the guide exit. If 0, use w1. & 0 \\ +h2 & m & Height at the guide exit. If 0, use h1. & 0 \\ +\textbf{l} & m & length of guide & \\ +R0 & 1 & Low-angle reflectivity & 0.995 \\ +Qc & AA-1 & Critical scattering vector & 0.0218 \\ +alpha & AA & Slope of reflectivity & 4.38 \\ +m & 1 & m-value of material. Zero means completely absorbing. m=0.65 glass/SiO2 Si Ni Ni58 supermirror Be Diamond m= 0.65 0.47 1 1.18 2-6 1.01 1.12 for glass/SiO2, m=1 for Ni, 1.2 for Ni58, m=2-6 for supermirror. m=0.47 for Si & 1.0 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +nslit & 1 & Number of vertical channels in the guide (\textgreater{}= 1) (nslit-1 vertical dividing walls). & 1 \\ +d & m & Thickness of subdividing walls & 0.0005 \\ +mleft & 1 & m-value of material for left. vert. mirror & -1 \\ +mright & 1 & m-value of material for right. vert. mirror & -1 \\ +mtop & 1 & m-value of material for top. horz. mirror & -1 \\ +mbottom & 1 & m-value of material for bottom. horz. mirror & -1 \\ +nhslit & 1 & Number of horizontal channels in the guide (\textgreater{}= 1). (nhslit-1 horizontal dividing walls). this enables to have nslit*nhslit rectangular channels & 1 \\ +G & m/s2 & Gravitation norm. 0 value disables G effects. & 0 \\ +aleft & 1 & alpha-value of left vert. mirror & -1 \\ +aright & 1 & alpha-value of right vert. mirror & -1 \\ +atop & 1 & alpha-value of top horz. mirror & -1 \\ +abottom & 1 & alpha-value of left horz. mirror & -1 \\ +wavy & deg & Global guide waviness & 0 \\ +wavy\_z & deg & Partial waviness along propagation axis & 0 \\ +wavy\_tb & deg & Partial waviness in transverse direction for top/bottom mirrors & 0 \\ +wavy\_lr & deg & Partial waviness in transverse direction for left/right mirrors & 0 \\ +chamfers & m & Global chamfers specifications (in/out/mirror sides). & 0 \\ +chamfers\_z & m & Input and output chamfers & 0 \\ +chamfers\_lr & m & Chamfers on left/right mirror sides & 0 \\ +chamfers\_tb & m & Chamfers on top/bottom mirror sides & 0 \\ +nelements & 1 & Number of sections in the guide (length l/nelements). & 1 \\ +nu & Hz & Rotation frequency (round/s) for Fermi Chopper approximation & 0 \\ +phase & deg & Phase shift for the Fermi Chopper approximation & 0 \\ +reflect & str & Reflectivity file name. Format \textless{}q(Angs-1) R(0-1)\textgreater{} & "NULL" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Guide_gravity.comp}{Source code} for \texttt{Guide\_gravity.comp}. +\end{itemize} +\IfFileExists{Guide_gravity_static.tex}{\input{Guide_gravity_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Guide_simple.tex b/docs/manuals/mcstas/optics/Guide_simple.tex new file mode 100644 index 0000000000..fc4704216c --- /dev/null +++ b/docs/manuals/mcstas/optics/Guide_simple.tex @@ -0,0 +1,57 @@ +\section{The \texttt{Guide\_simple} McStas Component} +Neutron guide. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} September 2 1998 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a rectangular guide tube centered on the Z axis. The entrance lies +in the X-Y plane. +For details on the geometry calculation see the description in the McStas +reference manual. +The reflectivity profile may either use an analytical mode (see Component +Manual) or a 2-columns reflectivity free text file with format +[q(Angs-1) R(0-1)]. + +Example: Guide(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=2.0, R0=0.99, Qc=0.021, alpha=6.07, m=2, W=0.003 + +%VALIDATION +May 2005: extensive internal test, no bugs found +Validated by: K. Lieutenant + +%BUGS +This component does not work with gravitation on. Use component Guide_gravity then. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{w1} & m & Width at the guide entry & \\ +\textbf{h1} & m & Height at the guide entry & \\ +w2 & m & Width at the guide exit & 0 \\ +h2 & m & Height at the guide exit & 0 \\ +\textbf{l} & m & length of guide & \\ +R0 & 1 & Low-angle reflectivity & 0.99 \\ +Qc & AA-1 & Critical scattering vector & 0.0219 \\ +alpha & AA & Slope of reflectivity & 6.07 \\ +m & 1 & m-value of material. Zero means completely absorbing. glass/SiO2 Si Ni Ni58 supermirror Be Diamond m= 0.65 0.47 1 1.18 2-6 1.01 1.12 & 2 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Guide_simple.comp}{Source code} for \texttt{Guide\_simple.comp}. +\end{itemize} +\IfFileExists{Guide_simple_static.tex}{\input{Guide_simple_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Guide_static.tex b/docs/manuals/mcstas/optics/Guide_static.tex new file mode 100644 index 0000000000..8e91c0d2bc --- /dev/null +++ b/docs/manuals/mcstas/optics/Guide_static.tex @@ -0,0 +1,332 @@ + +\index{Optics|textbf} + +This section describes advanced neutron optical +components such as supermirrors and guides. +A description of the reflectivity of a supermirror is found +in section~\ref{s:mirror}. + +\section{Mirror: The single mirror} +\label{s:mirror} +\index{Optics!Mirror plane} +\component{Mirror}{System}{$l$, $h$, $m$}{$R_0, Q_c, W, \alpha, reflect$}{validated, no gravitation support} + +The component \textbf{Mirror} +models a single rectangular neutron mirror plate. It can be used +as a sample component or to \textit{e.g.}~assemble a complete neutron guide by putting multiple +mirror components at appropriate locations and orientations in the +instrument definition, much like a real guide is build from individual +mirrors. + +In the local coordinate system, the mirror lies in the first quadrant of the +$x$-$y$ plane, with one corner at $(0,0,0)$. + +The input parameters of this component are +the rectangular mirror dimensions $(l, h)$ +and the values of $R_0, m, Q_c, W$, and $\alpha$ for the mirror reflectivity. +As a special case, if $m=0$ then the reflectivity is zero for all $Q$, +\textit{i.e.}\ the surface is completely absorbing. + +This component may produce wrong results with gravitation. + +\subsection{Mirror reflectivity} +\label{ss:mirrorreflect} +To compute the reflectivity of the supermirrors, we use an empirical +formula derived from experimental data \cite{pb_241_50}, +see Fig.~\ref{f:reflectivity}. The reflectivity is given by +\begin{equation} \label{e:Rmirror} + R = \left\{ + \begin{array}{ll} + R_0 & \textrm{if $Q \leq Q_\textrm{c}$} \\ + \frac{1}{2}R_0(1 - \tanh[(Q - m Q_\textrm{c})/W])(1-\alpha(Q-Q_\textrm{c})) + & \textrm{if $Q > Q_\textrm{c}$} + \end{array} + \right. +\end{equation} + +Here $Q$ is the length of the scattering vector (in \AA$^{-1}$) +defined by +\begin{equation} \label{e:reflectivity} +Q = |\textbf{k}_\textbf{i} - \textbf{k}_\textbf{f}| + = \frac{m_\textrm{n}}{\hbar} |\textbf{v}_\textbf{i} - \textbf{v}_\textbf{f}|, +\end{equation} +$m_\textrm{n}$ being the neutron mass. +The number $m$ in (\ref{e:Rmirror}) is a parameter determined by +the mirror materials, +the bilayer sequence, and the number of bilayers. +As can be seen, $R=R_0$ for $Q < Q_\textrm{c}$, where $Q_\textrm{c}$ is the +critical scattering wave vector for a single layer of the mirror +material. At higher values of $Q$, the reflectivity starts falling +linearly with a slope $\alpha$ until a "soft cut-off" at $Q = m Q_\textrm{c}$. +The width of this cut-off is denoted $W$. See the example reflection curve in +figure~\ref{f:reflectivity}. + +It is \textbf{important} to notice that when $m < 1$, the reflectivity remains constant at $R=R_0$ up to $q=Qc$, and \emph{not} $m.Q_c$. This means that $m < 1$ parameters behave like $m=1$ materials. + +Alternatively, the Mirror, Guide and Guide\_gravity components may use a reflectivity table $reflect$, which 1st column is q [$\AA^{-1}$] and 2nd column as the reflectivity $R$ in [0-1]. For this purpose, we provide $m=2$ and $m=3$ reflectivity files from SwissNeutronics (\verb+supermirror_m2.rfl+ and \verb+supermirror_m3.rfl+ in \verb+MCSTAS/lib/data/+). + +\subsection{Algorithm} +The function of the component can be described as +\begin{enumerate} +\item Propagate the neutron ray to the plane of the mirror. +\item If the neutron trajectory intersects the mirror plate, it is +reflected, otherwise it is left untouched. +\item Reflection of the incident velocity +$\textbf{v}_\textrm{i} = (v_x,v_y,v_z)$ +gives the final velocity $\textbf{v}_\textrm{f} = (v_x,v_y,-v_z)$. +\item Calculate $Q=2 m_\textrm{n} v_z / \hbar$. +\item The neutron weight is adjusted with the amount $\pi_i = R(Q)$. +\item To avoid spending large amounts of computation time on very low-weight +neutrons, neutrons for which the reflectivity is lower than about +$10^{-10}$ are ABSORB'ed. +\end{enumerate} + +\begin{figure} + \begin{center} + \includegraphics[width=0.6\textwidth]{figures/supermirror} + \end{center} +\caption{A typical reflectivity curve for a supermirror, +Eq.~(\protect\ref{e:reflectivity}). The used values are +$ m=4$, $R_0=1$, $Q_\textrm{c} = 0.02$~\AA$^{-1}$, $\alpha = 6.49$~\AA, +$ W=1/300$~\AA$^{-1}$. +} +\label{f:reflectivity} +\end{figure} + +\newpage + +\section{Guide: The guide section} +\index{Optics!Straight guide} + +%\component{Guide}{System}{$w_1, h_1$, $w_2, h_2$, $l$, $m$, $reflect$}{$R_0, Q_c, W, \alpha$}{validated, no gravitation support} +%\mcdoccomp{optics/Guide.parms} + +The component \textbf{Guide} +models a guide tube consisting of four flat mirrors. The +guide is centered on the $z$ axis with rectangular entrance and exit +openings parallel to the $x$-$y$ plane. The entrance has the dimensions +$(w_1,h_1)$ and placed at $z=0$. The exit is of dimensions $(w_2,h_2)$ +and is placed at $z=l$ where $l$ is the guide length. See +figure~\ref{f:guide}. +The reflecting properties are given by the values of +$R_0, m, Q_c, W$, and $\alpha$, as for \textbf{Mirror}, or alternatively from the reflectivity file $reflect$. + +\textbf{Guide} may produce wrong results with gravitation support. +Use \textbf{Guide\_gravity} (section \ref{s:guide_gravity}) in this case, +or the \textbf{Guide\_channeled} +in section~\ref{s:channeled_guide}. + +\begin{figure} + \begin{center} + \includegraphics[width=0.7\textwidth]{figures/guide1} + \end{center} +\caption{The geometry used for the guide component.} +\label{f:guide} +\end{figure} + +\subsection{Guide geometry and reflection} +For computations on the guide geometry, we define the planes of the four +guide sides by giving their normal vectors (pointing into the guide) +and a point lying in the plane: +$$ +\begin{array}{rclcrcl} +\textbf{n}^v_1 &=& (l, 0, {(w_2 - w_1) / 2}) + & & \textbf{O}^v_1 &=& (- w_1 / 2, 0, 0) \\ +\textbf{n}^v_2 &=& (-l, 0, {(w_2 - w_1) / 2}) + & & \textbf{O}^v_2 &=& (w_1 / 2, 0, 0) \\ +\textbf{n}^h_1 &=& (0, l, {(h_2 - h_1) / 2}) + & & \textbf{O}^h_1 &=& (0, - h_1 / 2, 0) \\ +\textbf{n}^h_2 &=& (0, -l, {(h_2 - h_1) / 2}) + & & \textbf{O}^h_2 &=& (0, h_1 / 2, 0) \\ +\end{array} +$$ +In the following, we refer to an arbitrary guide side by its origin +\textbf{O} and normal \textbf{n}. + +With these definitions, the time of intersection of the neutron with a +guide side can be computed by considering the projection onto the +normal: +\begin{equation} +t^\alpha_\beta = \frac{(\textbf{O}^\alpha_\beta - \textbf{r}_0) \cdot \textbf{n}^\alpha_\beta} + {\textbf{v} \cdot \textbf{n}^\alpha_\beta} , +\end{equation} +where $\alpha$ and $\beta$ are indices for the different guide walls, +assuming the values (h,v) and (1,2), respectively. +For a neutron that leaves the guide directly through the guide exit we have +\begin{equation} +t_\textrm{exit} = \frac{l - z_0}{v_z} +\end{equation} + +The reflected velocity $\textbf{v}_\textrm{f}$ of the neutron with incoming velocity +$\textbf{v}_\textrm{i}$ is computed by the formula +\begin{equation} + \textbf{v}_\textrm{f} = + \textbf{v}_\textrm{i} + - 2{\textbf{n} \cdot \frac{\textbf{v}_\textrm{i}}{{|\textbf{n}|^2}} \textbf{n}} +\end{equation} +This expression is arrived at by again considering the projection onto +the mirror normal (see figure~\ref{f:guidereflect}). The reflectivity of the +mirror is taken into account as explained in section~\ref{s:mirror}. + +\begin{figure} + \begin{center} + \includegraphics[width=0.5\textwidth]{figures/guide2} + \end{center} +\caption{Neutron reflecting from mirror. $\textbf{v}_\textrm{i}$ and +$\textbf{v}_\textrm{f}$ are the initial and final velocities, respectively, +and \textbf{n} is a vector normal to the mirror surface.} +\label{f:guidereflect} +\end{figure} + +\subsection{Algorithm} +\begin{enumerate} +\item The neutron is initially propagated to the $z = 0$ plane of the +guide entrance. +\item If it misses the entrance, it is ABSORB'ed. +\item Otherwise, repeatedly compute the time of intersection with the +four mirror sides and the guide exit. +\item The smallest positive $t$ thus +found gives the time of the next intersection with the guide (or in the +case of the guide exit, the time when the neutron leaves the guide). +\item Propagated the neutron ray to this point. +\item Compute the reflection from the side. +\item Update the neutron weight factor by the amount $\pi_i = R(Q)$. +\item Repeat this process until the neutron leaves the guide. +\end{enumerate} + +There are a few optimizations possible here to avoid redundant +computations. Since the neutron is always inside the guide during the +computations, we always have +$(\textbf{O} - \textbf{r}_0) \cdot \textbf{n} \leq 0$. +Thus $t \leq 0$ if $\textbf{v} \cdot \textbf{n} \geq 0$, so in this case +there is no need to actually compute $t$. Some redundant computations +are also avoided by utilizing symmetry and the fact that many +components of \textbf{n} and \textbf{O} are zero. + +\newpage + +\section{Guide\_channeled: A guide section component with multiple channels} +\label{s:channeled_guide} +\index{Optics!Guide with channels (straight, non focusing)} + +\component{Guide\_channeled}{System}{$w_1, h_1$, $w_2, h_2$, $l$, $k$, $m_x, m_y$}{$d, R_0, Q_{cx}, Q_{cy}, W, \alpha_x, \alpha_y$}{validated, no gravitation support} + +The component \textbf{Guide\_channeled} is a more complex variation of \textbf{Guide} +described in the previous section. It allows the specification +of different supermirror parameters for the horizontal and vertical +mirrors, and also implements guides with multiple channels as used in +neutron bender devices. By setting the $m$ value of the supermirror +coatings to zero, nonreflecting walls are simulated; +this may be used for a very detailed simulation of a Soller collimator, +see section~\ref{collimator-linear}. + +The input parameters are $w_1$, $h_1$, $w_2$, $h_2$, and $l$ +to set the guide dimensions as for \textbf{Guide} +(entry window, exit window, and length); +$k$ to set the number of channels; $d$ to set the thickness of the +channel walls; and $R_0$, $W$, $Q_{cx}$, $Q_{cy}$, $\alpha_x$, $\alpha_y$, +$m_x$, and $m_y$ to set the supermirror parameters as described under \textbf{Guide} +(the names with \textit{x} denote the vertical mirrors, +and those with \textit{y} denote the horizontal ones). + +\subsection{Algorithm} +The implementation is based on that of \textbf{Guide}. +\begin{enumerate} +\item Calculate the channel which the neutron will enter. +\item Shift the $x$ coordinate so that the channel can be simulated +as a single instance of the \textbf{Guide} component. +\item (do the same as in \textbf{Guide}.) +\item Restore the coordinates when the +neutron exits the guide or is absorbed. +\end{enumerate} + +\subsection{Known problems}\index{Bugs} +\begin{itemize} +\item This component may produce wrong results with gravitation support. +Use Guide\_gravity (section \ref{s:guide_gravity}) in this case. +\item The focusing channeled geometry (for $k > 1$ and different +values of $w_1$ and $w_2$) is buggy +(wall slopes are not computed correctly, and the component 'leaks' neutrons). +\end{itemize} +\newpage + +\section{Guide\_gravity: A guide with multiple channels and gravitation handling} +\label{s:guide_gravity} +\index{Optics!Guide with channels and gravitation handling (straight)} +\index{Optics!Fermi Chopper} + +\component{Guide\_gravity}{System}{$w_1, h_1$, $w_2, h_2$, $l$, $k$, $m$}{$d, R_0, Q_c, W, \alpha$, wavy, chamfers, $k_h$, $n$, $G$}{validated, \textbf{with} gravitation support, rotating mode} + +This component is a variation of \textbf{Guide\_channeled} +(section \ref{s:channeled_guide}) with the ability to handle +gravitation effects and functional channeled focusing geometry. +Channels can be specified in two dimensions, +producing a 2D array ($k, k_h$) of smaller rectangular guide channels. + +The coating is specified as for the Guide and Mirror components by mean of the parameters $R_0, m, Q_c, W$, and $\alpha$, or alternatively from the reflectivity file $reflect$. + +Waviness effects, supposed to be randomly distributed +(\emph{i.e.} non-periodic waviness) +can be specified globally, or for each part of the guide section. +Additionally, chamfers +may be defined the same way. +Chamfers originate from the substrate manufacturing, so that operators do not harm themselves with cutting edges. Usual dimensions are about tens of millimeters. They are treated as absorbing edges around guide plates, both on the input and output surfaces, but also aside each mirror. + +The straight section of length $l$ may be divided into $n$ bits of same length +within which chamfers are taken into account. + +The component has also the capability to rotate at a given frequenccy in order to approximate a Fermi Chopper, including phase shift. The approximation resides in the fact that the component is considered fixed during neutron propagation inside slits. Beware that this component is then located at its entry window (not centered as the other Fermi choppers).\index{Bugs} + +To activate gravitation support, either select the \MCS gravitation support (\verb+mcrun --gravitation ...+ or from the Run dialog of \verb+mcgui+), +or set the gravitation field strength $G$ (e.g. -9.81 on Earth). + +This component is about 50 \% slower than the \verb+Guide+ component, but has much more capabilities. + +A contributed version Guide\_honeycomb of this component exists with a honeycomb geometry. + +\section{Bender: a bender model (non polarizing)} +\index{Optics!Bender (non polarizing)} + +\component{Bender}{Philipp Bernhardt}{$r, W_{in},l,w,h $}{$k,d,R_{0[a,i,s]},\alpha_{[a,i,s]},m_{[a,i,s]},Q_{c[a,i,s]},W_{[a,i,s]}$}{partly validated, no gravitation support} + +The Bender component is simulating an ideal curved neutron guide (bender). It is bent to the negative X-axis and behaves like a parallel guide in the Y axis. Opposite curvature may be achieved by a $(0,0,180)$ rotation (along Z-axis). + +Bender radius $r$, entrance width $w$ and height $h$ are required parameters. To define the length, you may either enter the deviation angle $W_{in}$ or the length $l$. Three different reflectivity profiles $R_0,Q_c,W,m,\alpha$ can be given (see section~\ref{s:mirror}): for outer +walls (index $a$), for inner walls (index $i$) and for the top and bottom walls (index $s$). + +To get a better transmission coefficient, it is possible to split the bender into $k$ channels which are separated by partitions with the thickness of $d$. The partitioning walls have the same coating as the exterior walls. + +Because the angle of reflection doesn't change, the routine +calculates the reflection coefficent for the concave and, if necessary, for the convex wall only onces, together with the number of reflections. +Nevertheless the exact position, the time, and the divergence is calculated at the end of the bender, so there aren't any approximations. + +The component is shown \emph{straight} on geometrical views (mcdisplay/Trace), and the next component may be placed directly at distance $r.W_{in} = l$ \emph{without} rotation. + +Results have been compared succesfully with analytical formula in the case of an ideal reflection and cross-checked with the program \verb+haupt+. + +An other implementation of the Bender is available as the contributed component Guide\_curved. + +\section{Curved guides} +\index{Optics!Curved guides (polygonal model)} + +Real curved guides are usually made of many straight elements (about 1 m long) separated with small gaps (e.g. 1 mm). Sections of about 10 m long are separated with bigger gaps for accessibility and pumping purposes. + +We give here an example description of such a section. Let us have a curved guide of total length $L$, made of $n$ elements with a curvature radius $R$. Gaps of size $d$ separate elements from each other. The rotation angle of individual straight guide elements is $\alpha_z = (L+d)/R*180/\pi$ in degrees. + +In order to build an independent curved guide section, we define \verb+Arm+ components at the begining and end of it. +\begin{lstlisting} +COMPONENT CG_In = Arm() AT (...) + +COMPONENT CG_1 = Guide_gravity(l=L/n, ...) +AT (0,0,0) RELATIVE PREVIOUS + +COMPONENT CG_2 = Guide_gravity(l=L/n, ...) +AT (0,0,L/n+d) RELATIVE PREVIOUS +ROTATED (0, (L/n+d)/R*180/PI, 0) RELATIVE PREVIOUS +... +COMPONENT CG_Out = Arm() AT (0,0,L/n) RELATIVE PREVIOUS +\end{lstlisting} +The \verb+Guide+ component should be duplicated $n$ times by copy-paste, but changing the instance name, e.g. CG\_1, CG\_2, ..., CG\_n. This may be automated with the \verb+COPY+ or the \verb+JUMP ITERATE+ mechanisms (see User manual). + +An implementation of a continuous curved guide has been contributed as component Guide\_curved. + diff --git a/docs/manuals/mcstas/optics/Guide_tapering.tex b/docs/manuals/mcstas/optics/Guide_tapering.tex new file mode 100644 index 0000000000..a6cbbd832a --- /dev/null +++ b/docs/manuals/mcstas/optics/Guide_tapering.tex @@ -0,0 +1,85 @@ +\section{The \texttt{Guide\_tapering} McStas Component} +Models a rectangular tapered guide (many shapes) + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Uwe Filges + \item \textbf{Origin:} PSI + \item \textbf{Date:} 22/10/2003 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a rectangular guide tube centered on the Z axis. The entrance lies +in the X-Y plane. +The guide may be tapered. + +The component includes a feature to read in self-defined functions for +guide tapering. Under the parameter 'option' the KEYWORD 'file=' offers +the possibility to read in parameters from an ASC-file. The file structure +is shown below in the example. It is important to know that the first +3 lines will be interpreted as comments. +Afterwards the dimension of each guide segment must be defined. The +length of each segment is constant l(i)=l/segments . The number of +segments is defined through the number of lines minus the first 3 +lines taken from the Input-File. +The guide can be made curved both horizontally and vertically (not shown in 3d +view), and m-coating, when set negative, is varied in 1/width. + +Example Input-File: + +c Guide_tapering.comp +c i = 0 - 199 segments +c h1(i) h2(i) w1(i) w2(i) +0.120000 0.119850 0.020000 0.020000 +0.119850 0.119700 0.020000 0.020000 +0.119700 0.119550 0.020000 0.020000 +0.119550 0.119400 0.020000 0.020000 +0.119400 0.119250 0.020000 0.020000 +0.119250 0.119100 0.020000 0.020000 +... + +Example1: Guide_tapering(w1=0.1, h1=0.18, linw=0.1, loutw=0.1, linh=0.1, louth=0.1, l=1.5, option="elliptical", R0=0.99, Qcx=0.021, Qcy=0.021, alphax=6.07, alphay=6.07, W=0.003, mx=1, my=1, segno=800) + +Example2: Guide_tapering(w1=0, h1=0, linw=0, loutw=0, linh=0, louth=0, l=1.5, option="file=ownfunction.txt", R0=0.99, Qcx=0.021, Qcy=0.021, alphax=6.07, alphay=6.07, W=0.003, mx=1, my=1) + +%BUGS +This component does not work with gravitation on. Use component Guide_gravity then. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +option & str & define the input function for the curve of the guide walls options are: "elliptical" - define elliptical function of guide walls "parabolical" - define parabolical function of guide walls "straight" - define a straight elements guide"file=[filename]" - read in ASC-file with arbitrary definition for the curve of the guide walls & 0 \\ +w1 & m & Width at the guide entry & 0 \\ +h1 & m & Height at the guide entry & 0 \\ +\textbf{l} & m & length of guide & \\ +linw & m & distance from 1st focal point to real guide entry - left and right horizontal mirrors & 0 \\ +loutw & m & distance from real guide exit to 2nd focal point - left and right horizontal mirrors & 0 \\ +linh & m & distance from 1st focal point to real guide entry - top and bottom vertical mirrors & 0 \\ +louth & m & distance from real guide exit to 2nd focal point - top and bottom vertical mirrors & 0 \\ +R0 & 1 & Low-angle reflectivity & 0.99 \\ +Qcx & AA-1 & Critical scattering vector for left and right vertical mirrors in each channel & 0.021 \\ +Qcy & AA-1 & Critical scattering vector for top and bottom mirrors & 0.021 \\ +alphax & AA & Slope of reflectivity for left and right vertical mirrors in each channel & 6.07 \\ +alphay & AA & Slope of reflectivity for top and bottom mirrors & 6.07 \\ +W & AA-1 & Width of supermirror cut-off for all mirrors & 0.003 \\ +mx & 1 & m-value of material for left and right vertical mirrors in each channel. Zero means completely absorbing. Negative value will adapt coating as e.g. m=mx*w1/w & 1 \\ +my & 1 & m-value of material for top and bottom mirrors. Zero means completely absorbing. Negative value will adapt coating as e.g. m=my*h1/h & 1 \\ +segno & 1 & number of segments (z-axis) for cutting the tube & 800 \\ +curvature & m & guide horizontal radius of curvature. Zero means straight. & 0 \\ +curvature\_v & m & guide vertical radius of curvature. Zero means straight. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Guide_tapering.comp}{Source code} for \texttt{Guide\_tapering.comp}. +\end{itemize} +\IfFileExists{Guide_tapering_static.tex}{\input{Guide_tapering_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Guide_wavy.tex b/docs/manuals/mcstas/optics/Guide_wavy.tex new file mode 100644 index 0000000000..c9b12f3212 --- /dev/null +++ b/docs/manuals/mcstas/optics/Guide_wavy.tex @@ -0,0 +1,64 @@ +\section{The \texttt{Guide\_wavy} McStas Component} +Neutron guide with gaussian waviness. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Models a rectangular guide tube centered on the Z axis. The entrance lies +in the X-Y plane. +For details on the geometry calculation see the description in the McStas +reference manual. + +Example: m=2 Qc=0.0218 (nat. Ni) W=1/300 alpha=4.38 R0=0.995 (given by Daniel Clemens, PSI) + +%BUGS +This component does not work with gravitation on. Use component Guide_gravity then. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{w1} & m & Width at the guide entry & \\ +\textbf{h1} & m & Height at the guide entry & \\ +w2 & m & Width at the guide exit & 0 \\ +h2 & m & Height at the guide exit & 0 \\ +\textbf{l} & m & length of guide & \\ +R0 & 1 & Low-angle reflectivity & 0.995 \\ +Qc & AA-1 & Critical scattering vector & 0.0218 \\ +alpha & AA & Slope of reflectivity & 0 \\ +m & 1 & m-value of material. Zero means completely absorbing. & 0 \\ +W & AA-1 & Width of supermirror cut-off for all mirrors & 0 \\ +alpha1 & AA & Slope of reflectivity left & 4.38 \\ +m1 & 1 & m-value of material, left & 2 \\ +W1 & AA-1 & Width of supermirror cut-off left & 0.003 \\ +alpha2 & AA & Slope of reflectivity right & 4.38 \\ +m2 & 1 & m-value of material, right. & 2 \\ +W2 & AA-1 & Width of supermirror cut-off right & 0.003 \\ +alpha3 & AA & Slope of reflectivity top & 4.38 \\ +m3 & 1 & m-value of material, top. & 2 \\ +W3 & AA-1 & Width of supermirror cut-off top & 0.003 \\ +alpha4 & AA & Slope of reflectivity bottom & 4.38 \\ +m4 & 1 & m-value of material, bottom. & 2 \\ +W4 & AA-1 & Width of supermirror cut-off bottom & 0.003 \\ +wavy\_z & deg & Waviness in the z-(flight-)direction & 0 \\ +wavy\_xy & deg & Waviness in the transverse direction & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Guide_wavy.comp}{Source code} for \texttt{Guide\_wavy.comp}. +\end{itemize} +\IfFileExists{Guide_wavy_static.tex}{\input{Guide_wavy_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/He3_cell.tex b/docs/manuals/mcstas/optics/He3_cell.tex new file mode 100644 index 0000000000..2e4828e555 --- /dev/null +++ b/docs/manuals/mcstas/optics/He3_cell.tex @@ -0,0 +1,50 @@ +\section{The \texttt{He3\_cell} McStas Component} +version: \$Revision\$ + +Polarised 3He cell + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Trefor Roberts \& Erik B Knudsen + \item \textbf{Origin:} ILL/DTU Physics + \item \textbf{Date:} March 1999 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Simple polarised 3He neutron spin filter cell, defaults to a cylindrical geometry but may be +used with a sphere or box geometry also. +The glass container for the cell is not included in the model. + +This component has been validated against: +Batz, M, Baessler, S, Heil, W, et al., J Res Natl Inst Stand Technol. 2005;110(3):293–298. + +Example: He3_cell(radius=0.1,length=.2,pressure=3,p3he=0.7,bx=0,by=1e-3,bz=0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xwidth & m & width of box geometry & 0 \\ +yheight & m & height of the box geometry & 0 \\ +radius & m & radius of the cylinder / sphere geometry & 0.11 \\ +length & m & length of the cylinder / box geometry along z & 0.01 \\ +pressure & bar & pressure of the gas in the cell & 3 \\ +p3he & & polarisation of the 3He gas [-1 to +1] & 0.7 \\ +bx & tesla & x component of field at the cell & 0 \\ +by & tesla & y component of field at the cell & 1e-3 \\ +bz & tesla & z component of field at the cell & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/He3_cell.comp}{Source code} for \texttt{He3\_cell.comp}. +\end{itemize} +\IfFileExists{He3_cell_static.tex}{\input{He3_cell_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Mask.tex b/docs/manuals/mcstas/optics/Mask.tex new file mode 100644 index 0000000000..bd12090fdc --- /dev/null +++ b/docs/manuals/mcstas/optics/Mask.tex @@ -0,0 +1,57 @@ +\section{The \texttt{Mask} McStas Component} +A masking image object + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Erik Knudsen + \item \textbf{Origin:} DTU Physics + \item \textbf{Date:} March 2014 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +The Mask component takes an image as input either as an standard image file in png or pnm format, or as an ascii file (see below for format), +and uses the image as a mask. For instance as a manner of measuring resolution for imaging applications. +If the image is supplied as a png or pnm file, they interpretation of the pixels varies depending on the file. If the image is grayscale the pixel values are directly mapped +to opacity (or transparency if invert is set) values in the range [0..1]. If the image has RGB channels the R channel is considered most significant, the B channel least significant. +The resulting number, e.g. R*255^2 + G*255 + B, is then mapped to a real valued opacity. +Additionally png images may have an alpha channel - which is then considered the least significant channel. Palette mapped pngs are as of yet _not_ supported. +A regular ascii file may be supplied - in which case the file is like the one below +#any initial line starting with a hash is silently ignored +0.0 1.0 0.0 1.0 0.0 +0.5 0.0 0.5 0.0 0.5 +0.0 0.25 0.0 0.25 0.0 +0.75 0.0 0.75 0.0 0.75 +1.0 0.0 1.0 0.0 1.0 + +...which defines a 5x5 mask with a kind of checkerboard pattern- + +N.b. If you want to use the png-option of the component you must have libpng installed _and_ link your compiled instrument to it. Assuming libpng is installed you may do this +by adding "-DUSE_PNG=1 -lpng" to 1) the MCXTRACE_CFLAGS environment variable or 2) to the compiler flags textbox in the GUI. Open File->Configuration and edit the textbox. + +The virtual option of the Mask, is intended as a help to use a png-image as a grayscale distribution. If the virtual flag is set, rays are porpagated to the mask plane +and the pixel value at the intersection point is read, but the rays reamin unaffected. By extracting the output parameter masking it can subsequently be used. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{xwidth} & m & Width of the masking object & \\ +\textbf{yheight} & m & Height of the masking object & \\ +\textbf{mask} & & Name of file containing the masking image & \\ +invert & & By default the values from the masking image are interepreted as opacity (1 is fully blocking). If invert is nonzero this is inverted and the values are considered as transparency (1 is fully transmissive) & 0 \\ +virtual & & Mask does not affect the neutron, but does read the pixel value of the pixel hit. Could be useful to have as a packing factor for a crystal . & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Mask.comp}{Source code} for \texttt{Mask.comp}. +\end{itemize} +\IfFileExists{Mask_static.tex}{\input{Mask_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Mirror.tex b/docs/manuals/mcstas/optics/Mirror.tex new file mode 100644 index 0000000000..ec291ff2bd --- /dev/null +++ b/docs/manuals/mcstas/optics/Mirror.tex @@ -0,0 +1,56 @@ +\section{The \texttt{Mirror} McStas Component} +Single mirror plate. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} August 1998 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Single mirror plate (used to build guides in compound components). +The component Mirror models a single rectangular neutron mirror plate. +It can be used as a sample component or to e.g. assemble a complete neutron +guide by putting multiple mirror components at appropriate locations and +orientations in the instrument definition, much like a real guide is build +from individual mirrors. +Additionally, it may be centered in order to be used as a sample or +monochromator plate, else it starts from AT position. +Reflectivity is either defined by an analytical model (see Component Manual) +or from a two-columns file with q [Angs-1] as first and R [0-1] as second. +In the local coordinate system, the mirror lies in the first quadrant of the +x-y plane, with one corner at (0, 0, 0). Plane is thus perpendicular to the +incoming beam, and should usually be rotated. + +Example: Mirror(xwidth=.1, yheight=.1,R0=0.99,Qc=0.021,alpha=6.1,m=2,W=0.003) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflect & str & Name of reflectivity file. Format q(Angs-1) R(0-1) & 0 \\ +\textbf{xwidth} & m & width of mirror plate & \\ +\textbf{yheight} & m & height of mirror plate & \\ +R0 & 1 & Low-angle reflectivity & 0.99 \\ +Qc & AA-1 & Critical scattering vector & 0.021 \\ +alpha & AA & Slope of reflectivity & 6.07 \\ +m & 1 & m-value of material. Zero means completely absorbing. & 2 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +center & 1 & if true (1), the Mirror is centered arount AT position. & 0 \\ +transmit & 1 & When true, non reflected neutrons are transmitted through the mirror, instead of being absorbed. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Mirror.comp}{Source code} for \texttt{Mirror.comp}. +\end{itemize} +\IfFileExists{Mirror_static.tex}{\input{Mirror_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Monochromator_curved.tex b/docs/manuals/mcstas/optics/Monochromator_curved.tex index 040b63188d..b2ff10bbde 100644 --- a/docs/manuals/mcstas/optics/Monochromator_curved.tex +++ b/docs/manuals/mcstas/optics/Monochromator_curved.tex @@ -1,52 +1,88 @@ -\section{Monochromator\_curved: A curved mosaic crystal with -a single scattering vector} -\label{s:monochromator_curved} -\index{Optics!Monochromator, curved} - -%\component{Monochromator\_curved}{(System) Peter Link, FRM-2}{$z_\textrm{w}$, $y_\textrm{h}$, gap, $\eta_\textrm{h}$, $\eta_\textrm{v}$, $n_\textrm{h}$, $n_\textrm{v}$, $R_0$, $Q$, $r_\textrm{h}$, $r_\textrm{v}$}{$d_\textrm{m}$, $\eta$, $h$, $w$, verbose, transmit, reflect}{In reflecting geometry, non polarized} -\mcdoccomp{optics/Monochromator_curved.parms} - -\begin{figure} - \begin{center} - \includegraphics[width=0.9\textwidth]{figures/monochromator_curved} - \end{center} -\caption{A curved monochromator} -\label{f:monochromator_curved} -\end{figure} - - -This component simulates an array of infinitely thin single -crystals with a single scattering vector perpendicular to the -surface and a mosaic spread. -This component is used to simulate a singly or doubly -curved monochromator or analyzer in reflecting geometry. - -The component uses rectangular pieces of monochromator material -as described in \textbf{Monochromator\_curved}. -The scattering vector is named $Q$, and as described in -\textbf{Monochromator\_flat}, multiples of $Q$ will be applied. -Other important parameters are the piece height and width, -$y_\textrm{h}$ and $z_\textrm{w}$, respectively, the -horizontal and vertical mosaicities, $\eta_\textrm{h}$ and $\eta_\textrm{v}$, -respectively. -If just one mosaicity, $\eta$, is specified, this the same for both directions. - -The number of pieces vertically and horizontally are called -$n_\textrm{v}$ and $n_\textrm{h}$, respectively, and the vertical and horizontal -radii of curvature are named $r_\textrm{v}$ and $r_\textrm{h}$, respectively. -All single crystals are positioned in the same vertical plane, -but tilted accordingly to the curvature radius. - -The constant monochromator reflectivity, $R_0$ can be replaced by -a file of tabulated reflectivities $reflect$ (\verb+*.rfl+ in \verb+MCSTAS/data+). In the same sense, the transmission -can be modeled by a tabulated file $transmit$ (for non-reflected neutrons, \verb+*.trm+ in \verb+MCSTAS/data+). -The most useful of these files for Monochromator\_curved are \verb+HOPG.rlf+ and \verb+HOPG.trm+. - -As for \textbf{Monochromator\_flat}, the crystal is assumed to be infinitely -thin, and the variation in lattice spacing, ($\Delta d/d$), -is assumed to be zero. Hence, this -component is not suitable for simulating backscattering instruments or to -investigate multiple scattering effects. - -The theory and algorithm for scattering from -the individual blades is described under \textbf{Monochromator\_flat}. +\section{The \texttt{Monochromator\_curved} McStas Component} +Double bent multiple crystal slabs with anisotropic gaussian mosaic. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Emmanuel Farhi, Kim, Lefmann, Peter Link + \item \textbf{Origin:} \textless{}a href="http://www.ill.fr"\textgreater{}ILL\textless{}/a\textgreater{} + \item \textbf{Date:} Aug. 24th 2001 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Double bent infinitely thin mosaic crystal, useful as a monochromator or +analyzer. which uses a small-mosaicity approximation and taking into account +higher order scattering. The mosaic is anisotropic gaussian, with different +FWHMs in the Y and Z directions. The scattering vector is perpendicular to the +surface. For an unrotated monochromator component, the crystal plane lies in +the y-z plane (ie. parallel to the beam). The component works in reflection, but +also transmits the non-diffracted beam. Reflectivity and transmission files may +be used. The slabs are positioned in the vertical plane (not on a +cylinder/sphere), and are rotated according to the curvature radius. +When curvatures are set to 0, the monochromator is flat. +The curvatures approximation for parallel beam focusing to distance L, with +monochromator rotation angle A1 are: +RV = 2*L*sin(DEG2RAD*A1); +RH = 2*L/sin(DEG2RAD*A1); + +When you rotate the component by A1 = asin(Q/2/Ki)*RAD2DEG, do not forget to +rotate the following components by A2=2*A1 (for 1st order) ! + +Example: Monochromator_curved(zwidth=0.01, yheight=0.01, gap=0.0005, NH=11, NV=11, mosaich=30.0, mosaicv=30.0, r0=0.7, Q=1.8734) + +Monochromator lattice parameter +PG 002 DM=3.355 AA (Highly Oriented Pyrolythic Graphite) +PG 004 DM=1.677 AA +Heusler 111 DM=3.362 AA (Cu2MnAl) +CoFe DM=1.771 AA (Co0.92Fe0.08) +Ge 111 DM=3.266 AA +Ge 311 DM=1.714 AA +Ge 511 DM=1.089 AA +Ge 533 DM=0.863 AA +Si 111 DM=3.135 AA +Cu 111 DM=2.087 AA +Cu 002 DM=1.807 AA +Cu 220 DM=1.278 AA +Cu 111 DM=2.095 AA +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflect & str & reflectivity file name of text file as 2 columns [k, R] & "NULL" \\ +transmit & str & transmission file name of text file as 2 columns [k, T] & "NULL" \\ +zwidth & m & horizontal width of an individual slab & 0.01 \\ +yheight & m & vertical height of an individual slab & 0.01 \\ +gap & m & typical gap between adjacent slabs & 0.0005 \\ +NH & int & number of slabs horizontal & 11 \\ +NV & int & number of slabs vertical & 11 \\ +mosaich & arc minutes & Horisontal mosaic FWHM & 30.0 \\ +mosaicv & arc minutes & Vertical mosaic FWHM & 30.0 \\ +r0 & 1 & Maximum reflectivity. O unactivates component & 0.7 \\ +t0 & 1 & transmission efficiency & 1.0 \\ +Q & AA-1 & Scattering vector & 1.8734 \\ +RV & m & radius of vertical focussing. flat for 0 & 0 \\ +RH & m & radius of horizontal focussing. flat for 0 & 0 \\ +DM & AA & monochromator d-spacing instead of Q=2*pi/DM & 0 \\ +mosaic & arc minutes & sets mosaich=mosaicv & 0 \\ +width & m & total width of monochromator, along Z & 0 \\ +height & m & total height of monochromator, along Y & 0 \\ +verbose & 0/1 & verbosity level & 0 \\ +order & 1 & specify the diffraction order, 1 is usually prefered. Use 0 for all & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Monochromator_curved.comp}{Source code} for \texttt{Monochromator\_curved.comp}. + \item \textless{}a href="http://mcstas.risoe.dk/pipermail/neutron-mc/1999q1/000133.html"\textgreater{}Additional note\textless{}/a\textgreater{} from Peter Link. + \item Obsolete Mosaic\_anisotropic by Kristian Nielsen + \item Contributed Monochromator\_2foc by Peter Link +\end{itemize} +\IfFileExists{Monochromator_curved_static.tex}{\input{Monochromator_curved_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Monochromator_curved_static.tex b/docs/manuals/mcstas/optics/Monochromator_curved_static.tex new file mode 100644 index 0000000000..d38eea4b58 --- /dev/null +++ b/docs/manuals/mcstas/optics/Monochromator_curved_static.tex @@ -0,0 +1,52 @@ +\section{Monochromator\_curved: A curved mosaic crystal with +a single scattering vector} +\label{s:monochromator_curved} +\index{Optics!Monochromator, curved} + +%\component{Monochromator\_curved}{(System) Peter Link, FRM-2}{$z_\textrm{w}$, $y_\textrm{h}$, gap, $\eta_\textrm{h}$, $\eta_\textrm{v}$, $n_\textrm{h}$, $n_\textrm{v}$, $R_0$, $Q$, $r_\textrm{h}$, $r_\textrm{v}$}{$d_\textrm{m}$, $\eta$, $h$, $w$, verbose, transmit, reflect}{In reflecting geometry, non polarized} +%\mcdoccomp{optics/Monochromator_curved.parms} + +\begin{figure} + \begin{center} + \includegraphics[width=0.9\textwidth]{figures/monochromator_curved} + \end{center} +\caption{A curved monochromator} +\label{f:monochromator_curved} +\end{figure} + + +This component simulates an array of infinitely thin single +crystals with a single scattering vector perpendicular to the +surface and a mosaic spread. +This component is used to simulate a singly or doubly +curved monochromator or analyzer in reflecting geometry. + +The component uses rectangular pieces of monochromator material +as described in \textbf{Monochromator\_curved}. +The scattering vector is named $Q$, and as described in +\textbf{Monochromator\_flat}, multiples of $Q$ will be applied. +Other important parameters are the piece height and width, +$y_\textrm{h}$ and $z_\textrm{w}$, respectively, the +horizontal and vertical mosaicities, $\eta_\textrm{h}$ and $\eta_\textrm{v}$, +respectively. +If just one mosaicity, $\eta$, is specified, this the same for both directions. + +The number of pieces vertically and horizontally are called +$n_\textrm{v}$ and $n_\textrm{h}$, respectively, and the vertical and horizontal +radii of curvature are named $r_\textrm{v}$ and $r_\textrm{h}$, respectively. +All single crystals are positioned in the same vertical plane, +but tilted accordingly to the curvature radius. + +The constant monochromator reflectivity, $R_0$ can be replaced by +a file of tabulated reflectivities $reflect$ (\verb+*.rfl+ in \verb+MCSTAS/data+). In the same sense, the transmission +can be modeled by a tabulated file $transmit$ (for non-reflected neutrons, \verb+*.trm+ in \verb+MCSTAS/data+). +The most useful of these files for Monochromator\_curved are \verb+HOPG.rlf+ and \verb+HOPG.trm+. + +As for \textbf{Monochromator\_flat}, the crystal is assumed to be infinitely +thin, and the variation in lattice spacing, ($\Delta d/d$), +is assumed to be zero. Hence, this +component is not suitable for simulating backscattering instruments or to +investigate multiple scattering effects. + +The theory and algorithm for scattering from +the individual blades is described under \textbf{Monochromator\_flat}. diff --git a/docs/manuals/mcstas/optics/Monochromator_flat.tex b/docs/manuals/mcstas/optics/Monochromator_flat.tex index 34e526417a..c68039ed43 100644 --- a/docs/manuals/mcstas/optics/Monochromator_flat.tex +++ b/docs/manuals/mcstas/optics/Monochromator_flat.tex @@ -1,201 +1,64 @@ -\section{Monochromator\_flat: An infinitely thin, flat mosaic crystal with -a single scattering vector} -\label{s:monochromator_flat} -\index{Optics!Monochromator} +\section{The \texttt{Monochromator\_flat} McStas Component} +Flat Monochromator crystal with anisotropic mosaic. -%\component{Monochromator\_flat}{System}{$z_\textrm{min}$, $z_\textrm{max}$, $y_\textrm{min}$, $y_\textrm{max}$, $\eta_\textrm{h}$, $\eta_\textrm{v}$, $R_0$, $Q_0$}{$d_\textrm{m}$}{In reflecting geometry, non polarized} -\mcdoccomp{optics/Monochromator_flat.parms} +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 1999 +\end{itemize} -This component simulates an infinitely thin single -crystal with a single scattering vector, $Q_0=2\pi / d_m$, perpendicular to the -surface. A typical -use for this component is to simulate a simple monochromator or analyzer. +\subsection*{Description} +\begin{lstlisting} +Flat, infinitely thin mosaic crystal, useful as a monochromator or analyzer. +For an unrotated monochromator component, the crystal surface lies in the Y-Z +plane (ie. parallel to the beam). +The mosaic is anisotropic gaussian, with different FWHMs in the Y and Z +directions. The scattering vector is perpendicular to the surface. -The monochromator dimensions are given by the length, $z_\textrm{w}$, and -the height, $y_\textrm{h}$. As the parameter names indicate, the -monochromator is placed in the $z-y$ plane of the local coordinate system. -This definition is made to ensure that the physical monochromator angle -(often denoted \verb+A1+) will equal the \MCS rotation angle -of the Monochromator component around the $y$-axis. -$R_0$ is the maximal reflectivity and -$\eta_\textrm{h}$ and $\eta_\textrm{v}$ are the horizontal and vertical mosaicities, -respectively, see explanation below. +Example: Monochromator_flat(zmin=-0.1, zmax=0.1, ymin=-0.1, ymax=0.1, mosaich=30.0, mosaicv=30.0, r0=0.7, Q=1.8734) -\subsection{Monochromator physics and algorithm} -The physical model used in \textbf{Monochromator\_flat} is a rectangular piece of -material composed of a large number of small micro-crystals. -The orientation of the -micro-crystals deviates from the nominal crystal orientation so that the -probability of a given micro-crystal orientation is proportional to a -Gaussian in the angle between the given and the nominal orientation. The -width of the Gaussian is given by the mosaic spread, $\eta$, of the crystal -(given in units of arc minutes). -$\eta$ is assumed to be large compared to the inherent Bragg width of the -scattering vector (often a few arc seconds). -(The mosaicity gives rise to a Gaussian reflectivity profile of width -similar to - but not equal - the intrinsic mosaicity. -In this component, and in real life, the mosaicity given is that of the -reflectivity signal.) +Monochromator lattice parameter +PG 002 DM=3.355 AA (Highly Oriented Pyrolythic Graphite) +PG 004 DM=1.677 AA +Heusler 111 DM=3.362 AA (Cu2MnAl) +CoFe DM=1.771 AA (Co0.92Fe0.08) +Ge 111 DM=3.266 AA +Ge 311 DM=1.714 AA +Ge 511 DM=1.089 AA +Ge 533 DM=0.863 AA +Si 111 DM=3.135 AA +Cu 111 DM=2.087 AA +Cu 002 DM=1.807 AA +Cu 220 DM=1.278 AA +Cu 111 DM=2.095 AA +\end{lstlisting} -As a further simplification, the crystal is assumed to be infinitely -thin. This means that multiple scattering effects are not simulated. It -also means that the total reflectivity, $r_0$ is used as a parameter for -the model rather than the atomic scattering cross section, implying that -the scattering efficiency does not vary with neutron wavelength. -The variance -of the lattice spacing ($\Delta d/d$) is assumed to be zero, so this -component is not suitable for simulating backscattering instruments (use -the component \textrm{Single\_crystal} -in section~\ref{s:Single_crystal} for that). +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. -When a neutron trajectory intersects the crystal, the first step in the -computation is to determine the probability of scattering. This -probability is then used in a Monte Carlo choice deciding whether to -scatter or transmit the neutron. The physical scattering probability is the sum -of the probabilities of first- second-, and higher-order scattering - -up to the highest order possible for the given neutron wavelength. -However, in most cases at most one order will have a -significant scattering probability, and the computation thus considers -only the order that best matches the neutron wavelength. +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +zmin & m & Lower horizontal (z) bound of crystal & -0.05 \\ +zmax & m & Upper horizontal (z) bound of crystal & 0.05 \\ +ymin & m & Lower vertical (y) bound of crystal & -0.05 \\ +ymax & m & Upper vertical (y) bound of crystal & 0.05 \\ +zwidth & m & Width of crystal, instead of zmin and zmax & 0 \\ +yheight & m & Height of crystal, instead of ymin and ymax & 0 \\ +mosaich & arc minutes & Horizontal mosaic (in z direction) (FWHM) & 30.0 \\ +mosaicv & arc minutes & Vertical mosaic (in y direction) (FWHM) & 30.0 \\ +r0 & 1 & Maximum reflectivity & 0.7 \\ +Q & 1/angstrom & Magnitude of scattering vector & 1.8734 \\ +DM & AA & monochromator d-spacing, instead of Q = 2*pi/DM & 0 \\ +\bottomrule +\end{longtable} -The scattering of neutrons from a crystal is governed by Bragg's law: -\begin{equation} -n\textbf{Q}_0 = 2\textbf{k}_i\sin\theta -\end{equation} -The scattering order is specified by the integer $n$. We seek only one -value of $n$, namely the one which makes -$n \textbf{Q}_0$ closest to the projection of $2\textbf{k}_i$ onto $\textbf{Q}_0$ -(see figure~\ref{f:mosaic_order}). -% k=2PI/lambda -% q=2k sin(theta) -% -% 2 PI n/k = d q/2k -% q = n 4 PI/d -% -% n 2PI/k = n 4 PI/q \sin\theta -% 1/k = 2/q\sin\theta -% n q = 2k\sin\theta -\begin{figure} - \begin{center} - \psfrag{theta}[l][l]{$\theta$} - \psfrag{ki}[r][r]{$2\textbf{k}_\textrm{i}$} - \psfrag{Q0}[l][l]{$\textbf{Q}_0$} - \psfrag{2Q0}[l][l]{$2\textbf{Q}_0$} - \psfrag{3Q0}[l][l]{$3\textbf{Q}_0$} - \psfrag{4Q0}[l][l]{$4\textbf{Q}_0$} - \includegraphics[width=0.5\textwidth]{figures/mosaic_order} - \end{center} -\caption{Selection of the Bragg order (``2'' in this case).} -\label{f:mosaic_order} -\end{figure} -% - -Once $n$ has been determined, the Bragg angle $\theta$ can be -computed. The angle $\alpha$ is the amount one would need to -turn the nominal scattering vector $\textbf{Q}_0$ for the monochromator -to be in Bragg scattering condition. -We now use $\alpha$ to compute the probability of reflection from -the mosaic crystal -\begin{equation} -p_\textrm{reflect} = R_0 e^{-\alpha^2/2\eta^2}, -\end{equation} -The probability $p_\textrm{reflect}$ is used -in a Monte Carlo choice to decide whether the neutron is transmitted or -reflected. -% -%\begin{figure} -% \begin{center} -% \psfrag{th}[r][r]{$\theta$} -% \psfrag{ki}[r][r]{$2\textbf{k}_\textrm{i}$} -% \psfrag{kf}[l][l]{$2\textbf{k}_\textrm{f}$} -% \psfrag{Q0}[l][l]{$\textbf{Q}_0$} -% \psfrag{alpha}[c][c]{$\alpha$} -% \psfrag{q}[l][l]$\textbf{q}$ -% \includegraphics[width=0.5\textwidth]{figures/mosaic_angle} -% \end{center} -%\caption{Computing the deviation $d$ from the nominal scattering direction.} -%\label{f:mosaic_angle} -%\end{figure} - -In the case of reflection, the neutron will be scattered into the -Debye-Scherrer cone, with the probability of each point on the cone -being determined by the mosaic. The Debye-Scherrer cone can be described -by the equation -\begin{equation} - \label{eq:mosaic_cone} - \textbf{k}_\textrm{f} = \textbf{k}_\textrm{i}\cos2\theta + - \sin2\theta(\textbf{c}\cos\varphi + \textbf{b}\sin\varphi), - \qquad\varphi\in[-\pi;\pi], -\end{equation} -where $\textbf{b}$ is a vector perpendicular to $\textbf{k}_\textrm{i}$ and $\textbf{ -Q}_0$, $\textbf{c}$ is perpendicular to $\textbf{k}_\textrm{i}$ and $\textbf{b}$, -and both $\textbf{b}$ and $\textbf{c}$ have the same length as $\textbf{k}_\textrm{i}$ -(see figure~\ref{f:mosaic_cone}). When choosing $\varphi$ (and -thereby $\textbf{k}_\textrm{f}$), only a small part of the full $[-\pi; \pi]$ -range will have appreciable scattering probability in non-backscattering -configurations. The best statistics is thus obtained by sampling -$\varphi$ only from a suitably narrow range. - -The (small) deviation angle $\alpha$ of the nominal -scattering vector $n\textbf{Q}_0$ corresponds to a $\Delta q$ of -\begin{equation} -\Delta q \approx \alpha 2k\sin\theta. -\end{equation} -The angle $\varphi$ corresponds to a $\Delta k_\textrm{f}$ (and hence -$\Delta q$) of -\begin{equation} -\Delta q \approx \varphi k \sin(2\theta) -\end{equation} -(see figure~\ref{f:mosaic_cone}). -Hence we may sample $\varphi$ from a Gaussian with standard deviation -\begin{equation} -\alpha\frac{2k\sin\theta}{k\sin(2\theta)} = -\alpha\frac{2k\sin\theta}{2k\sin\theta\cos\theta} = -\frac{\alpha}{\cos\theta} -\end{equation} -to get good statistics. -% -\begin{figure} - \begin{center} - \psfrag{th}[r][r]{$2\theta$} - \psfrag{ki}[c][c]{$2\textbf{k}_\textrm{i}$} - \psfrag{kf}[r][r]{$2\textbf{k}_\textrm{f}$} - \psfrag{nQ0}[l][l]{$n\textbf{Q}_0$} - \psfrag{q}[l][l]{$\textbf{q}$} - \psfrag{2ksin2t}[l][l]{$2 k \sin(2 \theta)$} - \includegraphics[width=0.5\textwidth]{figures/mosaic_cone} - \end{center} -\caption{Scattering into the part of the Debye-Scherrer cone covered by - the mosaic.} -\label{f:mosaic_cone} -\end{figure} - -What remains is to determine the neutron weight. The distribution from -which the scattering event is sampled is a Gaussian in $\varphi$ of -width $\frac{\alpha}{\cos\theta}$, -\begin{equation} - f_\textrm{MC}(\varphi) = \frac{1}{\sqrt{2\pi}(\sigma/\cos\theta)} - e^{-\varphi^2/2(\sigma/\cos\theta)^2} -\end{equation} -In the physical model, the probability of the scattering event is -proportional to a Gaussian in the angle between the nominal scattering -vector $\textbf{Q}_0$ and the actual scattering vector $\textbf{q}$. The -normalization condition is that the integral over all $\varphi$ should -be 1. Thus the probability of the scattering event in the physical model -is -\begin{equation} - \label{eq:mosaic_integral} - \Pi(\varphi) = e^{\frac{-d(\varphi)^2}{2\sigma^2}} / - \int_{-\pi}^{\pi} e^{\frac{-d(\varphi)^2}{2\sigma^2}} d\varphi -\end{equation} -where $d(\varphi)$ denotes the angle between the nominal scattering -vector and the actual scattering vector corresponding to $\varphi$. -According to equation~(\ref{probrule}), the weight adjustment $\pi_j$ is -then given by -\begin{equation} -\pi_j = \Pi(\varphi) / f_\textrm{MC}(\varphi). -\end{equation} -In the implementation, the integral in~(\ref{eq:mosaic_integral}) is computed -using a 15-order Gaussian quadrature formula, with the integral -restricted to an interval of width $5\sigma/\cos\theta$ for the same -reasons discussed above on the sampling of $\varphi$. +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Monochromator_flat.comp}{Source code} for \texttt{Monochromator\_flat.comp}. +\end{itemize} +\IfFileExists{Monochromator_flat_static.tex}{\input{Monochromator_flat_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Monochromator_flat_static.tex b/docs/manuals/mcstas/optics/Monochromator_flat_static.tex new file mode 100644 index 0000000000..44e1314d54 --- /dev/null +++ b/docs/manuals/mcstas/optics/Monochromator_flat_static.tex @@ -0,0 +1,201 @@ +\section{Monochromator\_flat: An infinitely thin, flat mosaic crystal with +a single scattering vector} +\label{s:monochromator_flat} +\index{Optics!Monochromator} + +%\component{Monochromator\_flat}{System}{$z_\textrm{min}$, $z_\textrm{max}$, $y_\textrm{min}$, $y_\textrm{max}$, $\eta_\textrm{h}$, $\eta_\textrm{v}$, $R_0$, $Q_0$}{$d_\textrm{m}$}{In reflecting geometry, non polarized} +%\mcdoccomp{optics/Monochromator_flat.parms} + +This component simulates an infinitely thin single +crystal with a single scattering vector, $Q_0=2\pi / d_m$, perpendicular to the +surface. A typical +use for this component is to simulate a simple monochromator or analyzer. + +The monochromator dimensions are given by the length, $z_\textrm{w}$, and +the height, $y_\textrm{h}$. As the parameter names indicate, the +monochromator is placed in the $z-y$ plane of the local coordinate system. +This definition is made to ensure that the physical monochromator angle +(often denoted \verb+A1+) will equal the \MCS rotation angle +of the Monochromator component around the $y$-axis. +$R_0$ is the maximal reflectivity and +$\eta_\textrm{h}$ and $\eta_\textrm{v}$ are the horizontal and vertical mosaicities, +respectively, see explanation below. + +\subsection{Monochromator physics and algorithm} +The physical model used in \textbf{Monochromator\_flat} is a rectangular piece of +material composed of a large number of small micro-crystals. +The orientation of the +micro-crystals deviates from the nominal crystal orientation so that the +probability of a given micro-crystal orientation is proportional to a +Gaussian in the angle between the given and the nominal orientation. The +width of the Gaussian is given by the mosaic spread, $\eta$, of the crystal +(given in units of arc minutes). +$\eta$ is assumed to be large compared to the inherent Bragg width of the +scattering vector (often a few arc seconds). +(The mosaicity gives rise to a Gaussian reflectivity profile of width +similar to - but not equal - the intrinsic mosaicity. +In this component, and in real life, the mosaicity given is that of the +reflectivity signal.) + +As a further simplification, the crystal is assumed to be infinitely +thin. This means that multiple scattering effects are not simulated. It +also means that the total reflectivity, $r_0$ is used as a parameter for +the model rather than the atomic scattering cross section, implying that +the scattering efficiency does not vary with neutron wavelength. +The variance +of the lattice spacing ($\Delta d/d$) is assumed to be zero, so this +component is not suitable for simulating backscattering instruments (use +the component \textrm{Single\_crystal} +in section~\ref{s:Single_crystal} for that). + +When a neutron trajectory intersects the crystal, the first step in the +computation is to determine the probability of scattering. This +probability is then used in a Monte Carlo choice deciding whether to +scatter or transmit the neutron. The physical scattering probability is the sum +of the probabilities of first- second-, and higher-order scattering - +up to the highest order possible for the given neutron wavelength. +However, in most cases at most one order will have a +significant scattering probability, and the computation thus considers +only the order that best matches the neutron wavelength. + +The scattering of neutrons from a crystal is governed by Bragg's law: +\begin{equation} +n\textbf{Q}_0 = 2\textbf{k}_i\sin\theta +\end{equation} +The scattering order is specified by the integer $n$. We seek only one +value of $n$, namely the one which makes +$n \textbf{Q}_0$ closest to the projection of $2\textbf{k}_i$ onto $\textbf{Q}_0$ +(see figure~\ref{f:mosaic_order}). +% k=2PI/lambda +% q=2k sin(theta) +% +% 2 PI n/k = d q/2k +% q = n 4 PI/d +% +% n 2PI/k = n 4 PI/q \sin\theta +% 1/k = 2/q\sin\theta +% n q = 2k\sin\theta +\begin{figure} + \begin{center} + \psfrag{theta}[l][l]{$\theta$} + \psfrag{ki}[r][r]{$2\textbf{k}_\textrm{i}$} + \psfrag{Q0}[l][l]{$\textbf{Q}_0$} + \psfrag{2Q0}[l][l]{$2\textbf{Q}_0$} + \psfrag{3Q0}[l][l]{$3\textbf{Q}_0$} + \psfrag{4Q0}[l][l]{$4\textbf{Q}_0$} + \includegraphics[width=0.5\textwidth]{figures/mosaic_order} + \end{center} +\caption{Selection of the Bragg order (``2'' in this case).} +\label{f:mosaic_order} +\end{figure} +% + +Once $n$ has been determined, the Bragg angle $\theta$ can be +computed. The angle $\alpha$ is the amount one would need to +turn the nominal scattering vector $\textbf{Q}_0$ for the monochromator +to be in Bragg scattering condition. +We now use $\alpha$ to compute the probability of reflection from +the mosaic crystal +\begin{equation} +p_\textrm{reflect} = R_0 e^{-\alpha^2/2\eta^2}, +\end{equation} +The probability $p_\textrm{reflect}$ is used +in a Monte Carlo choice to decide whether the neutron is transmitted or +reflected. +% +%\begin{figure} +% \begin{center} +% \psfrag{th}[r][r]{$\theta$} +% \psfrag{ki}[r][r]{$2\textbf{k}_\textrm{i}$} +% \psfrag{kf}[l][l]{$2\textbf{k}_\textrm{f}$} +% \psfrag{Q0}[l][l]{$\textbf{Q}_0$} +% \psfrag{alpha}[c][c]{$\alpha$} +% \psfrag{q}[l][l]$\textbf{q}$ +% \includegraphics[width=0.5\textwidth]{figures/mosaic_angle} +% \end{center} +%\caption{Computing the deviation $d$ from the nominal scattering direction.} +%\label{f:mosaic_angle} +%\end{figure} + +In the case of reflection, the neutron will be scattered into the +Debye-Scherrer cone, with the probability of each point on the cone +being determined by the mosaic. The Debye-Scherrer cone can be described +by the equation +\begin{equation} + \label{eq:mosaic_cone} + \textbf{k}_\textrm{f} = \textbf{k}_\textrm{i}\cos2\theta + + \sin2\theta(\textbf{c}\cos\varphi + \textbf{b}\sin\varphi), + \qquad\varphi\in[-\pi;\pi], +\end{equation} +where $\textbf{b}$ is a vector perpendicular to $\textbf{k}_\textrm{i}$ and $\textbf{ +Q}_0$, $\textbf{c}$ is perpendicular to $\textbf{k}_\textrm{i}$ and $\textbf{b}$, +and both $\textbf{b}$ and $\textbf{c}$ have the same length as $\textbf{k}_\textrm{i}$ +(see figure~\ref{f:mosaic_cone}). When choosing $\varphi$ (and +thereby $\textbf{k}_\textrm{f}$), only a small part of the full $[-\pi; \pi]$ +range will have appreciable scattering probability in non-backscattering +configurations. The best statistics is thus obtained by sampling +$\varphi$ only from a suitably narrow range. + +The (small) deviation angle $\alpha$ of the nominal +scattering vector $n\textbf{Q}_0$ corresponds to a $\Delta q$ of +\begin{equation} +\Delta q \approx \alpha 2k\sin\theta. +\end{equation} +The angle $\varphi$ corresponds to a $\Delta k_\textrm{f}$ (and hence +$\Delta q$) of +\begin{equation} +\Delta q \approx \varphi k \sin(2\theta) +\end{equation} +(see figure~\ref{f:mosaic_cone}). +Hence we may sample $\varphi$ from a Gaussian with standard deviation +\begin{equation} +\alpha\frac{2k\sin\theta}{k\sin(2\theta)} = +\alpha\frac{2k\sin\theta}{2k\sin\theta\cos\theta} = +\frac{\alpha}{\cos\theta} +\end{equation} +to get good statistics. +% +\begin{figure} + \begin{center} + \psfrag{th}[r][r]{$2\theta$} + \psfrag{ki}[c][c]{$2\textbf{k}_\textrm{i}$} + \psfrag{kf}[r][r]{$2\textbf{k}_\textrm{f}$} + \psfrag{nQ0}[l][l]{$n\textbf{Q}_0$} + \psfrag{q}[l][l]{$\textbf{q}$} + \psfrag{2ksin2t}[l][l]{$2 k \sin(2 \theta)$} + \includegraphics[width=0.5\textwidth]{figures/mosaic_cone} + \end{center} +\caption{Scattering into the part of the Debye-Scherrer cone covered by + the mosaic.} +\label{f:mosaic_cone} +\end{figure} + +What remains is to determine the neutron weight. The distribution from +which the scattering event is sampled is a Gaussian in $\varphi$ of +width $\frac{\alpha}{\cos\theta}$, +\begin{equation} + f_\textrm{MC}(\varphi) = \frac{1}{\sqrt{2\pi}(\sigma/\cos\theta)} + e^{-\varphi^2/2(\sigma/\cos\theta)^2} +\end{equation} +In the physical model, the probability of the scattering event is +proportional to a Gaussian in the angle between the nominal scattering +vector $\textbf{Q}_0$ and the actual scattering vector $\textbf{q}$. The +normalization condition is that the integral over all $\varphi$ should +be 1. Thus the probability of the scattering event in the physical model +is +\begin{equation} + \label{eq:mosaic_integral} + \Pi(\varphi) = e^{\frac{-d(\varphi)^2}{2\sigma^2}} / + \int_{-\pi}^{\pi} e^{\frac{-d(\varphi)^2}{2\sigma^2}} d\varphi +\end{equation} +where $d(\varphi)$ denotes the angle between the nominal scattering +vector and the actual scattering vector corresponding to $\varphi$. +According to equation~(\ref{probrule}), the weight adjustment $\pi_j$ is +then given by +\begin{equation} +\pi_j = \Pi(\varphi) / f_\textrm{MC}(\varphi). +\end{equation} +In the implementation, the integral in~(\ref{eq:mosaic_integral}) is computed +using a 15-order Gaussian quadrature formula, with the integral +restricted to an interval of width $5\sigma/\cos\theta$ for the same +reasons discussed above on the sampling of $\varphi$. diff --git a/docs/manuals/mcstas/optics/Monochromator_pol.tex b/docs/manuals/mcstas/optics/Monochromator_pol.tex new file mode 100644 index 0000000000..f9e1bec6e5 --- /dev/null +++ b/docs/manuals/mcstas/optics/Monochromator_pol.tex @@ -0,0 +1,89 @@ +\section{The \texttt{Monochromator\_pol} McStas Component} +Flat polarizaing monochromator crystal. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Christiansen + \item \textbf{Origin:} RISOE + \item \textbf{Date:} 2006 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Based on Monochromator_flat. +Flat, infinitely thin mosaic crystal, useful as a monochromator or analyzer. +For an unrotated monochromator component, the crystal surface lies in the Y-Z +plane (ie. parallel to the beam). +The mosaic and d-spread distributions are both Gaussian. +Neutrons are just reflected (billard ball like). No correction is done for +mosaicity of reflecting crystal. +The crystal is assumed to be a ferromagnet with spin pointing up +eta-tilde = (0, 1, 0) (along y-axis), so that the magnetic field is +pointing opposite (0, -|B|, 0). + +The polarisation is done by defining the reflectivity for spin up +(Rup) and spin down (Rdown) (which can be negative, see now!) and +based on this the nuclear and magnetic structure factors are +calculated: +FM = sign(Rup)*sqrt(|Rup|) + sign(Rdown)*sqrt(|Rdown|) +FN = sign(Rup)*sqrt(|Rup|) - sign(Rdown)*sqrt(|Rdown|) +and the physics is calculated as +Pol in = (sx_in, sy_in, sz_in) +Reflectivity R0 = FN*FN + 2*FN*FM*sy_in + FM*FM +(= |Rup| + |Rdown| (for sy_in=0)) +Pol out: +sx = (FN*FN - FM*FM)*sx_in/R0; +sy = ((FN*FN - FM*FM)*sy_in + 2*FN*FM + FM*FM*sy_in)/R0; +sz = (FN*FN - FM*FM)*sz_in/R0; + +These equations are taken from: +Lovesey: "Theory of neutron scattering from condensed matter, Volume +2", Eq. 10.96 and Eq. 10.110 + +This component works with gravity (uses PROP_X0). + +Example: Monochromator_pol(zwidth=0.2, yheight=0.2, mosaic=30.0, dspread=0.0025, Rup=1.0, Rdown=0.0, Q=1.8734) + +Monochromator lattice parameter +PG 002 DM=3.355 AA (Highly Oriented Pyrolythic Graphite) +PG 004 DM=1.677 AA +Heusler 111 DM=3.362 AA (Cu2MnAl) +CoFe DM=1.771 AA (Co0.92Fe0.08) +Ge 111 DM=3.266 AA +Ge 311 DM=1.714 AA +Ge 511 DM=1.089 AA +Ge 533 DM=0.863 AA +Si 111 DM=3.135 AA +Cu 111 DM=2.087 AA +Cu 002 DM=1.807 AA +Cu 220 DM=1.278 AA +Cu 111 DM=2.095 AA +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +zwidth & m & Width of crystal & 0.1 \\ +yheight & m & Height of crystal & 0.1 \\ +mosaic & & Mosaicity (FWHM) [arc minutes] & 30.0 \\ +dspread & 1 & Relative d-spread (FWHM) & 0 \\ +Q & AA-1 & Magnitude of scattering vector & 1.8734 \\ +DM & AA & monochromator d-spacing instead of Q = 2*pi/DM & 0 \\ +pThreshold & & if probability\textgreater{}pThreshold then accept and weight else random & 0 \\ +Rup & 1 & Reflectivity of neutrons with polarization up & 1 \\ +Rdown & 1 & Reflectivity of neutrons with polarization down & 1 \\ +debug & & if debug \textgreater{} 0, print out some info about the calculations & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Monochromator_pol.comp}{Source code} for \texttt{Monochromator\_pol.comp}. +\end{itemize} +\IfFileExists{Monochromator_pol_static.tex}{\input{Monochromator_pol_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Place.tex b/docs/manuals/mcstas/optics/Place.tex new file mode 100644 index 0000000000..d0f0a5534d --- /dev/null +++ b/docs/manuals/mcstas/optics/Place.tex @@ -0,0 +1,35 @@ +\section{The \texttt{Place} McStas Component} +A place in space - alias of Arm + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Willendrup + \item \textbf{Origin:} DTU + \item \textbf{Date:} June 2025 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Just like Arm, Place does not actually do anything, it is just there to set +up a new coordinate system. + +Example: Place() +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Place.comp}{Source code} for \texttt{Place.comp}. +\end{itemize} +\IfFileExists{Place_static.tex}{\input{Place_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/PolAnalyser_ideal.tex b/docs/manuals/mcstas/optics/PolAnalyser_ideal.tex new file mode 100644 index 0000000000..068ca9f57e --- /dev/null +++ b/docs/manuals/mcstas/optics/PolAnalyser_ideal.tex @@ -0,0 +1,39 @@ +\section{The \texttt{PolAnalyser\_ideal} McStas Component} +(Unphysical) ideal analyzer. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Erik Knudsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} June 2010 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This is an ideal model of a polarization analyser device. Given a polarization vector +it "lets through" a scaled neutron weight. An imperfect analyzer could be modelled by an +analysis vector M with |M|<1. + +Example: PolAnalyser_ideal(mx=0, my=1, mz=0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +mx & 1 & X-component of polarisation analysis vector -1\textless{}mx\textless{}1 & 0 \\ +my & 1 & Y-component of polarisation analysis vector -1\textless{}my\textless{}1 & 0 \\ +mz & 1 & Z-component of polarisation analysis vector -1\textless{}mz\textless{}1 & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/PolAnalyser_ideal.comp}{Source code} for \texttt{PolAnalyser\_ideal.comp}. +\end{itemize} +\IfFileExists{PolAnalyser_ideal_static.tex}{\input{PolAnalyser_ideal_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Pol_Bfield.tex b/docs/manuals/mcstas/optics/Pol_Bfield.tex new file mode 100644 index 0000000000..564f83651c --- /dev/null +++ b/docs/manuals/mcstas/optics/Pol_Bfield.tex @@ -0,0 +1,86 @@ +\section{The \texttt{Pol\_Bfield} McStas Component} +Magnetic field component. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Erik B Knudsen, Peter Christiansen and Peter Willendrup + \item \textbf{Origin:} RISOE + \item \textbf{Date:} July 2011 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Region with a definable magnetic field. + +The component is nestable if the concentric flag is set (the default). This means that it may have a +construction like the following: +// START MAGNETIC FIELD +COMPONENT msf = +Pol_Bfield(xwidth=0.08, yheight=0.08, zdepth=0.2, Bx=0, By=-0.678332e-4, Bz=0) +AT (0, 0, 0) RELATIVE armMSF + +// OTHER COMPONENTS INSIDE THE MAGNETIC FIELD CAN BE PLACED HERE + +// STOP MAGNETIC FIELD +COMPONENT msf_stop = Pol_simpleBfield_stop(magnet_comp_stop=msf) +AT (0, 0, 0) RELATIVE armMSF + +Note that if you have objects within the magnetic field that extend outside it you may get +wrong results, because propagation within the field will then possibly extend outside, e.g. +when using a tabled field. The evaluated field will then use the nearest defined field point +_also_ outside the defintion area. If these outside-points have a non-zero field precession will +continue - even after the neutron has left the field region. + +In between the two component instances the propagation routine +PROP_DT also handles spin propagation. +The current algorithm used for spin propagation is: +SimpleNumMagnetPrecession +in pol-lib. + +Example: Pol_Bfield(xwidth=0.1, yheight=0.1, zdepth=0.2, Bx=0, By=1, Bz=0) +Pol_Bfield(xwidth=0.1, yheight=0.1, zdepth=0.2, field_type=1) + +Functions supplied by the system are (the number is the ID of the function to be given as the field_type parameter: +1. Constant magnetic field: Constant field (Bx,By,Bz) within the region +2. Rotating magnetic_field: Field is initially (0,By,0) but after a length of zdepth +has rotated to (By,0,0) +3. Majorana magnetic_field: Field is initially (Bx,By,0) with By< xwidth +<------> xwidth/nslit (nslit=3) +<> d + +The reflection functions and parameters defaults as follows: +Bot defaults to Top, Left defaults to Top, Right defaults to left. +Down defaults to down and up defaults to up for all functions and +Top(Up and Down) defaults to StdReflecFunc and {0.99,0.0219,6.07,2.0,0.003} +which stands for {R0, Qc, alpha, m, W}. + +Example: +Pol_bender(xwidth = 0.08, yheight = 0.08, length = 1.0, radius= 10.0, +nslit=5, d=0.0, endFlat=0, drawOption=2, +rTopUpPar={0.99, 0.0219, 6.07, 3.0, 0.003}, +rTopDownPar={0.99, 0.0219, 6.07, 1.0, 0.003}) + +See also the example instruments Test_Pol_Bender and +Test_Pol_Bender_Vs_Guide_Curved (under tests). + +%BUGS +This component has been against tested Guide_curved and found to +give the same intensities. Gravity option has not been tested. + +GRAVITY: YES (when gravity is along y-axis) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{xwidth} & m & Width at the guide entry & \\ +\textbf{yheight} & m & Height at the guide entry & \\ +\textbf{length} & m & length of guide along center & \\ +\textbf{radius} & m & Radius of curvature of the guide (+:curve left/-:right) & \\ +G & m/s\textasciicircum{}2 & Gravitational constant & 9.8 \\ +nslit & 1 & Number of slits & 1 \\ +d & m & Width of spacers (subdividing absorbing walls) & 0.0 \\ +debug & 1 & if debug \textgreater{} 0 print out some internal parameters & 0 \\ +endFlat & 1 & If endflat\textgreater{}0 then entrance and exit planes are parallel. & 0 \\ +rTopUpPar & 1 & Top mirror Parameters for spin up standard reflectivity function & \{0.99,0.0219,6.07,2.0,0.003\} \\ +rTopDownPar & 1 & Top mirror Parameters for spin down standard reflectivity function & \{0.99,0.0219,6.07,2.0,0.003\} \\ +rBotUpPar & 1 & Bottom mirror Parameters for spin up standard reflectivity function & \{0.99,0.0219,6.07,2.0,0.003\} \\ +rBotDownPar & 1 & Bottom mirror Parameters for spin down standard reflectivity function & \{0.99,0.0219,6.07,2.0,0.003\} \\ +rLeftUpPar & 1 & Left mirror Parameters for spin up standard reflectivity function & \{0.99,0.0219,6.07,2.0,0.003\} \\ +rLeftDownPar & 1 & Left mirror Parameters for spin down standard reflectivity function & \{0.99,0.0219,6.07,2.0,0.003\} \\ +rRightUpPar & 1 & Right mirror Parameters for spin up standard reflectivity function & \{0.99,0.0219,6.07,2.0,0.003\} \\ +rRightDownPar & 1 & Right mirror Parameters for spin down standard reflectivity function & \{0.99,0.0219,6.07,2.0,0.003\} \\ +rTopUpData & 1 & Reflectivity file for top mirror, spin up & "" \\ +rTopDownData & 1 & Reflectivity file for top mirror, spin down & "" \\ +rBotUpData & 1 & Reflectivity file for bottom mirror, spin up & "" \\ +rBotDownData & 1 & Reflectivity file for bottom mirror, spin down & "" \\ +rLeftUpData & 1 & Reflectivity file for left mirror, spin up & "" \\ +rLeftDownData & 1 & Reflectivity file for left mirror, spin down & "" \\ +rRightUpData & 1 & Reflectivity file for right mirror, spin up & "" \\ +rRightDownData & 1 & Reflectivity file for right mirror, spin down & "" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Pol_bender.comp}{Source code} for \texttt{Pol\_bender.comp}. +\end{itemize} +\IfFileExists{Pol_bender_static.tex}{\input{Pol_bender_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Pol_constBfield.tex b/docs/manuals/mcstas/optics/Pol_constBfield.tex new file mode 100644 index 0000000000..7a5ada2d78 --- /dev/null +++ b/docs/manuals/mcstas/optics/Pol_constBfield.tex @@ -0,0 +1,43 @@ +\section{The \texttt{Pol\_constBfield} McStas Component} +Constant magnetic field. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Christiansen + \item \textbf{Origin:} RISOE + \item \textbf{Date:} July 2006 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Rectangular box with constant B field along y-axis (up). The +component can be rotated to make either a guide field or a spin +flipper. A neutron hitting outside the box opening or the box sides +is absorbed. + +Example: Pol_constBfield(xwidth=0.1, yheight=0.1, zdepth=0.2, fliplambda=5.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{xwidth} & m & Width of opening & \\ +\textbf{yheight} & m & Height of opening & \\ +\textbf{zdepth} & m & Length of field & \\ +B & Gauss & Magnetic field along y-direction & 0 \\ +fliplambda & AA & lambda for calculating B field & 0 \\ +flipangle & deg & Angle flipped for lambda = fliplambda fliplambda and flipangle overrides B so a neutron with s= (1, 0, 0) and v = (0, 0, v(fliplambda)) will have s =(cos(flipangle), sin(flipangle), 0) after the section. & 180 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Pol_constBfield.comp}{Source code} for \texttt{Pol\_constBfield.comp}. +\end{itemize} +\IfFileExists{Pol_constBfield_static.tex}{\input{Pol_constBfield_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Pol_guide_mirror.tex b/docs/manuals/mcstas/optics/Pol_guide_mirror.tex new file mode 100644 index 0000000000..eab18fa16a --- /dev/null +++ b/docs/manuals/mcstas/optics/Pol_guide_mirror.tex @@ -0,0 +1,66 @@ +\section{The \texttt{Pol\_guide\_mirror} McStas Component} +Polarising guide with a supermirror along its diagonal. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Erik B Knudsen + \item \textbf{Origin:} DTU Physics + \item \textbf{Date:} July 2018 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Based on Pol_guide_vmirror by P. Christiansen. +Models a rectangular guide with entrance centered on the Z axis and +with one supermirror sitting on the diagonal inside. +The entrance lies in the X-Y plane. Draws a true depiction +of the guide with mirror and trajectories. +The polarisation is handled similar to in Monochromator_pol. +The reflec functions are handled similar to Pol_mirror. +The up direction is hardcoded to be along the y-axis (0, 1, 0) + +Note that this component can also be used as a frame overlap-mirror +if the up and down reflectivities are set equal. In this case the wall +reflectivity (rPar) should probably be set to 0. + +Reflectivity values can either come from datafiles or from +sets of parameters to the standard analytic reflectivity function commonly +used for neutron guides: +R=R0; q geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). + +All geometries are centred. The bulk material fills the shape, but can be +set 'outside' when density is given a negative value. In this case, the material +outside the bulk is void (vacuum). + +Usually, you should stack more than one of these to get a significant effect +on the neutron beam, so-called 'compound refractive lens'. +The focal length for N lenses with focal 'f' is f/N, where f=R/(1-n) +and R = r/2 for a spherical lens with curvature radius 'r' + +COMMON MATERIALS: +Should have high coherent, and low incoherent and absorption cross sections +Be: density=1.85, weight=9.0121, sigma_coh=7.63, sigma_inc=0.0018,sigma_abs=0.0076 +Pb: density=11.115,weight=207.2, sigma_coh=11.115,sigma_inc=0.003, sigma_abs=0.171 +Pb206: sigma_coh=10.68, sigma_inc=0 , sigma_abs=0.03 +Pb208: sigma_coh=11.34, sigma_inc=0 , sigma_abs=0.00048 +Zr: density=6.52, weight=91.224, sigma_coh=6.44, sigma_inc=0.02, sigma_abs=0.185 +Zr90: sigma_coh=5.1, sigma_inc=0 , sigma_abs=0.011 +Zr94: sigma_coh=8.4, sigma_inc=0 , sigma_abs=0.05 +Bi: density=9.78, weight=208.98, sigma_coh=9.148, sigma_inc=0.0084,sigma_abs=0.0338 +Mg: density=1.738, weight=24.3, sigma_coh=3.631, sigma_inc=0.08, sigma_abs=0.063 +MgF2: density=3.148, weight=62.3018,sigma_coh=11.74, sigma_inc=0.0816,sigma_abs=0.0822 +diamond: density=3.52, weight=12.01, sigma_coh=5.551, sigma_inc=0.001, sigma_abs=0.0035 +Quartz/silica: density=2.53, weight=60.08, sigma_coh=10.625,sigma_inc=0.0056,sigma_abs=0.1714 +Si: density=2.329, weight=28.0855,sigma_coh=2.1633,sigma_inc=0.004, sigma_abs=0.171 +Al: density=2.7, weight=26.98, sigma_coh=1.495, sigma_inc=0.0082,sigma_abs=0.231 +Ni: density=8.908, weight=58.69, sigma_coh=13.3, sigma_inc=5.2, sigma_abs=4.49 +Mn: (bc < 0) density=7.21, weight=54.94, sigma_coh=-1.75, sigma_inc=0.4, sigma_abs=13.3 +perfluoropolymer(PTFE/Teflon/CF2): +density=2.2, weight=50.007, sigma_coh=13.584,sigma_inc=0.0026,sigma_abs=0.0227 +Organic molecules with C,O,H,F + +Among the most commonly available and machinable materials are MgF2, SiO2, Si, and Al. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xwidth & m & width of box & 0 \\ +yheight & m & height of box/cylinder & 0 \\ +zdepth & m & depth of box & 0 \\ +radius & m & radius of sphere/cylinder & 0 \\ +geometry & str & OFF/PLY geometry file name, or NULL to use simple shape A spherical bi-concave lens can be obtained with geometry="lens\_sphere" and given radius and zdepth & "NULL" \\ +R0 & 1 & Low-angle reflectivity & 0.99 \\ +sigma\_coh & barn & coherent cross section of refracting material. Use negative value to indicate a negative coherent scattering length & 11.74 \\ +density & g/cm3 & density of the refracting material. density \textless{} 0 means the material is outside/before the shape. & 3.148 \\ +weight & g/mol & molar mass of the refracting material & 62.3018 \\ +sigma\_inc & barn & incoherent cross section & 0 \\ +sigma\_abs & barn & thermal absorption cross section & 0 \\ +Qc & Angs-1 & critical scattering vector, e.g. Qc=0.0219 for Ni coating. Set Qc=0 to use the bulk critical grazing angles. & 0 \\ +p\_interact & 1 & MC Probability for scattering the ray; otherwise transmit. Use 0 to compute true probability, or specify it as e.g. 0.05 & 0.05 \\ +RMS & Angs & root mean square wavyness of the surface & 0 \\ +focus\_scatter & deg & angle in which to scatter in bulk, with probability 'p\_interact' & 10 \\ +verbose & 1 & flag to display detailed component behaviour & 0 \\ +p\_scatter & 1 & flag to allow scattering in the refractor bulk & 1 \\ +p\_reflect & 1 & flag to allow reflection (grazing angle) at the surface & 1 \\ +p\_refract & 1 & flag to allow refraction at the refractor surface & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Refractor.comp}{Source code} for \texttt{Refractor.comp}. + \item M. L. Goldberger et al, Phys. Rev. 71, 294 - 310 (1947) + \item Sears V.F. Neutron optics. An introduction to the theory of neutron optical phenomena and their applications. Oxford University Press, 1989. + \item H. Park et al. Measured operational neutron energies of compound refractive lenses. Nuclear Instruments and Methods B, 251:507-511, 2006. + \item J. Feinstein and R. H. Pantell. Characteristics of the thick, compound refractive lens. Applied Optics, 42 No. 4:719-723, 2001. + \item \textless{}a href="http://www.geomview.org"\textgreater{}Geomview and Object File Format (OFF)\textless{}/a\textgreater{} + \item Java version of Geomview (display only) \textless{}a href="http://www.holmes3d.net/graphics/roffview/"\textgreater{}jroff.jar\textless{}/a\textgreater{} + \item \textless{}a hrefp="http://meshlab.sourceforge.net/"\textgreater{}Meshlab\textless{}/a\textgreater{} can view OFF and PLY files + \item \textless{}a href="http://qhull.org"\textgreater{}qhull\textless{}/a\textgreater{} for points to OFF conversion + \item \textless{}a href="http://www.cs.ucdavis.edu/\textasciitilde{}amenta/powercrust.html"\textgreater{}powercrust\textless{}/a\textgreater{} for points to OFF conversion +\end{itemize} +\IfFileExists{Refractor_static.tex}{\input{Refractor_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Rotator.tex b/docs/manuals/mcstas/optics/Rotator.tex new file mode 100644 index 0000000000..449d9ccac6 --- /dev/null +++ b/docs/manuals/mcstas/optics/Rotator.tex @@ -0,0 +1,46 @@ +\section{The \texttt{Rotator} McStas Component} +A rotative frame along vertical axis + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Emmanuel Farhi + \item \textbf{Origin:} \textless{}a href="http://www.ill.fr"\textgreater{}ILL\textless{}/a\textgreater{} + \item \textbf{Date:} June 20th 2013 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +All components positioned after this one are rotating at frequency 'nu' with +phase 'phase'. Use the Derotator component to put back the model steady. +The rotation is performed w.r.t. the position of the component, along a chosen +main axis (use directon=1 for x, direction=2 for y, direction=3 for z). + +Default rotation axis is vertical axis / 'y'. + +Example: +R=Rotator(nu=14, phase=0) +... +DR=Derotator(rotator=R) +AT (0,0,0) RELATIVE R +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +nu & Hz & Rotation frequency (round/s) in the rotating option (vertical axis) & 0 \\ +phase & deg & Phase shift & 0 \\ +direction & 1 & Rotation axis selection 1=x, 2=y, 3=z & 2 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Rotator.comp}{Source code} for \texttt{Rotator.comp}. +\end{itemize} +\IfFileExists{Rotator_static.tex}{\input{Rotator_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Selector.tex b/docs/manuals/mcstas/optics/Selector.tex index 9368fcc85b..65ce1c9928 100644 --- a/docs/manuals/mcstas/optics/Selector.tex +++ b/docs/manuals/mcstas/optics/Selector.tex @@ -1,42 +1,60 @@ -\section{Selector: another approach to describe a rotating velocity selector} -\label{selector} -\index{Optics!Velocity selector} - -%\component{Selector}{System}{$xmin$, $xmax$, $ymin$, $ymax$, $len$, $num$, $width$, $radius$, $\alpha$, $feq$}{}{validated, position is center of input aperture} -\mcdoccomp{optics/Selector.parms} - -The component \textbf{Selector} describes the same kind of rotating velocity selector as \textbf{V\_selector} - compare -description there - but it uses different parameters and a different algorithm: - -The position of the apertures relative to the z-axis (usually the beam centre) is defined by the four parameters -$xmin, xmax, ymin, ymax$. Entry and exit apertures are always identical and situated directly before and behind -the rotor. -There are $num$ blades of thickness $width$ twisted by the angle $\alpha$ (in degrees) on a length $len$. -The selector rotates with a speed $feq$ (in rotation per second); its axle is in a distance $radius$ below the z-axis. - -First the neutron is propagated to the entrance window. The loss of neutrons hitting the thin side -of the blades is taken into account by multiplying the neutron weight by a factor - -\begin{equation} - p(r) = \theta_i(r) / \theta_o -\end{equation} - -\begin{equation} - \theta_o = 360^o / num -\end{equation} - -$\theta_i$ is the opening between two blades for the distance $r$ between the neutron position (at the entrance) -and the selector axle. The difference between $\theta_o$ and $\theta_i$ is determined by the blade thickness. -The neutron is now propagated to the exit window. If it is outside the regarded channel (between the two actual -blades), it is lost; otherwise it remains in the exit plane. - -WARNING - Differences between \textbf{Selector} and \textbf{V\_selector}: -\begin{itemize} -\item \textbf{Selector} has a different coordinate system than \textbf{V\_selector}; -in \textbf{Selector} the origin lies in the entrance plane of the selector. -\item The blades are twisted to the other side, i.e. to the left above the axle in \textbf{Selector}. -\item Speed of rotation is given in rotation per second, not in rotations per minute as in \textbf{V\_selector}. -\end{itemize} - - - +\section{The \texttt{Selector} McStas Component} +velocity selector (helical lamella type) such as \textless{}b\textgreater{}V\_selector\textless{}/b\textgreater{} component + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Link, \textless{}a href="mailto:Andreas.Ostermann@frm2.tum.de"\textgreater{}Andreas Ostermann\textless{}/a\textgreater{} + \item \textbf{Origin:} Uni. Gottingen (Germany) + \item \textbf{Date:} MARCH 1999 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Velocity selector consisting of rotating Soller-like blades +defining a helically twisted passage. +Geometry is defined by two identical apertures at 12 o'clock position, +The origin is at the ENTRANCE of the selector. + +Example: Selector(xmin=-0.015, xmax=0.015, ymin=-0.025, ymax=0.025, length=0.25, +nslit=72,d=0.0004, radius=0.12, alpha=48.298, nu=500) +These are values for the D11@ILL Dornier 'Dolores' Velocity Selector (NVS 023) + +%VALIDATION +Jun 2005: extensive external test, one minor problem +Jan 2006: problem solved (for McStas-1.9.1) +Validated by: K. Lieutenant + +%BUGS +for transmission calculation, each neutron is supposed to be in the guide centre +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xmin & m & Lower x bound of entry aperture & -0.015 \\ +xmax & m & Upper x bound of entry aperture & 0.015 \\ +ymin & m & Lower y bound of entry aperture & -0.025 \\ +ymax & m & Upper y bound of entry aperture & 0.025 \\ +length & m & rotor length & 0.25 \\ +xwidth & m & Width of entry. Overrides xmin,xmax. & 0 \\ +yheight & m & Height of entry. Overrides ymin,ymax. & 0 \\ +nslit & 1 & number of absorbing subdivinding spokes/lamella & 72 \\ +d & m & width of spokes at beam-center & 0.0004 \\ +radius & m & radius of beam-center & 0.12 \\ +alpha & deg & angle of torsion & 48.298 \\ +nu & Hz & frequency of rotation, which is ideally 3956*alpha*DEG2RAD/2/PI/lambda/length & 500 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Selector.comp}{Source code} for \texttt{Selector.comp}. + \item See also Additional notes \textless{}a href="http://mcstas.risoe.dk/pipermail/neutron-mc/1999q1/000134.html"\textgreater{}March 1999\textless{}/a\textgreater{} and \textless{}a href="http://mcstas.risoe.dk/pipermail/neutron-mc/1999q2/000136.html"\textgreater{}Jan 2000\textless{}/a\textgreater{}. +\end{itemize} +\IfFileExists{Selector_static.tex}{\input{Selector_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Selector_static.tex b/docs/manuals/mcstas/optics/Selector_static.tex new file mode 100644 index 0000000000..e625d0c12c --- /dev/null +++ b/docs/manuals/mcstas/optics/Selector_static.tex @@ -0,0 +1,42 @@ +\section{Selector: another approach to describe a rotating velocity selector} +\label{selector} +\index{Optics!Velocity selector} + +%\component{Selector}{System}{$xmin$, $xmax$, $ymin$, $ymax$, $len$, $num$, $width$, $radius$, $\alpha$, $feq$}{}{validated, position is center of input aperture} +%\mcdoccomp{optics/Selector.parms} + +The component \textbf{Selector} describes the same kind of rotating velocity selector as \textbf{V\_selector} - compare +description there - but it uses different parameters and a different algorithm: + +The position of the apertures relative to the z-axis (usually the beam centre) is defined by the four parameters +$xmin, xmax, ymin, ymax$. Entry and exit apertures are always identical and situated directly before and behind +the rotor. +There are $num$ blades of thickness $width$ twisted by the angle $\alpha$ (in degrees) on a length $len$. +The selector rotates with a speed $feq$ (in rotation per second); its axle is in a distance $radius$ below the z-axis. + +First the neutron is propagated to the entrance window. The loss of neutrons hitting the thin side +of the blades is taken into account by multiplying the neutron weight by a factor + +\begin{equation} + p(r) = \theta_i(r) / \theta_o +\end{equation} + +\begin{equation} + \theta_o = 360^o / num +\end{equation} + +$\theta_i$ is the opening between two blades for the distance $r$ between the neutron position (at the entrance) +and the selector axle. The difference between $\theta_o$ and $\theta_i$ is determined by the blade thickness. +The neutron is now propagated to the exit window. If it is outside the regarded channel (between the two actual +blades), it is lost; otherwise it remains in the exit plane. + +WARNING - Differences between \textbf{Selector} and \textbf{V\_selector}: +\begin{itemize} +\item \textbf{Selector} has a different coordinate system than \textbf{V\_selector}; +in \textbf{Selector} the origin lies in the entrance plane of the selector. +\item The blades are twisted to the other side, i.e. to the left above the axle in \textbf{Selector}. +\item Speed of rotation is given in rotation per second, not in rotations per minute as in \textbf{V\_selector}. +\end{itemize} + + + diff --git a/docs/manuals/mcstas/optics/Set_pol.tex b/docs/manuals/mcstas/optics/Set_pol.tex new file mode 100644 index 0000000000..ef185ae3e5 --- /dev/null +++ b/docs/manuals/mcstas/optics/Set_pol.tex @@ -0,0 +1,43 @@ +\section{The \texttt{Set\_pol} McStas Component} +(Unphysical) way of setting the polarization. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Christiansen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} August 2006 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This component has no physical size (like Arm - also drawn that +way), but is used to set the polarisation in one of four ways: +1) (randomOn=0, normalize=0) Hardcode the polarisation to the vector (px, py, pz) +2) (randomOn!=0, normalize!=0) Set the polarisation to a random vector on the unit sphere +3) (randomOn!=0, normalize=0) Set the polarisation to a radnom vector within the unit sphere +4) (randomOn=0, normalize!=0) Hardcode the polarisation to point in the direction of (px,py,pz) but with polarization=1. +Example: Set_pol(px=0, py=-1, pz=0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +px & 1 & X-component of polarisation vector (can be negative) & 0 \\ +py & 1 & Y-component of polarisation vector (can be negative) & 0 \\ +pz & 1 & Z-component of polarisation vector (can be negative) & 0 \\ +randomOn & 1 & Generate random values if randomOn!=0. & 0 \\ +normalize & 1 & Normalize the polarization vector to unity length. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/optics/Set_pol.comp}{Source code} for \texttt{Set\_pol.comp}. +\end{itemize} +\IfFileExists{Set_pol_static.tex}{\input{Set_pol_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/optics/Slit.tex b/docs/manuals/mcstas/optics/Slit.tex index b178375254..120cd35d30 100644 --- a/docs/manuals/mcstas/optics/Slit.tex +++ b/docs/manuals/mcstas/optics/Slit.tex @@ -1,33 +1,47 @@ -\section{Slit: A beam defining diaphragm} -\label{slit} -\index{Optics!Slit} +\section{The \texttt{Slit} McStas Component} +Rectangular/circular slit -%\component{Slit}{System}{$x_\textrm{min}$, $x_\textrm{max}$, $y_\textrm{min}$, $y_\textrm{max}$}{$r$, $p_\textrm{cut}$}{} -\mcdoccomp{optics/Slit.parms} +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann and Henrik M. Roennow + \item \textbf{Origin:} Risoe + \item \textbf{Date:} June 16, 1997 +\end{itemize} -The component \textbf{Slit} is a very simple construction. -It sets up an opening at $z=0$, and propagates the neutrons -onto this plane (by the kernel call PROP\_Z0). -Neutrons within the slit opening are unaffected, -while all other neutrons -are discarded by the kernel call ABSORB. +\subsection*{Description} +\begin{lstlisting} +A simple rectangular or circular slit. You may either +specify the radius (circular shape), or the rectangular bounds. +No transmission around the slit is allowed. -By using \textrm{Slit}, some neutrons contributing to the background -in a real experiment will be neglected. -These are the ones that scatter off the inner side -of the slit, penetrates the slit material, -or clear the outer edges of the slit. +Example: Slit(xmin=-0.01, xmax=0.01, ymin=-0.01, ymax=0.01) +Slit(xwidth=0.02, yheight=0.02) +Slit(radius=0.01) -The input parameters of \textbf{Slit} are the four coordinates, -$(x_\textrm{min}, x_\textrm{max}, y_\textrm{min}, y_\textrm{max})$ -defining the opening of the rectangle, or the radius $r$ of -a circular opening, depending on which parameters are specified. +The Slit will issue a warning if run as "closed" +\end{lstlisting} -The slit component can also be used to discard insignificant -({\em i.e.}\ very low weight) -neutron rays, that in some simulations may be very abundant and therefore -time consuming. If the optional parameter $p_\textrm{cut}$ is set, all -neutron rays with $pSample focusing: +The area to scatter to is a disk of radius 'focus_r' situated at the target. +This target area may also be rectangular if specified focus_xw and focus_yh +or focus_aw and focus_ah, respectively in meters and degrees. +The target itself is either situated according to given coordinates (x,y,z), +or defined with the relative target_index of the component to focus +to (next is +1). +This target position will be set to its AT position. When targeting to +centered components, such as spheres or cylinders, define an Arm component +where to focus to. +Sample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file -A sample with incoherent scattering, e.g. vanadium, is frequently used for -calibration purposes, as this gives an isotropic, elastically scattered beam. +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the PLY, OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. -The component \textbf{V\_sample} -has {\em only} absorption and incoherent elastic scattering. -For the sample geometry, we default use a -hollow cylinder (which has the solid cylinder as a limiting case). -The sample dimensions are: Inner radius $r_\textrm{i}$, -outer radius $r_\textrm{o}$, and height $h$, see figure \ref{f:v-sample}. -\begin{figure} - \begin{center} - \psfrag{ri}{$r_i$} - \psfrag{ro}{$r_o$} - \psfrag{h}{$h$} - \includegraphics[width=0.3\textwidth]{figures/vsample} - \end{center} -\caption{The geometry of the hollow-cylinder vanadium sample.} -\label{f:v-sample} -\end{figure} +Example: Incoherent(radius=0.05,focus_r=0.035, pack=1, target_index=1) +Incoherent(geometry="socket.off",focus_r=0.035, pack=1, target_index=1) +\end{lstlisting} -Alternatively, the sample geometry can be made rectangular -by specifying the width, $w_x$, the height, $h_y$, and the thickness, $t_z$. +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. -The incoherent and absorption cross sections for V are default -for the component. For other choices, the -parameters $\sigma_\textrm{inc}$, $\sigma_\textrm{abs}$, -and the unit cell volume $V_0$ should be specified. -For a loosely packed sample, also the packing factor, $f_\textrm{pack}$ -can be specified (default value of 1). +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +geometry & str & Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust & 0 \\ +radius & m & Outer radius of sample in (x,z) plane & 0 \\ +xwidth & m & Horiz. dimension of sample (bounding box if off file), as a width & 0 \\ +yheight & m & Vert. dimension of sample (bounding box if off file), as a height. A sphere shape is used when 0 and radius is set & 0 \\ +zdepth & m & Depth of sample (bounding box if off file) & 0 \\ +thickness & m & Thickness of hollow sample & 0 \\ +target\_x & & & 0 \\ +target\_y & m & position of target to focus at & 0 \\ +target\_z & & & 0 \\ +focus\_r & m & Radius of disk containing target. Use 0 for full space & 0 \\ +focus\_xw & m & horiz. dimension of a rectangular area & 0 \\ +focus\_yh & m & vert. dimension of a rectangular area & 0 \\ +focus\_aw & deg & horiz. angular dimension of a rectangular area & 0 \\ +focus\_ah & deg & vert. angular dimension of a rectangular area & 0 \\ +target\_index & 1 & Relative index of component to focus at, e.g. next is +1 & 0 \\ +pack & 1 & Packing factor & 1 \\ +p\_interact & 1 & MC Probability for scattering the ray; otherwise transmit & 1 \\ +f\_QE & 1 & Fraction of quasielastic scattering (rest is elastic) & 0 \\ +gamma & 1 & Lorentzian width of quasielastic broadening (HWHM) & 0 \\ +Etrans & meV & Global energy-transfer, for use in inelastic settings & 0 \\ +deltaE & meV & Width in energy around Etrans, for use in inelastic settings & 0 \\ +sigma\_abs & barns & Absorption cross section pr. unit cell at 2200 m/s & 5.08 \\ +sigma\_inc & barns & Incoherent scattering cross section pr. unit cell & 5.08 \\ +Vc & AA\textasciicircum{}3 & Unit cell volume & 13.827 \\ +concentric & 1 & Indicate that this component has a hollow geometry and may contain other components. It should then be duplicated after the inside part (only for box, cylinder, sphere) & 0 \\ +order & 1 & Limit multiple scattering up to given order 0 means all (default), 1 means single, 2 means double, ... & 0 \\ +\bottomrule +\end{longtable} -\subsection{Physics and algorithm} - -The incoherent scattering gives -a uniform angular distribution of the scattered -neutrons from each nucleus: $\gamma(\Omega) = 1/4\pi$. -For the focusing we choose to have a uniform distribution on -a target sphere of radius $r_\textrm{foc}$, at the position -$(x_\textrm{target},y_\textrm{target},z_\textrm{target})$ -in the local coordinate system. -This gives an angular distribution (in a small angle approximation) -of -\begin{equation} -g(\Omega) = \frac{1}{4\pi} - \frac{x_\textrm{t}^2+y_\textrm{t}^2+z_\textrm{t}^2}{(\pi r_\textrm{t}^2)}. -\end{equation} - -The focusing can alternatively be performed on a rectangle with dimensions -$w_\textrm{focus}$, $h_\textrm{focus}$, or uniformly in angular space -(in a small-angle approximation), -using $w_\textrm{foc, angle}$, $h_\textrm{foc, angle}$. -The focusing location can be picked to be a downstream component by -specifying \\ -\verb+target_index+. - -When calculating the neutron path length within -the cylinder, the kernel function \\ -\verb+cylinder_intersect+ -is used twice, once for the outer radius and once -for the inner radius. - -Multiple scattering is not included in this component. To obtain -intensities similar to real measured ones, we therefore do not -take attenuation from scattering into account for the outgoing -neutron ray. - -\subsection{Remark on functionality} -When simulating a realistic incoherent hollow cylinder sample -one finds that the resulting direction dependence -of the scattered intensity is {\em not} isotropic. -This is explained by the variation of attenuation with -scattering angle. -One test result is shown in the instrument example chapter of the \MCS User Manual. - -The \verb+Samples_vanadium+ and \verb+Samples_incoherent+ test/example instruments exist in the distribution for this component. +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/Incoherent.comp}{Source code} for \texttt{Incoherent.comp}. + \item \textless{}a href="http://www.ncnr.nist.gov/resources/n-lengths/"\textgreater{}Cross sections for single elements\textless{}/a\textgreater{} + \item \textless{}a href="http://www.ncnr.nist.gov/resources/sldcalc.html\textgreater{}Cross sections for compounds\textless{}/a\textgreater{} + \item \textless{}a href="http://www.webelements.com/"\textgreater{}Web Elements\textless{}/a\textgreater{} + \item \textless{}A HREF="http://neutron.risoe.dk/mcstas/components/tests/Incoherent/"\textgreater{}Test + \item results\textless{}/A\textgreater{} (not up-to-date). + \item The test/example instrument \textless{}a href="../examples/vanadium\_example.instr"\textgreater{}vanadium\_example.instr\textless{}/a\textgreater{}. + \item The test/example instrument \textless{}a href="../examples/QENS\_test.instr"\textgreater{}QENS\_test.instr\textless{}/a\textgreater{}. + \item \textless{}a href="http://www.geomview.org"\textgreater{}Geomview and Object File Format (OFF)\textless{}/a\textgreater{} + \item Java version of Geomview (display only) \textless{}a href="http://www.holmes3d.net/graphics/roffview/"\textgreater{}jroff.jar\textless{}/a\textgreater{} + \item \textless{}a href="http://qhull.org"\textgreater{}qhull\textless{}/a\textgreater{} + \item \textless{}a href="http://www.cs.ucdavis.edu/\textasciitilde{}amenta/powercrust.html"\textgreater{}powercrust\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Incoherent_static.tex}{\input{Incoherent_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/Incoherent_static.tex b/docs/manuals/mcstas/samples/Incoherent_static.tex new file mode 100644 index 0000000000..d9e2477a3d --- /dev/null +++ b/docs/manuals/mcstas/samples/Incoherent_static.tex @@ -0,0 +1,83 @@ +\section{Incoherent: An incoherent scatterer, the V-sample} +\label{s:v_sample} +\index{Samples!Incoherent isotropic scatterer (Vanadium)} +\index{Incoherent elastic scattering} + +%\component{V\_sample}{System}{$r_\textrm{i}$, $r_\textrm{o}$, $h$, $r_\textrm{foc}$, $x_\textrm{target}$, $y_\textrm{target}$, $z_\textrm{target}$}{$w_x$, $h_y$, $t_z$, $w_\textrm{focus}, h_\textrm{focus}$, $w_\textrm{foc, angle}$, $h_\textrm{foc, angle}$, \\ $\sigma_\textrm{abs}$, $\sigma_\textrm{inc}$, $V_0$, $f_\textrm{pack}$, target\_index}{validated} + +%\mcdoccomp{samples/Incoherent.parms} + +A sample with incoherent scattering, e.g. vanadium, is frequently used for +calibration purposes, as this gives an isotropic, elastically scattered beam. + +The component \textbf{V\_sample} +has {\em only} absorption and incoherent elastic scattering. +For the sample geometry, we default use a +hollow cylinder (which has the solid cylinder as a limiting case). +The sample dimensions are: Inner radius $r_\textrm{i}$, +outer radius $r_\textrm{o}$, and height $h$, see figure \ref{f:v-sample}. +\begin{figure} + \begin{center} + \psfrag{ri}{$r_i$} + \psfrag{ro}{$r_o$} + \psfrag{h}{$h$} + \includegraphics[width=0.3\textwidth]{figures/vsample} + \end{center} +\caption{The geometry of the hollow-cylinder vanadium sample.} +\label{f:v-sample} +\end{figure} + +Alternatively, the sample geometry can be made rectangular +by specifying the width, $w_x$, the height, $h_y$, and the thickness, $t_z$. + +The incoherent and absorption cross sections for V are default +for the component. For other choices, the +parameters $\sigma_\textrm{inc}$, $\sigma_\textrm{abs}$, +and the unit cell volume $V_0$ should be specified. +For a loosely packed sample, also the packing factor, $f_\textrm{pack}$ +can be specified (default value of 1). + +\subsection{Physics and algorithm} + +The incoherent scattering gives +a uniform angular distribution of the scattered +neutrons from each nucleus: $\gamma(\Omega) = 1/4\pi$. +For the focusing we choose to have a uniform distribution on +a target sphere of radius $r_\textrm{foc}$, at the position +$(x_\textrm{target},y_\textrm{target},z_\textrm{target})$ +in the local coordinate system. +This gives an angular distribution (in a small angle approximation) +of +\begin{equation} +g(\Omega) = \frac{1}{4\pi} + \frac{x_\textrm{t}^2+y_\textrm{t}^2+z_\textrm{t}^2}{(\pi r_\textrm{t}^2)}. +\end{equation} + +The focusing can alternatively be performed on a rectangle with dimensions +$w_\textrm{focus}$, $h_\textrm{focus}$, or uniformly in angular space +(in a small-angle approximation), +using $w_\textrm{foc, angle}$, $h_\textrm{foc, angle}$. +The focusing location can be picked to be a downstream component by +specifying \\ +\verb+target_index+. + +When calculating the neutron path length within +the cylinder, the kernel function \\ +\verb+cylinder_intersect+ +is used twice, once for the outer radius and once +for the inner radius. + +Multiple scattering is not included in this component. To obtain +intensities similar to real measured ones, we therefore do not +take attenuation from scattering into account for the outgoing +neutron ray. + +\subsection{Remark on functionality} +When simulating a realistic incoherent hollow cylinder sample +one finds that the resulting direction dependence +of the scattered intensity is {\em not} isotropic. +This is explained by the variation of attenuation with +scattering angle. +One test result is shown in the instrument example chapter of the \MCS User Manual. + +The \verb+Samples_vanadium+ and \verb+Samples_incoherent+ test/example instruments exist in the distribution for this component. diff --git a/docs/manuals/mcstas/samples/Isotropic_Sqw.tex b/docs/manuals/mcstas/samples/Isotropic_Sqw.tex index 7f70731fd7..82207461bd 100644 --- a/docs/manuals/mcstas/samples/Isotropic_Sqw.tex +++ b/docs/manuals/mcstas/samples/Isotropic_Sqw.tex @@ -1,424 +1,245 @@ -\section{Isotropic\_Sqw: A general $S(q,\omega)$ coherent and incoherent scatterer} -\label{s:isotropic-sqw} -\index{Samples!Coherent and incoherent isotropic scatterer} -\index{Coherent and incoherent isotropic scatterer} -\index{Inelastic scattering} -\index{Sample environments} -\index{Concentric components} -\index{Multiple scattering} - -%\component{Isotropic\_Sqw}{V. Hugouvieux, E. Farhi}{Sqw$\_{coh}$, $\sigma_{coh}$, Sqw$\_{inc}$, $\sigma_{inc}, V_\rho, \sigma_{abs}, T$,$x_{width},y_{height},z_{depth},r$, thickness}{$q_{min}, q_{max}, \omega_{min}, \omega_{max}, d\phi$, order}{validated (Vanadium, l-Rb, PowderN more accurate for powders) } -\mcdoccomp{samples/Isotropic_Sqw.parms} - -\begin{figure} - \begin{center} - \includegraphics[width=0.9\textwidth]{figures/sqw} - \end{center} -\caption{An $l-^4$He sample in a cryostat, simulated with the Isotropic\_Sqw component in concentric geometry.} -\label{f:isotropic-sqw} -\end{figure} - -The sample component \emph{Isotropic\_Sqw} has been developed in order to simulate neutron scattering from any isotropic material such as liquids, glasses (amorphous systems), polymers and powders (currently, mono-crystals cannot be handled). -The component treats coherent and incoherent neutron scattering and may be used to model most materials, including sample environments with concentric geometries. -The structure and dynamics of isotropic samples can be characterised by the dynamic structure factor $S(q,\omega)$, which determines the interaction between neutrons and the sample and therefore can be used as a probability distribution of $\omega$-energy and $q$-momentum transfers. It handles coherent and incoherent processes, both for elastic and inelastic interactions. -The main input for the component is $S(q,\omega)$ tables, or powder structure files. - -Usage examples of this component can be found in the \\ -\verb+Neutron site/tests/Test_Isotropic_Sqw+, the \\ -\verb+Neutron site/ILL/ILL_H15_IN6+ and the \verb+ILL_TOF_Env+ instruments from the \verb+mcgui+. - -From \MCS\ 2.4 we have decided to include the earlier version of Isotropic\_Sqw from the McStas 2.0 under the name of Isotropic\_Sqw\_legacy, since some users reported that release being in better agreement with experiments. -Note however that issues were corrected since 2.0 and fixed in today's component, that on the other hand exhibits other issues in terms of multiple scattering etc. We will try to rectify the problems during 2017. - -\subsection{Neutron interaction with matter - overview} - -When a neutron enters a material, according to usual models, it 'sees' atoms as disks with a surface equal to the total cross section of the material $\sigma_{tot}$. The latter includes absorption, coherent and incoherent contributions, which all depend on the incoming neutron energy. -The transmission probability follows an exponential decay law accounting for the total cross section. - -For the neutron which is not transmitted, we select a scattering position along the path, taking into account the secondary extinction and absorption probability. In this process, the neutron is considered to be a particle or an attenuated wave. - -Once a scattering position has been assigned, the neutron interacts with a material excitation. Here we turn to the wave description of the neutron, which interacts with the whole sample volume. The distribution of excitations, which determines their relative intensity in the scattered beam, is simply the dynamic structure factor - or scattering law - $S(q,\omega)$. We shall build probability distributions from the scattering law in order to improve the efficiency of the method by favoring the $(q,\omega)$ choice towards high $S(q,\omega)$ regions. - -The neutron leaves the scattering point when a suitable $(q, \omega)$ choice has been found to satisfy the conservation laws. The method is iterated until the neutron leaves the volume of the material, therefore allowing multiple scattering contributions, which will be considered in more details below. - -No experimental method makes it possible to accurately measure the multiple scattering contribution, even though it can become significant at low $q$ transfers (below the first diffraction maximum), where the single scattering coherent signal is weak in most materials. This is why attemps have been made to reduce the multiple scattering contribution by partitioning the sample with absorbing layers. However, this is not always applicable thus makiong the simulation approach very valuable. - -The method presented here for handling neutron interaction with isotropic materials is similar in many respects to the earlier MSC \cite{msc}, Discus \cite{discus} and MSCAT \cite{mscat} methods, but the implementation presented here is part of a more general treatment of a sample in an instrument. - -\subsection{Theoretical side} - -\subsubsection{Pair correlation function $g(r)$ and Dynamic structure factor $S(q,\omega)$} - -In the following, we consider an isotropic medium irradiated with a cold or thermal neutron beam. We ignore the possible thermal fission events and assume that the incoming neutron energy does not correspond to a Breit-Wigner resonance in the material. Furthermore, we do not take into account quantum effects in the material, nor refraction and primary extinction. - -Following Squires \cite{squires}, the experimental counterpart of the scattering law $S(q,\omega)$ is the neutron double differential scattering cross section for both coherent and incoherent processes: -\begin{equation}\label{eq:d2sigma} -\frac{d^2\sigma}{d\Omega dE_f} = \frac{\sigma}{4\pi}\frac{k_f}{k_i} N S(q, \omega) -\end{equation} -which describes the amount of neutrons scattered per unit solid angle $d\Omega$ and per unit final energy $dE_f$. In this equation, $N=\rho V$ is the number of atoms in the scattering volume $V$ with atomic number density $\rho$, $E_f, E_i, k_f, k_i$ are the kinetic energy and wavevectors of final and initial states respectively, $\sigma$ is the bound atom scattering cross-section, $\Omega$ is the solid angle and $q,\omega$ are the wave-vector and energy transfer at the sample. In practice, the double differential cross section is a linear combinaison of the coherent and incoherent parts as: -\begin{equation} -\label{eq:S=coh+inc} -\sigma S(q,\omega) = \sigma_{coh} S_{coh}(q,\omega) + \sigma_{inc} S_{inc}(q,\omega) -\end{equation} -where the subscripts $coh$ and $inc$ stand for the coherent and incoherent contributions respectively. - -We define its norm on a selected $q$ range: -\begin{equation} -|S| = \iint S(q,\omega) dq d\omega . -\end{equation} -The norm $\lim_{q \rightarrow \infty} |S| \simeq q$ for large $q$ values, and can only be defined on a restricted $q$ range. - -Some easily measureable coherent quantities in a liquid are the \emph{static pair correlation function} $g(r)$ and the \emph{structure factor} $S(q)$, defined as: -\begin{eqnarray} -\rho g(\vec{r}) &=& \frac{1}{N} \sum_{i=1}^N \sum_{j \neq i} \langle \delta(\vec{r}+\vec{r}_i-\vec{r}_j) \rangle \\ -S(\vec{q}) &=&\int S(\vec q,\omega) d\omega \label{eq:sq} \\ - &=&1 + \rho \int_V [g(\vec{r})-1] e^{i\vec{q}.\vec{r}} d\vec{r} \\ - &=&1 + \rho \int_{0}^{\infty} [g(r)-1] \frac{\sin(qr)}{qr} 4 \pi r^2 dr \textrm{\ in\ isotropic\ materials.} -\end{eqnarray} -The latter expression, in isotropic materials, may be Fourier transformed as: -\begin{equation} -\label{eq:gr-sq} -g(r)-1 =\frac{1}{2\pi^2 \rho} \int_0^\infty q^2 [S(q) -1] \frac{sin(qr)}{qr} dq -\end{equation} -Both $g(r)$ and $S(q)$ converge to unity for large $r$ and $q$ values respectively, and they are representative of the atoms spatial distribution. In a liquid $\lim_{q \rightarrow 0} S(q) = \rho k_B T \chi_T$ where $\chi_T=(\frac{\partial \rho}{\partial P})_{V,T}$ is the compressibility \cite{Egelstaff67,fischer05}. In perfect gases, $S(q) = 1$ for all $q$. These quantities are obtained experimentally from diffractometers. -In principle, $S_{inc}(q) = 1$ in all materials, but a $q$ dependence is rather usual, partly due to the Debye-Waller factor $e^{-q^2 \langle u^2 \rangle}$. Anyway, $S_{inc}(q)$ converges to unity at high $q$. - -The static pair correlation function $g(r)$ is the probability to find a neighbouring atom at a given distance (unitless). Since $g(0) = 0$, Eq. (\ref{eq:gr-sq}) provides a useful normalisation sum-rule for coherent $S(q)$: -\begin{equation} -\label{eq:sq-nomr1} -\int_0^\infty q^2 [S(q) - 1] dq = -2\pi^2\rho \textrm{\ for\ coherent\ contribution.} -\end{equation} -This means that the integrated oscillations (around 1) of $S_{coh}(q)$ are directly related to the density of the material $\rho$. -In practice, the function $S(q)$ is often known on a restricted range $q \in [0, q_{max} ]$, due to either limitations in the sample molecular dynamics simulation, or the measurement itself. -In first approximation we consider that Eq. (\ref{eq:sq-nomr1}) can be applied in this range, i.e. we neglect the large $q$ contributions provided $S(q)-1$ converges faster than $1/q^2$. This is usually true after 2-3 oscillations of $S(q)$ in liquids. -Then, in isotropic liquid-like materials, Eq. (\ref{eq:sq-nomr1}) provides a normalisation sum-rule for $S$. - -\subsection{Theoretical side - scattering in the sample} - -The Eq. \ref{eq:d2sigma} controls the scattering in the whole sample volume. -Its implementation in a propagative Monte Carlo neutron code such as \emph{McStas} can be summarised as follows: -\begin{enumerate} -{\item Compute the propagation path length in the material by geometrical intersections between the neutron trajectory and the sample volume.} -{\item Evaluate the total cross section from the integration of the scattering law over the accessible dynamical range (Section \ref{s:inter-proba}).} -{\item Use the total cross section to determine the probability of interaction for each neutron along the path length, and select a scattering position.} -{\item Weight neutron interaction with the absorption probability and select the type of interaction (coherent or incoherent).} -{\item Select the wave vector and energy transfer from the dynamic structure factor $S(q,\omega)$ used as a probability distribution (Section \ref{s:choose-qw}). Apply the detailed balance.} -{\item Check whether selection rules can be solved (Section \ref{s:rules-qw}). If they cannot, repeat (5).} -\end{enumerate} -This procedure is iterated until the neutron leaves the sample. We shall now detail the key steps of this implementation. - -\subsubsection{Evaluating the cross sections and interaction probability} -\label{s:inter-proba} - -Following Sears \cite{Sears75}, the total scattering cross section for incoming neutrons with initial energy $E_i$ is -\begin{equation} -\label{eq:iisigma} -\sigma_s(E_i) = \iint \frac{d^2 \sigma}{d\Omega dE_f} d\Omega dE_f = \frac{N \sigma}{4\pi} \iint \frac{k_f}{k_i} S(q, \omega) d\Omega dE_f -\end{equation} -where the integration runs over the entire space and all final neutron energies. -As the dynamic structure factor is defined in the $q,\omega$ space, the integration requires a variable change. Using the momentum conservation law and the solid angle relation $\Omega=2\pi(1-cos \theta)$, were $\theta$ is the solid angle opening, we draw: -\begin{equation} -\label{eq:iqSqw} -\sigma_s(E_i) = N \iint \frac{\sigma S(q,\omega) q}{2 k_i^2} dq d\omega. -\end{equation} -This integration runs over the whole accessible $q,\omega$ dynamical range for each incoming neutron. -In practice, the knowledge of the dynamic structure factor is defined over a limited area with $q \in [q_{min}, q_{max}]$ and $\omega \in [\omega_{min}, \omega_{max}]$ which is constrained by the method for obtaining $S(q,\omega)$, i.e. from previous experiments, molecular dynamics simulations, and analytical models. It is desirable that this area be as large as possible, starting from 0 for both ranges. If we use $\omega_{min} \rightarrow 0$, $q_{min} \rightarrow 0$, $\omega_{max} > 4E_i$ and $q_{max} > 2k_i$, we completely describe all scattering processes for incoming neutrons with wavevector $k_i$ \cite{msc}. - -This means that in order to correctly estimate the total intensity and multiple scattering, the knowledge of $S(q,\omega)$ must be wider (at least twice in $q$, as stated previously) than the measurable range in the corresponding experiment. -As a side effect, a self consistent iterative method for finding the true scattering law from the measurement itself is not theorically feasible, except for providing crude approximations. -However, that measured dynamic structure factor may be used to estimate the multiple scattering for a further measurement using longer wavelength neutrons. -In that case, extrapolating the scattering law beyond the accessible measurement ranges might improve substantially the accuracy of the method, but this discussion is beyond the scope of this paper. - -Consequently, limiting the $q$ integration in Eq. \ref{eq:iqSqw} to the maximum momentum transfer for elastic processes $2 k_i$, we write the total scattering cross section as -\begin{equation} -\label{eq:iqSq} -\sigma_s(E_i) \simeq \frac{N}{2 k_i^2} \int_0^{2k_i} q \sigma S(q) dq. -\end{equation} -Using Eq. \ref{eq:S=coh+inc}, it is possible to define similar expressions for the coherent and incoherent terms $\sigma_{coh}(E_i)$ and $\sigma_{inc}(E_i)$ respectively. These integrated cross sections are usually quite different from the tabulated values \cite{ILLblue} since the latter are bound scattering cross sections. - -Except for a few materials with absorption resonances in the cold-thermal energy range, the absorption cross section for an incoming neutron of velocity $v_i=\sqrt{2E_i/m}$, where $m$ is the neutron mass, is computed as -$\sigma_{abs}(E_i) = \sigma_{abs}^{\textrm{2200}}\frac{2200 m/s}{\sqrt{2E_i/m}}$, where $\sigma_{abs}^{\textrm{2200}}$ is obtained from the literature \cite{ILLblue}. - -We now determine the total cross section accounting for both scattering and absorption -\begin{equation} -\sigma_{tot}(E_i) = \sigma_{abs}(E_i) + \sigma_s(Ei). -\end{equation} -The neutron trajectory intersection with the sample geometry provides the total path length in the sample $d_{exit}$ to the exit. -Defining the linear attenuation $\mu(E_i) = \rho\sigma_{tot}(E_i)$, the probability that the neutron event is transmitted along path $d_{exit}$ is $e^{-\mu(E_i) d_{exit}}$. - -If the neutron event is transmitted, it leaves the sample. In previous Monte Carlo codes such as DISCUSS \cite{discus}, MSC \cite{msc} and MSCAT \cite{mscat}, each neutron event is forced to scatter to the detector area in order to improve the sample scattering simulation statistics and reduce the computing time. The corresponding instrument model is limited to a neutron event source, a sample and a detector. It is equaly possible in the current implementation to 'force' neutron events to scatter by applying a correction factor $\pi_0=1-e^{-\mu(E_i) d_{exit}}$ to the neutron statistical weight. However, the \emph{McStas} instrument model is often build from a large sequence of components. Eventhough the instrument description starts as well with a neutron event source, more than one sample may be encountered in the course of the neutron propagation and multiple detectors may be positioned anywhere in space, as well as other instrument components (e.g. neutron optics). This implies that neutron events scattered from a sample volume should not focus to a single area. Indeed, transmitted events may reach other scattering materials and it is not desirable to force all neutron events to scatter. The correction factor $\pi_0$ is then not applied, and neutron events can be transmitted through the sample volume. The simulation efficiency for the scattering then drops significantly, but enables to model much more complex arrangements such as concentric sample environments, magnets and monochromator mechanical parts, and neutron filters. - -If the neutron is not transmitted, the neutron statistical weight is multiplied by a factor -\begin{equation} -\pi_1 = \frac{\sigma_s(E_i)}{\sigma_{tot}(E_i)} -\end{equation} -to account for the fraction of absorbed neutrons along the path, and we may in the following treat the event as a scattering event. -Additionally, the type of interaction (coherent or incoherent) is chosen randomly with fractions $\sigma_{coh}(E_i)$ and $\sigma_{inc}(E_i)$. - -The position of the neutron scattering event along the neutron trajectory length $d_{exit}$ is determined by \cite{Mildner77,discus} -\begin{equation} -d_{s} = -\frac{1}{\mu(E_i)} \ln(1 - \xi[1 -e^{-\mu(E_i) d_{exit}}]) -\end{equation} -where $\xi$ is a random number in [0,1]. This expression takes into account secondary extinction, originating from the decrease of the beam intensity through the sample (self shielding). - -\subsubsection{Choosing the $q$ and $\omega$ transfer from $S(q, \omega)$ } -\label{s:choose-qw} - -The choice of the $(q, \omega)$ wavevector-energy transfer pair could be done randomly, as in the first event of the second order scattering evaluation in DISCUS \cite{discus}, but it is somewhat inefficient except for materials showing a broad quasi-elastic signal. As the scattering originates from structural peaks and excitations in the material $S(q, \omega)$, it is usual \cite{mscat} to adopt an importance sampling scheme by focusing the $(q, \omega)$ choice to areas where the intensity of $S(q, \omega)$ is high. In practice, this means that the neutron event should scatter preferably on e.g. Bragg peaks, quasielastic contribution and phonons. - -The main idea to implement the scattering from $S(q, \omega)$ is to cast two consecutive Monte Carlo choices, using probability distribution built from the dynamic structure factor. -We define first the probability $P_{\omega}(\omega)$ as the \emph{unweighted} fraction of modes whose energy lies between $\omega$ and $\omega+d\omega$ -\begin{equation} -P_{\omega}(\omega) d\omega = \frac{\int_0^{q_{max}} q S(q,\omega) dq}{|S|}, -\end{equation} -where $|S| = \iint S(q,\omega) dq d\omega$ is the norm of $S(q,\omega)$ in the available dynamical range $q \in [q_{min}, q_{max}]$ and $\omega \in [\omega_{min}, \omega_{max}]$. -The probability $P_{\omega}(\omega)$ is normalised to unity, $\int P_{\omega}(\omega) d\omega = 1$, and is a probability distribution of mode energies in the material. We then choose randomly an energy transfer $\omega$ from this distribution. - -Similarly, in order to focus the wavevector transfer choice, we define the probability distribution of wavevector $P_q(q\mid\omega)$ for the selected energy transfer lying between $\omega$ and $\omega+d\omega$ -\begin{equation} -P_q(q\mid\omega) = \frac{q S(q, \omega)}{S(q)}, -\end{equation} -from which we choose randomly a wavevector transfer $q$, knowing the energy transfer $\omega$. -These two probability distributions extracted from $S(q,\omega)$ are shown in Fig. \ref{f:isotropic-sqw-proba}, for a model $S(q,\omega)$ function built from the \textit{l}-$^4$He elementary excitation (Data from Donnelly). - -\begin{figure} - \begin{center} - \includegraphics[width=0.9\textwidth]{figures/Sqw_sampling} - \end{center} -\caption{\emph{Centre}: Model of dynamic structure factor $S(q,\omega)$ for l-$^4$He ; \emph{left}: probability distribution $g_\omega$ (horizontal axis) of energy transfers (vertical axis, density of states) ; \emph{right} : probability distribution $g_q(\omega)$ (vertical axis) of momentum transfers (horizontal axis) for a given energy transfer $\hbar \omega \sim 1.1$ meV.} -\label{f:isotropic-sqw-proba} -\end{figure} - -Then a selection between energy gain and loss is performed with the detailed balance ratio $e^{-\hbar \omega / k_B T}$. In the case of Stokes processes, the neutron can not loose more than its own energy to the sample dynamics, so that $\hbar \omega < E_i$. This condition breaks the symmetry between up-scattering and down-scattering. - -\subsubsection{Solving selection rules and choosing the scattered wave vector} -\label{s:rules-qw} - -The next step is to check that the conservation laws -\begin{eqnarray} -\hbar \omega &=& E_i - E_f = \frac{\hbar^2}{2m}(k_i^2 - k_f^2) \label{eq:sqw-w-transfer} \\ -\vec q &=& \vec k_i - \vec k_f \label{eq:sqw-q-transfer} -\end{eqnarray} -can be satisfied. These conditions are closely related to the method for selecting the outgoing wave vector direction. - -When the final wave vector has to be computed, the quantities $\vec{k}_i$, $\hbar \omega$ and $q = |\vec{q}|$ are known. -We solve the energy conservation law Eq. (\ref{eq:sqw-w-transfer}) and we select randomly $k_f$ as one of the two roots. - -The scattering angle $\theta$ from the initial $k_i$ direction is determined from the momentum conservation law $cos(\theta) = (k_i^2 + k_f^2 - q^2)/(2k_i k_f)$, which defines a scattering cone. We then choose randomly a direction on the cone. - -If the selection rules can not be verified (namely $|cos(\theta)| > 1$), a new $(q,\omega)$ random choice is performed (see Section \ref{s:choose-qw}). -It might appear inefficient to select the energy and momentum tranfers first and check the selection rules afterwards. However, in practice, the number of iterations to actually scatter on a high probability process and satisfy these rules is limited, usually below 10. Moreover, as these two steps are simple, the whole process requires a limited number of computer operations. - -As mentioned in Section \ref{s:inter-proba}, previous multiple scattering estimation codes \cite{msc,mscat,discus} force the outgoing neutron event to come into the detector area and time window, thus improving dramatically the code efficiency. This choice sets the measurable energy and momentum transfers for the last scattering event in the sample, so that the choice of the scattering excitation actually requires a more complex sampling mechanism for the dynamic structure factor. As the present implementation makes no assumption on the simulated instrument part which is behind the sample, we can not apply this method. Consequently, the efficiency of the sample scattering code is certainly lower than previous codes, but on the other hand it does not depend on the type of instrument simulation. In particular, it may be used to model any material in the course of the neutron propagation along the instrument model (filters, mechanical parts, samples, shields, radiation protections). - -Once the scattering probability and position, the energy and momentum transfers and the neutron momentum after scattering have all been defined, the whole process is iterated until the neutron is transmitted and exits the sample volume. - -\subsubsection{Extension to powder elastic scattering} - -In principle, the component can work in purely elastic mode if only the $\omega = 0$ column is available in $S$. -Anyway, in the diffractionists world, people do not usually define scattering with $S(q)$ (Eq. \ref{eq:sq}), but through the scattering vector $\boldsymbol{\tau}$, multiplicity $z(\tau)$ (for powders), and $|F^2|$ structure factors including Debye-Waller factors, as in Eq. \ref{eq:sigma_coh_el}. - -When doing diffraction, and neglecting inelastic contribution as first approximation, we may integrate Eq. \ref{eq:d2sigma}, keeping $k_i = k_f$. -\begin{eqnarray} -\left(\frac{d\sigma}{d\Omega}\right)_\textrm{coh.el.}(|q|) &=& \int_0^\infty \frac{d^2\sigma_{coh}}{d\Omega dE_f} dE_f = \frac{N \sigma_{coh}}{4\pi} S_{coh}(q) \\ -& = & N\frac{(2\pi)^3}{V_0}\sum_{\boldsymbol{\tau}} \delta(\boldsymbol{\tau} - \boldsymbol{q})|F_{\boldsymbol{\tau}}|^2 \textrm{\ from\ Eq.\ (\ref{eq:sigma_coh_el})} -\end{eqnarray} -with $V_0 = 1/\rho$ being the volume of a lattice unit cell. Then we come to the formal equivalence, in the powder case \cite{squires} (integration over Debye-Scherrer cones): -\begin{eqnarray}\label{eq:sq-F2} -S_{coh}(q) = \frac{\pi \rho}{2\sigma_{coh}} \frac{z(q)}{q^2} |F_q|^2 \textrm{\ in\ a\ powder.} -\end{eqnarray} -for each lattice Bragg peak wave vector $q$. -The normalisation rule Eq. (\ref{eq:sq-nomr1}) can not usually be applied for powders, as the $S(q)$ is a set of Dirac peaks for which the $\int q^2 S(q) dq$ is difficult to compute, and $S(q)$ does not converge to unity for large $q$. Each $F^2$ Dirac contribution may be broaden when specifiying a diffraction peak width. - -Of course, the component PowderN (see section \ref{powder}) can handle powder samples efficiently (faster, better accuracy), but does not take into account multiple scattering, nor secondary extinction (which is significant for materials with large absorption cross sections). On the other side, the current Isotropic\_Sqw component assumes a powder packing factor of 1 (massive sample). To change into a lower packing factor, use a lower powder density. - -\subsubsection{Important remarks and limitations} - -Since the choice of the interaction type, we know that the neutron \emph{must} scatter, with an appropriate $\vec k_f$ outgoing wave vector. If any of the choices in the method fails: -\begin{enumerate} -\item the two roots $k_f^+$ and $k_f^-$ are imaginary, which means that conservation laws can not be satisfied and for instance the selected energy transfer is higher than the incoming neutron energy -\item the radius of the target circle is imaginary, that is $|cos(\theta)| > 1$. -\end{enumerate} -then a new $(q, \omega)$ set is drawn, and the process is iterated until success or - at last - removal of the neutron event. These latter absorptions are then reported at the end of the simulation, as it never occurs in reality - neutrons that scatter do find a suitable $(q, \omega)$ set.\index{Removed neutron events} - -The $S(q,\omega)$ data sets should be as wide a possible in $q$ and $\omega$ range, else scattering conditions will be limited by the reduced data set (specially multiple scattering estimates). On the other hand, when $q$ and $\omega$ ranges are too large, some Monte Carlo choices lead to scattering temptatives in non useful regions of $S$, which reduces dramatically the algorithm efficiency. - -The best settings are: -\begin{enumerate} -\item to have the widest $q$ and $\omega$ range for $S(q,\omega)$ data sets, -\item to either set $wmax$ and $qmax$ to the maximum scatterable energy and wavevectors, -\item or alternatively request the automatic range optimisation by setting parameter \verb+auto_qw=1+. This is recommended, but may sometimes miss a few neutrons if the $q,\omega$ beam range has been guessed too small. -\end{enumerate} - -Focusing the $q$ and $\omega$ range (e.g. with 'auto\_qw=1'), to the one being able to scatter the incoming beam, when using the component does improve significantly the speed of the computation. Additionally, if you restrict the scattering to the first order only (parameter 'order=1'), then you may specify the angular vertical extension $d\phi$ of the scattering area to gain optimised focusing. This option does not apply when handling multiple scattering (which emits in $4\pi$ many times before exiting the sample). - -A bilinear interpolation for the $q,\omega$ determination is used to improve the accuracy on the scattered intensity, but it may be unactivated when setting parameter \verb+interpolate=0+. This will often result in a discrete $q,\omega$ sampling. - -As indicated in the previous section, the Isotropic\_Sqw component is not as efficient as PowderN for powder single scattering, but handles scattering processes in a more accurate way (secondary extinction, multiple scattering). - -\subsection{The implementation} - -\begin{table} - \begin{center} - {\let\my=\\ - \begin{tabular}{|lr|p{0.6\textwidth}|} - \hline -Parameter & type & meaning \\ - \hline -Sqw\_coh & string & Coherent scattering data file name. Use 0, NULL or "" to disable \\ -Sqw\_inc & string & Incoherent scattering data file name. Use 0, NULL or "" to scatter isotropically (Vanadium like) \\ -sigma\_coh & [barns] & Coherent scattering cross-section. -1 to disable \\ -sigma\_inc & [barns] & Incoherent scattering cross-section. -1 to disable \\ -sigma\_abs & [barns] & Absorption cross-section. -1 to disable \\ -V\_rho & [\AA$^{-3}$] & atomic number density. May also be specified with molar weight \emph{weight} in [g/mol] and material \emph{density} in [g/cm$^3$] \\ -T & [K] & Temperature. 0 disables detailed balance \\ - \hline -xwidth & [m] & \\ -yheight & [m] & dimensions of a box shaped geometry \\ -zdepth & [m] & \\ -radius\_o & [m] & dimensions of a cylinder shaped geometry \\ -radius\_i & [m] & sphere geometry if radius\_i=0 \\ -thickness& [m] & thickness of hollow shape \\ - \hline -auto\_qw & boolean & Automatically optimise probability tables during simulation \\ -auto\_norm& scalar & Normalize $S(q,\omega)$ when -1, use raw data when 0, multiply $S$ by given value when positive \\ -%interpolate & boolean & Smooth $S(q,\omega)$ table (recommended) \\ -order & integer & Limit multiple scattering up to given order. 0 means all orders \\ -concentric& boolean & Enables to 'enter' inside concentric hollow geometries \\ - \hline - \end{tabular} - \caption{Main Isotropic\_Sqw component parameters} - \label{t:sqw-param} - } - \end{center} -\end{table} - -\subsubsection{Geometry} - -The geometry for the component may be box, cylinder and sphere shaped, either filled or hollow. Relevant parameters for this purpose are as follow: +\section{The \texttt{Isotropic\_Sqw} McStas Component} +Isotropic sample handling multiple scattering and absorption for a general +S(q,w) (coherent and/or incoherent/self) + +\subsection*{Identification} \begin{itemize} -\item \textbf{box}: dimensions are $x_{width} \times y_{height} \times z_{depth}$. -\item \textbf{box, hollow}: \emph{idem}, and the side wall thickness is set with $thickness$. -\item \textbf{cylinder}: dimensions are $r$ for the radius and $y_{height}$ for the height. -\item \textbf{cylinder, hollow}: \emph{idem}, and hollow part is set with $thickness$. -\item \textbf{sphere}: dimension is $r$ for the radius. -\item \textbf{sphere, hollow}: \emph{idem}, and hollow part is set with $thickness$. + \item \textbf{Site:} + \item \textbf{Author:} E. Farhi, V. Hugouvieux + \item \textbf{Origin:} ILL + \item \textbf{Date:} August 2003 \end{itemize} -The AT position corresponds to the centre of the sample. - -Hollow shapes are particularly useful to model complex sample environments. Refer to the dedicated section below for more details on this topic. - -\subsubsection{Dynamical structure factor} - -The material behaviour is specified through the total scattering cross-sections $\sigma_{coh}$, $\sigma_{inc}$, $\sigma_{abs}$, and the $S(q, \omega)$ data files. - -If you are lucky enough to have access to separated coherent and incoherent contributions (e.g. from material simulation), simply set Sqw\_coh and Sqw\_inc parameter to the files names. If on the other hand you have access to a global data set containing incoherent scattering as well (e.g. the result of a previous experiment), use Sqw\_coh parameter, set the $\sigma_{coh}$ parameter to the sum of both contributions $\sigma_{coh}+\sigma_{inc}$, and set $\sigma_{inc}=-1$. This way we only use one of the two implemented scattering channels. Such global data sets may originate from previous experiments, as far as you have applied all known corrections (multiple scattering, geometry, ...). - -In any case, the accuracy of the $S(q, \omega)$ data limits the $q$ and $\omega$ resolution of the simulation, eventhough a bilinear interpolation is performed in order to smooth binning. The sampling of data files should then be as thin as possible. -If the Sqw\_inc parameter is left unset but the $\sigma_{inc}$ is \emph{not} zero, an isotropic incoherent elastic scattering is used, just like the V\_sample component (see section \ref{s:v_sample}). - -Anyway, as explained below, it is also possible to simulate the elastic scattering from a powder file (see below). - -\subsubsection{File formats: $S(q,\omega)$ inelastic scattering} - -The format of the data files is free text, consisting of three numerical blocks, separated by empty lines or comments, in the following order -\begin{enumerate} -\item A vector of length $m$ containing wavevector $q$ values, in \AA$^{-1}$. -\item A vector of length $n$ containing energy $\omega$ values, in meV. -\item A matrix of size $m$ rows by $n$ columns, of $S(q, \omega)$ values, in meV$^{-1}$. -\end{enumerate} -Any line beginning with any character of \verb+#;/%+ is considered to be a comment, and lines which can not be read as vectors/matrices are ignored. - -The file header may optionally contain parameter settings for the material, as comments, with keywords as in the following example: +\subsection*{Description} \begin{lstlisting} - #V_0 35 cell volume [Angs^3] - #V_rho 0.07 atom number density [at/Angs^3] - #sigma_abs 5 absorption cross section [barns] - #sigma_inc 4.8 incoherent cross section [barns] - #sigma_coh 1 coherent cross section [barns] - #Temperature 10 for detailed balance [K] - #density 1 material density [g/cm^3] - #weight 18 material molar weight [g/mol] - #nb_atoms 6 number of atoms per unit cell +An isotropic sample handling multiple scattering and including as input the +dynamic structure factor of the chosen sample (e.g. from Molecular +Dynamics). Handles elastic/inelastic, coherent and incoherent scattering - +depending on the input S(q,w) - with multiple scattering and absorption. +Only the norm of q is handled (not the vector), and thus suitable for +liquids, gazes, amorphous and powder samples. + +If incoherent/self S(q,w) file is specified as empty (0 or "") then the +scattering is constant isotropic (Vanadium like). +In case you only have one S(q,w) data containing both coherent and +incoherent contributions you should e.g. use 'Sqw_coh' and set 'sigma_coh' +to the total scattering cross section. Set sigma_coh and sigma_inc to -1 to inactivate. + +The implementation will automatically nornalise S(q,w) so that S(q) -> 1 at +large q (parameter norm=-1). Alternatively, the S(q,w) data will be multiplied +by 'norm' for positive values. Use norm=0 or 1 to use the raw data as input. + +The material temperature can be defined in the S(q,w) data files (see below) +or set manually as parameter T. Setting T=-1 disables detailed balance. +Setting T=-2 attempts to guess the temperature from the input S(q,w) data +which must then be non-classical and extend on both energy sides (+/-). +To use the S(q,w) data as is, without temperature effect, set T=-1 and norm=1. + +Both non symmetric (quantum) and classical S(q,w) data sets can be given by mean +of the 'classical' parameter (see below). + +Additionally, for single order scattering (order=1), you may restrict the +vertical spreading of the scattering area using d_phi parameter. + +An important option to enhance statistics is to set 'p_interact' to, say, +30 percent (0.3) in order to force a fraction of the beam to scatter. This +will result on a larger number of scattered events, retaining intensity. + +If you use this component and produce valuable scientific results, please +cite authors with references bellow (in Links). +E. Farhi et al, J Comp Phys 228 (2009) 5251 + +Sample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF, PLY and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Concentric components: +This component has the ability to contain other components when used in +hollow cylinder geometry (namely sample environment, e.g. cryostat and +furnace structure). Such component 'shells' should be split into input and +output side surrounding the 'inside' components. First part must then use +'concentric=1' flag to enter the inside part. The component itself must be +repeated to mark the end of the concentric zone. The number of concentric +shells and number of components inside is not limited. + +COMPONENT S_in = Isotropic_Sqw(Sqw_coh="Al.laz", concentric=1, ...) +AT (0,0,0) RELATIVE sample_position + +COMPONENT something_inside ... // e.g. the sample itself or other materials + +COMPONENT S_out = COPY(S_in)(concentric=0) +AT (0,0,0) RELATIVE sample_position + +Sqw file format: +File format for S(Q,w) (coherent and incoherent) should contain 3 numerical +blocks, defining q axis values (vector), then energy axis values (vector), +then a matrix with one line per q axis value, containing Sqw values for +each energy axis value. Comments (starting with '#') and non numerical lines +are ignored and used to separate blocks. Sampling must be regular. +Some parameters can be specified in comment lines, namely (00 is a numerical value): + +# sigma_abs 00 absorption scattering cross section in [barn] +# sigma_inc 00 coherent scattering cross section in [barn] +# sigma_coh 00 incoherent scattering cross section in [barn] +# Temperature 00 in [K] +# V_rho 00 atom density per Angs^3 +# density 00 in [g/cm^3] +# weight 00 in [g/mol] +# classical 00 [0=contains Bose factor (measurement) ; 1=classical symmetric] + +Example: +# q axis values +# vector of m values in Angstroem-1 +0.001000 .... 3.591000 +# w axis values +# vector of n values in meV +0.001391 ... 1.681391 +# sqw values (one line per q axis value) +# matrix of S(q,w) values (m rows x n values), one line per q value, +9.721422 10.599145 ... 0.000000 +10.054191 11.025244 ... 0.000000 +... +0.000000 ... 3.860253 + +See for instance file He4_liq_coh.sqw. Such files may be obtained from e.g. INX, +Nathan, Lamp and IDA softwares, as well as Molecular Dynamics (nMoldyn). +When the provided S(q,w) data is obtained from the classical correlation function +G(r,t), which is real and symmetric in time, the 'classical=1' parameter +should be set in order to multiply the file data with exp(hw/2kT). Otherwise, +the S(q,w) is NOT symmetrised (classical). If the S(q,w) data set includes both +negative and positive energy values, setting 'classical=-1' will attempt to +guess what type of S(q,w) it is. The temperature can also be determined this way. +In case you do not know if the data is classical or quantum, assume it is usually classical +at high temperatures, and quantum otherwise (T < typical mode excitations). +The positive energy values correspond to Stokes processes, i.e. material gains +energy, and neutrons loose energy. The energy range is symmetrized to allow up +and down scattering, taking into account detailed balance exp(-hw/2kT). + +You may also generate such S(q,w) 2D files using iFit + +Powder file format: +Files for coherent elastic powder scattering may also be used. +Format specification follows the same principle as in the PowderN +component, with parameters: + +powder_format= +Crystallographica: { 4,5,7,0,0,0,0, 0,0 } +Fullprof: { 4,0,8,0,0,5,0, 0,0 } +Undefined: { 0,0,0,0,0,0,0, 0,0 } +Lazy: {17,6,0,0,0,0,0,13,0 } +qSq: {-1,0,0,0,0,0,1, 0,0 } // special case for [q,Sq] table +or: {j,d,F2,DW,Delta_d/d,1/2d,q,F,strain} + +or column indexes (starting from 1) given as comments in the file header +(e.g. '#column_j 4'). Refer to the PowderN component for more details. +Delta_d/d and Debye-Waller factor may be specified for all lines with the +'powder_Dd' and 'powder_DW' parameters. +The reflection list should be ordered by decreasing d-spacing values. + +Additionally a special [q,Sq] format is also defined with: +powder_format=qSq +for which column 1 is 'q' and column 2 is 'S(q)'. + +Examples: +1- Vanadium-like incoherent elastic scattering +Isotropic_Sqw(radius=0.005, yheight=0.01, V_rho=1/13.827, +sigma_abs=5.08, sigma_inc=4.935, sigma_coh=0) + +2- liq-4He parameters +Isotropic_Sqw(..., Sqw_coh="He4_liq_coh.sqw", T=10, p_interact=0.3) + +3- powder sample +Isotropic_Sqw(..., Sqw_coh="Al.laz") + +%BUGS: +When used in concentric mode, multiple bouncing scattering +(traversing the hollow part) is not taken into account. + +%VALIDATION +For Vanadium incoherent scattering mode, V_sample, PowderN, Single_crystal +and Isotropic_Sqw produce equivalent results, eventhough the two later are +more accurate (geometry, multiple scattering). Isotropic_Sqw gives same +powder patterns as PowderN, with an intensity within 20 %. \end{lstlisting} -Some \verb+sqw+ data files are included in the \MCS distribution data directory, and they contain material parameter settings in their header, so that you may use: -\begin{lstlisting} -Isotropic_Sqw(, Sqw_coh="He4_liq_coh.sqw", T=4) -\end{lstlisting} - -Example files are listed as \verb+*.sqw+ files in directory \verb+MCSTAS/data+. A table of $S(q,\omega)$ data files for a few liquids are listed in Table \ref{t:liquids-data} (page \pageref{t:liquids-data}). - -\subsubsection{File formats: $S(q)$ liquids} - -This file format provides a mean to import directly an $S(q)$ data set, when setting parameters: -\begin{lstlisting} - powder_format=qSq -\end{lstlisting} -The 'Sqw\_coh' (or 'Sqw\_inc') file should contains a single numerical block, which column assignment is defaulted as $q$ and $S(q)$ being the first and second column respectively. This may be overridden from the file header with '\#column' keywords, as in the example: -\begin{lstlisting} - #column_q 2 - #column_Sq 1 -\end{lstlisting} -Such files can only handle elastic scattering. - -\subsubsection{File formats: powder structures (LAZY, Fullprof, Crystallographica)} - -Data files as used by the component PowderN may also be read. Data files of type \verb'lau' and \verb'laz' in the \MCS distribution data directory are self-documented in their header. They do not need any additional parameters to be used, as in the example: -\begin{lstlisting} - Isotropic_Sqw(, Sqw_coh="Al.laz") -\end{lstlisting} -Other column-based file formats may also be imported e.g. with parameters such as: -\begin{lstlisting} - powder_format=Crystallographica - powder_format=Fullprof - powder_Dd =0 - powder_DW =1 -\end{lstlisting} -The last two parameters may as well be specified in the data file header with lines: -\begin{lstlisting} - #Debye_Waller 1 - #Delta_d/d 1e-3 -\end{lstlisting} -The powder description is then translated into $S(q)$ by using Eq. (\ref{eq:sq-F2}). -In this case, the density $\rho = n/V_0$ is the number of atoms in the inverse volume of the unit cell. - -As the component builds an $S(q)$ from the powder structure description, the accuracy of the Isotropic\_Sqw component is limited by the binning during that conversion. This is usually enough to describe sample environments including powders (aluminium, copper, ...), but it is recommended to rather use PowderN for faster and accurate powder diffraction, eventthough this latter does not implement multiple scattering. - -Such files can only handle elastic scattering. A list of common powder definition files is available in Table \ref{t:powders-data} (page \pageref{t:powders-data}). - -\subsubsection{Concentric geometries, sample environment} -\index{Sample environments} - -The component has been designed in a way which enables to describe complex imbricated set-ups, i.e. what you need to simulate sample environments. To do so, one has first to use hollow shapes, then keep in mind that each surrounding geometry should be first declared before the central position (usually the sample) with the \verb+concentric=1+ parameter, but also duplicated (with an other instance name) at a symmetric position with regards to the centre as in the example (shown in Fig. \ref{f:isotropic-sqw}): -\begin{lstlisting} -COMPONENT s_in=Isotropic_Sqw( - thickness=0.001, radius=0.02, yheight=0.015, - Sqw_coh="Al.laz", concentric=1) -AT (0,0,1) RELATIVE a - -COMPONENT sample=Isotropic_Sqw( - xwidth=0.01, yheight=0.01, zdepth=0.01, - Sqw_coh="Rb_liq_coh.sqw") -AT (0,0,1) RELATIVE a - -COMPONENT s_out=Isotropic_Sqw( - thickness=0.001, radius=0.02, yheight=0.015, - Sqw_coh="Al.laz") -AT (0,0,1) RELATIVE a -\end{lstlisting} -Central component may be of any type, not specifically an Isotropic\_Sqw instance. It could be for instance a Single\_crystal or a PowderN. -In principle, the number of surrounding shells is not restricted. -The only restriction is that neutrons that scatter (in $4\pi$) can not come back in the instrument description, so that some of the multiple scattering events are lost. Namely, in the previous example, neutrons scattered by the outer wall of the cryostat \verb+s_out+ can not come back to the sample or to the other cryostat wall \verb+s_in+. As these neutrons have usually few chances to reach the rest of the simulation, we expect that the approximation is fair. - -\subsection{Validation} -For constant incoherent scattering mode, V\_sample, PowderN, Single\_crystal and Isotropic\_Sqw produce equivalent results, eventhough the two later are more accurate (geometry, multiple scattering). Execution times are equivalent. - -Compared with the PowderN component, the $S(q)$ method is twice slower in computation time, and intensity is usually lower by typically 20 \% (depending on scattering cross sections), the difference arising from multiple scattering and secondary extinction (not handled in PowderN). The PowderN component is intrinsically more accurate in $q$ as each Bragg peak is handled separately as an exact Dirac peak, with optional $\Delta q$ spreading. In Isotropic\_Sqw, an approximated $S(q)$ table is built from the $F^2$ data, and is coarser. Still, differences in the diffraction pattern are limited. - -The Isotropic\_Sqw component has been benchmarked against real experiment for liquid Rubidium (Copley, 1974) and liquid Cesium (Bodensteiner and Dorner, 1989), and the agreement is excellent. - -The \verb+Test_Isotropic_Sqw+ test/example instrument exists in the distribution for this component. - - +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +powder\_format & no quotes & name or definition of column indexes in file & \{0,0,0,0,0,0,0,0,0\} \\ +Sqw\_coh & str & Name of the file containing the values of Q, w and S(Q,w) Coherent part; Q in Angs-1, E in meV, S(q,w) in meV-1. Use 0, NULL or "" to disable. & 0 \\ +Sqw\_inc & str & Name of the file containing the values of Q, w and S(Q,w). Incoherent (self) part. Use 0, NULL or "" to scatter isotropically (V-like). & 0 \\ +geometry & str & Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust & 0 \\ +radius & m & Outer radius of sample in (x,z) plane. cylinder/sphere. & 0 \\ +thickness & m & Thickness of hollow sample Negative value extends the hollow volume outside of the box/cylinder. & 0 \\ +xwidth & m & width for a box sample shape & 0 \\ +yheight & m & Height of sample in vertical direction for box/cylinder shapes & 0 \\ +zdepth & m & depth for a box sample shape & 0 \\ +threshold & 1 & Value under which S(Q,w) is not accounted for. to set according to the S(Q,w) values, i.e. not too low. & 1e-20 \\ +order & 1 & Limit multiple scattering up to given order 0:all (default), 1:single, 2:double, ... & 0 \\ +T & K & Temperature of sample, detailed balance. Use T=-1 to disable it, and T=-2 to guess it from non-classical S(q,w) input. & 0 \\ +verbose & 1 & Verbosity level (0:silent, 1:normal, 2:verbose, 3:debug). A verbosity\textgreater{}1 also computes dispersions and S(q,w) analysis. & 1 \\ +d\_phi & deg & scattering vertical angular spreading (usually the height of the next component/detector). Use 0 for full space. This is only relevant for single scattering (order=1). & 0 \\ +concentric & 1 & Indicate that this component has a hollow geometry and may contain other components. It should then be duplicated after the inside part (only for box, cylinder, sphere) [1] & 0 \\ +rho & AA-3 & Density of scattering elements (nb atoms/unit cell V\_0). & 0 \\ +sigma\_abs & barns & Absorption cross-section at 2200 m/s. Use -1 to inactivate. & 0 \\ +sigma\_coh & barns & Coherent Scattering cross-section. Use -1 to inactivate. & 0 \\ +sigma\_inc & barns & Incoherent Scattering cross-section. Use -1 to inactivate. & 0 \\ +classical & 1 & Assumes the S(q,w) data from the files is a classical S(q,w), and multiply that data by exp(hw/2kT) on up/down energy sides. Use 0 when obtained from raw experiments, 1 from molecular dynamics. Use -1 to guess from a data set including both energy sides. & -1 \\ +powder\_Dd & 1 & global Delta\_d/d spreading, or 0 if ideal. & 0 \\ +powder\_DW & 1 & global Debey-Waller factor, if not in |F2| or 1. & 0 \\ +powder\_Vc & AA\textasciicircum{}3 & volume of the unit cell & 0 \\ +density & g/cm\textasciicircum{}3 & density of material. V\_rho=density/weight/1e24*N\_A & 0 \\ +weight & g/mol & atomic/molecular weight of material & 0 \\ +p\_interact & 1 & Force a given fraction of the beam to scatter, keeping intensity right, to enhance small signals (-1 inactivate). & -1 \\ +norm & 1 & Normalize S(q,w) when -1 (default). Use raw data when 1, multiplier for S(q,w) when norm\textgreater{}0. & -1 \\ +powder\_barns & 1 & 0 when |F2| data in powder file are fm\textasciicircum{}2, 1 when in barns (barns=1 for laz, barns=0 for lau type files). & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/Isotropic_Sqw.comp}{Source code} for \texttt{Isotropic\_Sqw.comp}. + \item E. Farhi, V. Hugouvieux, M.R. Johnson, and W. Kob, Journal of Computational Physics 228 (2009) 5251-5261 "Virtual experiments: Combining realistic neutron scattering instrument and sample simulations" + \item Hugouvieux V, Farhi E, Johnson MR, Physica B, 350 (2004) 151 "Virtual neutron scattering experiments" + \item Hugouvieux V, PhD, University of Montpellier II, France (2004). + \item H. Schober, Collection SFN 10 (2010) 159-336 + \item H.E. Fischer, A.C. Barnes, and P.S. Salmon. Rep. Prog. Phys., 69 (2006) 233 + \item P.A. Egelstaff, An Introduction to the Liquid State, 2nd Ed., Oxford Science Pub., Clarendon Press (1992). + \item S. W. Lovesey, Theory of Neutron Scattering from Condensed Matter, Vol1, Oxford Science Pub., Clarendon Press (1984). + \item \textless{}a href="http://www.ncnr.nist.gov/resources/n-lengths/"\textgreater{}Cross sections for single elements\textless{}/a\textgreater{} + \item \textless{}a href="http://www.ncnr.nist.gov/resources/sldcalc.html\textgreater{}Cross sections for compounds\textless{}/a\textgreater{} + \item \textless{}a href="http://www.webelements.com/"\textgreater{}Web Elements\textless{}/a\textgreater{} + \item \textless{}a href="http://www.ill.eu/sites/fullprof/index.html"\textgreater{}Fullprof\textless{}/a\textgreater{} powder refinement + \item \textless{}a href="http://www.crystallographica.com/"\textgreater{}Crystallographica\textless{}/a\textgreater{} software + \item Example data file \textless{}a href="../data/He4\_liq\_coh.sqw"\textgreater{}He4\_liq\_coh.sqw\textless{}/a\textgreater{} + \item The \textless{}a href="PowderN.html"\textgreater{}PowderN\textless{}/a\textgreater{} component. + \item The test/example instrument \textless{}a href="../examples/Test\_Isotropic\_Sqw.instr"\textgreater{}Test\_Isotropic\_Sqw.instr\textless{}/a\textgreater{}. + \item \textless{}a href="http://www.geomview.org"\textgreater{}Geomview and Object File Format (OFF)\textless{}/a\textgreater{} + \item Java version of Geomview (display only) \textless{}a href="http://www.holmes3d.net/graphics/roffview/"\textgreater{}jroff.jar\textless{}/a\textgreater{} + \item \textless{}a href="http://qhull.org"\textgreater{}qhull\textless{}/a\textgreater{} + \item \textless{}a href="http://www.cs.ucdavis.edu/\textasciitilde{}amenta/powercrust.html"\textgreater{}powercrust\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Isotropic_Sqw_static.tex}{\input{Isotropic_Sqw_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/Isotropic_Sqw_static.tex b/docs/manuals/mcstas/samples/Isotropic_Sqw_static.tex new file mode 100644 index 0000000000..a228b040bc --- /dev/null +++ b/docs/manuals/mcstas/samples/Isotropic_Sqw_static.tex @@ -0,0 +1,424 @@ +\section{Isotropic\_Sqw: A general $S(q,\omega)$ coherent and incoherent scatterer} +\label{s:isotropic-sqw} +\index{Samples!Coherent and incoherent isotropic scatterer} +\index{Coherent and incoherent isotropic scatterer} +\index{Inelastic scattering} +\index{Sample environments} +\index{Concentric components} +\index{Multiple scattering} + +%\component{Isotropic\_Sqw}{V. Hugouvieux, E. Farhi}{Sqw$\_{coh}$, $\sigma_{coh}$, Sqw$\_{inc}$, $\sigma_{inc}, V_\rho, \sigma_{abs}, T$,$x_{width},y_{height},z_{depth},r$, thickness}{$q_{min}, q_{max}, \omega_{min}, \omega_{max}, d\phi$, order}{validated (Vanadium, l-Rb, PowderN more accurate for powders) } +%\mcdoccomp{samples/Isotropic_Sqw.parms} + +\begin{figure} + \begin{center} + \includegraphics[width=0.9\textwidth]{figures/sqw} + \end{center} +\caption{An $l-^4$He sample in a cryostat, simulated with the Isotropic\_Sqw component in concentric geometry.} +\label{f:isotropic-sqw} +\end{figure} + +The sample component \emph{Isotropic\_Sqw} has been developed in order to simulate neutron scattering from any isotropic material such as liquids, glasses (amorphous systems), polymers and powders (currently, mono-crystals cannot be handled). +The component treats coherent and incoherent neutron scattering and may be used to model most materials, including sample environments with concentric geometries. +The structure and dynamics of isotropic samples can be characterised by the dynamic structure factor $S(q,\omega)$, which determines the interaction between neutrons and the sample and therefore can be used as a probability distribution of $\omega$-energy and $q$-momentum transfers. It handles coherent and incoherent processes, both for elastic and inelastic interactions. +The main input for the component is $S(q,\omega)$ tables, or powder structure files. + +Usage examples of this component can be found in the \\ +\verb+Neutron site/tests/Test_Isotropic_Sqw+, the \\ +\verb+Neutron site/ILL/ILL_H15_IN6+ and the \verb+ILL_TOF_Env+ instruments from the \verb+mcgui+. + +From \MCS\ 2.4 we have decided to include the earlier version of Isotropic\_Sqw from the McStas 2.0 under the name of Isotropic\_Sqw\_legacy, since some users reported that release being in better agreement with experiments. +Note however that issues were corrected since 2.0 and fixed in today's component, that on the other hand exhibits other issues in terms of multiple scattering etc. We will try to rectify the problems during 2017. + +\subsection{Neutron interaction with matter - overview} + +When a neutron enters a material, according to usual models, it 'sees' atoms as disks with a surface equal to the total cross section of the material $\sigma_{tot}$. The latter includes absorption, coherent and incoherent contributions, which all depend on the incoming neutron energy. +The transmission probability follows an exponential decay law accounting for the total cross section. + +For the neutron which is not transmitted, we select a scattering position along the path, taking into account the secondary extinction and absorption probability. In this process, the neutron is considered to be a particle or an attenuated wave. + +Once a scattering position has been assigned, the neutron interacts with a material excitation. Here we turn to the wave description of the neutron, which interacts with the whole sample volume. The distribution of excitations, which determines their relative intensity in the scattered beam, is simply the dynamic structure factor - or scattering law - $S(q,\omega)$. We shall build probability distributions from the scattering law in order to improve the efficiency of the method by favoring the $(q,\omega)$ choice towards high $S(q,\omega)$ regions. + +The neutron leaves the scattering point when a suitable $(q, \omega)$ choice has been found to satisfy the conservation laws. The method is iterated until the neutron leaves the volume of the material, therefore allowing multiple scattering contributions, which will be considered in more details below. + +No experimental method makes it possible to accurately measure the multiple scattering contribution, even though it can become significant at low $q$ transfers (below the first diffraction maximum), where the single scattering coherent signal is weak in most materials. This is why attemps have been made to reduce the multiple scattering contribution by partitioning the sample with absorbing layers. However, this is not always applicable thus makiong the simulation approach very valuable. + +The method presented here for handling neutron interaction with isotropic materials is similar in many respects to the earlier MSC \cite{msc}, Discus \cite{discus} and MSCAT \cite{mscat} methods, but the implementation presented here is part of a more general treatment of a sample in an instrument. + +\subsection{Theoretical side} + +\subsubsection{Pair correlation function $g(r)$ and Dynamic structure factor $S(q,\omega)$} + +In the following, we consider an isotropic medium irradiated with a cold or thermal neutron beam. We ignore the possible thermal fission events and assume that the incoming neutron energy does not correspond to a Breit-Wigner resonance in the material. Furthermore, we do not take into account quantum effects in the material, nor refraction and primary extinction. + +Following Squires \cite{squires}, the experimental counterpart of the scattering law $S(q,\omega)$ is the neutron double differential scattering cross section for both coherent and incoherent processes: +\begin{equation}\label{eq:d2sigma} +\frac{d^2\sigma}{d\Omega dE_f} = \frac{\sigma}{4\pi}\frac{k_f}{k_i} N S(q, \omega) +\end{equation} +which describes the amount of neutrons scattered per unit solid angle $d\Omega$ and per unit final energy $dE_f$. In this equation, $N=\rho V$ is the number of atoms in the scattering volume $V$ with atomic number density $\rho$, $E_f, E_i, k_f, k_i$ are the kinetic energy and wavevectors of final and initial states respectively, $\sigma$ is the bound atom scattering cross-section, $\Omega$ is the solid angle and $q,\omega$ are the wave-vector and energy transfer at the sample. In practice, the double differential cross section is a linear combinaison of the coherent and incoherent parts as: +\begin{equation} +\label{eq:S=coh+inc} +\sigma S(q,\omega) = \sigma_{coh} S_{coh}(q,\omega) + \sigma_{inc} S_{inc}(q,\omega) +\end{equation} +where the subscripts $coh$ and $inc$ stand for the coherent and incoherent contributions respectively. + +We define its norm on a selected $q$ range: +\begin{equation} +|S| = \iint S(q,\omega) dq d\omega . +\end{equation} +The norm $\lim_{q \rightarrow \infty} |S| \simeq q$ for large $q$ values, and can only be defined on a restricted $q$ range. + +Some easily measureable coherent quantities in a liquid are the \emph{static pair correlation function} $g(r)$ and the \emph{structure factor} $S(q)$, defined as: +\begin{eqnarray} +\rho g(\vec{r}) &=& \frac{1}{N} \sum_{i=1}^N \sum_{j \neq i} \langle \delta(\vec{r}+\vec{r}_i-\vec{r}_j) \rangle \\ +S(\vec{q}) &=&\int S(\vec q,\omega) d\omega \label{eq:sq} \\ + &=&1 + \rho \int_V [g(\vec{r})-1] e^{i\vec{q}.\vec{r}} d\vec{r} \\ + &=&1 + \rho \int_{0}^{\infty} [g(r)-1] \frac{\sin(qr)}{qr} 4 \pi r^2 dr \textrm{\ in\ isotropic\ materials.} +\end{eqnarray} +The latter expression, in isotropic materials, may be Fourier transformed as: +\begin{equation} +\label{eq:gr-sq} +g(r)-1 =\frac{1}{2\pi^2 \rho} \int_0^\infty q^2 [S(q) -1] \frac{sin(qr)}{qr} dq +\end{equation} +Both $g(r)$ and $S(q)$ converge to unity for large $r$ and $q$ values respectively, and they are representative of the atoms spatial distribution. In a liquid $\lim_{q \rightarrow 0} S(q) = \rho k_B T \chi_T$ where $\chi_T=(\frac{\partial \rho}{\partial P})_{V,T}$ is the compressibility \cite{Egelstaff67,fischer05}. In perfect gases, $S(q) = 1$ for all $q$. These quantities are obtained experimentally from diffractometers. +In principle, $S_{inc}(q) = 1$ in all materials, but a $q$ dependence is rather usual, partly due to the Debye-Waller factor $e^{-q^2 \langle u^2 \rangle}$. Anyway, $S_{inc}(q)$ converges to unity at high $q$. + +The static pair correlation function $g(r)$ is the probability to find a neighbouring atom at a given distance (unitless). Since $g(0) = 0$, Eq. (\ref{eq:gr-sq}) provides a useful normalisation sum-rule for coherent $S(q)$: +\begin{equation} +\label{eq:sq-nomr1} +\int_0^\infty q^2 [S(q) - 1] dq = -2\pi^2\rho \textrm{\ for\ coherent\ contribution.} +\end{equation} +This means that the integrated oscillations (around 1) of $S_{coh}(q)$ are directly related to the density of the material $\rho$. +In practice, the function $S(q)$ is often known on a restricted range $q \in [0, q_{max} ]$, due to either limitations in the sample molecular dynamics simulation, or the measurement itself. +In first approximation we consider that Eq. (\ref{eq:sq-nomr1}) can be applied in this range, i.e. we neglect the large $q$ contributions provided $S(q)-1$ converges faster than $1/q^2$. This is usually true after 2-3 oscillations of $S(q)$ in liquids. +Then, in isotropic liquid-like materials, Eq. (\ref{eq:sq-nomr1}) provides a normalisation sum-rule for $S$. + +\subsection{Theoretical side - scattering in the sample} + +The Eq. \ref{eq:d2sigma} controls the scattering in the whole sample volume. +Its implementation in a propagative Monte Carlo neutron code such as \emph{McStas} can be summarised as follows: +\begin{enumerate} +{\item Compute the propagation path length in the material by geometrical intersections between the neutron trajectory and the sample volume.} +{\item Evaluate the total cross section from the integration of the scattering law over the accessible dynamical range (Section \ref{s:inter-proba}).} +{\item Use the total cross section to determine the probability of interaction for each neutron along the path length, and select a scattering position.} +{\item Weight neutron interaction with the absorption probability and select the type of interaction (coherent or incoherent).} +{\item Select the wave vector and energy transfer from the dynamic structure factor $S(q,\omega)$ used as a probability distribution (Section \ref{s:choose-qw}). Apply the detailed balance.} +{\item Check whether selection rules can be solved (Section \ref{s:rules-qw}). If they cannot, repeat (5).} +\end{enumerate} +This procedure is iterated until the neutron leaves the sample. We shall now detail the key steps of this implementation. + +\subsubsection{Evaluating the cross sections and interaction probability} +\label{s:inter-proba} + +Following Sears \cite{Sears75}, the total scattering cross section for incoming neutrons with initial energy $E_i$ is +\begin{equation} +\label{eq:iisigma} +\sigma_s(E_i) = \iint \frac{d^2 \sigma}{d\Omega dE_f} d\Omega dE_f = \frac{N \sigma}{4\pi} \iint \frac{k_f}{k_i} S(q, \omega) d\Omega dE_f +\end{equation} +where the integration runs over the entire space and all final neutron energies. +As the dynamic structure factor is defined in the $q,\omega$ space, the integration requires a variable change. Using the momentum conservation law and the solid angle relation $\Omega=2\pi(1-cos \theta)$, were $\theta$ is the solid angle opening, we draw: +\begin{equation} +\label{eq:iqSqw} +\sigma_s(E_i) = N \iint \frac{\sigma S(q,\omega) q}{2 k_i^2} dq d\omega. +\end{equation} +This integration runs over the whole accessible $q,\omega$ dynamical range for each incoming neutron. +In practice, the knowledge of the dynamic structure factor is defined over a limited area with $q \in [q_{min}, q_{max}]$ and $\omega \in [\omega_{min}, \omega_{max}]$ which is constrained by the method for obtaining $S(q,\omega)$, i.e. from previous experiments, molecular dynamics simulations, and analytical models. It is desirable that this area be as large as possible, starting from 0 for both ranges. If we use $\omega_{min} \rightarrow 0$, $q_{min} \rightarrow 0$, $\omega_{max} > 4E_i$ and $q_{max} > 2k_i$, we completely describe all scattering processes for incoming neutrons with wavevector $k_i$ \cite{msc}. + +This means that in order to correctly estimate the total intensity and multiple scattering, the knowledge of $S(q,\omega)$ must be wider (at least twice in $q$, as stated previously) than the measurable range in the corresponding experiment. +As a side effect, a self consistent iterative method for finding the true scattering law from the measurement itself is not theorically feasible, except for providing crude approximations. +However, that measured dynamic structure factor may be used to estimate the multiple scattering for a further measurement using longer wavelength neutrons. +In that case, extrapolating the scattering law beyond the accessible measurement ranges might improve substantially the accuracy of the method, but this discussion is beyond the scope of this paper. + +Consequently, limiting the $q$ integration in Eq. \ref{eq:iqSqw} to the maximum momentum transfer for elastic processes $2 k_i$, we write the total scattering cross section as +\begin{equation} +\label{eq:iqSq} +\sigma_s(E_i) \simeq \frac{N}{2 k_i^2} \int_0^{2k_i} q \sigma S(q) dq. +\end{equation} +Using Eq. \ref{eq:S=coh+inc}, it is possible to define similar expressions for the coherent and incoherent terms $\sigma_{coh}(E_i)$ and $\sigma_{inc}(E_i)$ respectively. These integrated cross sections are usually quite different from the tabulated values \cite{ILLblue} since the latter are bound scattering cross sections. + +Except for a few materials with absorption resonances in the cold-thermal energy range, the absorption cross section for an incoming neutron of velocity $v_i=\sqrt{2E_i/m}$, where $m$ is the neutron mass, is computed as +$\sigma_{abs}(E_i) = \sigma_{abs}^{\textrm{2200}}\frac{2200 m/s}{\sqrt{2E_i/m}}$, where $\sigma_{abs}^{\textrm{2200}}$ is obtained from the literature \cite{ILLblue}. + +We now determine the total cross section accounting for both scattering and absorption +\begin{equation} +\sigma_{tot}(E_i) = \sigma_{abs}(E_i) + \sigma_s(Ei). +\end{equation} +The neutron trajectory intersection with the sample geometry provides the total path length in the sample $d_{exit}$ to the exit. +Defining the linear attenuation $\mu(E_i) = \rho\sigma_{tot}(E_i)$, the probability that the neutron event is transmitted along path $d_{exit}$ is $e^{-\mu(E_i) d_{exit}}$. + +If the neutron event is transmitted, it leaves the sample. In previous Monte Carlo codes such as DISCUSS \cite{discus}, MSC \cite{msc} and MSCAT \cite{mscat}, each neutron event is forced to scatter to the detector area in order to improve the sample scattering simulation statistics and reduce the computing time. The corresponding instrument model is limited to a neutron event source, a sample and a detector. It is equaly possible in the current implementation to 'force' neutron events to scatter by applying a correction factor $\pi_0=1-e^{-\mu(E_i) d_{exit}}$ to the neutron statistical weight. However, the \emph{McStas} instrument model is often build from a large sequence of components. Eventhough the instrument description starts as well with a neutron event source, more than one sample may be encountered in the course of the neutron propagation and multiple detectors may be positioned anywhere in space, as well as other instrument components (e.g. neutron optics). This implies that neutron events scattered from a sample volume should not focus to a single area. Indeed, transmitted events may reach other scattering materials and it is not desirable to force all neutron events to scatter. The correction factor $\pi_0$ is then not applied, and neutron events can be transmitted through the sample volume. The simulation efficiency for the scattering then drops significantly, but enables to model much more complex arrangements such as concentric sample environments, magnets and monochromator mechanical parts, and neutron filters. + +If the neutron is not transmitted, the neutron statistical weight is multiplied by a factor +\begin{equation} +\pi_1 = \frac{\sigma_s(E_i)}{\sigma_{tot}(E_i)} +\end{equation} +to account for the fraction of absorbed neutrons along the path, and we may in the following treat the event as a scattering event. +Additionally, the type of interaction (coherent or incoherent) is chosen randomly with fractions $\sigma_{coh}(E_i)$ and $\sigma_{inc}(E_i)$. + +The position of the neutron scattering event along the neutron trajectory length $d_{exit}$ is determined by \cite{Mildner77,discus} +\begin{equation} +d_{s} = -\frac{1}{\mu(E_i)} \ln(1 - \xi[1 -e^{-\mu(E_i) d_{exit}}]) +\end{equation} +where $\xi$ is a random number in [0,1]. This expression takes into account secondary extinction, originating from the decrease of the beam intensity through the sample (self shielding). + +\subsubsection{Choosing the $q$ and $\omega$ transfer from $S(q, \omega)$ } +\label{s:choose-qw} + +The choice of the $(q, \omega)$ wavevector-energy transfer pair could be done randomly, as in the first event of the second order scattering evaluation in DISCUS \cite{discus}, but it is somewhat inefficient except for materials showing a broad quasi-elastic signal. As the scattering originates from structural peaks and excitations in the material $S(q, \omega)$, it is usual \cite{mscat} to adopt an importance sampling scheme by focusing the $(q, \omega)$ choice to areas where the intensity of $S(q, \omega)$ is high. In practice, this means that the neutron event should scatter preferably on e.g. Bragg peaks, quasielastic contribution and phonons. + +The main idea to implement the scattering from $S(q, \omega)$ is to cast two consecutive Monte Carlo choices, using probability distribution built from the dynamic structure factor. +We define first the probability $P_{\omega}(\omega)$ as the \emph{unweighted} fraction of modes whose energy lies between $\omega$ and $\omega+d\omega$ +\begin{equation} +P_{\omega}(\omega) d\omega = \frac{\int_0^{q_{max}} q S(q,\omega) dq}{|S|}, +\end{equation} +where $|S| = \iint S(q,\omega) dq d\omega$ is the norm of $S(q,\omega)$ in the available dynamical range $q \in [q_{min}, q_{max}]$ and $\omega \in [\omega_{min}, \omega_{max}]$. +The probability $P_{\omega}(\omega)$ is normalised to unity, $\int P_{\omega}(\omega) d\omega = 1$, and is a probability distribution of mode energies in the material. We then choose randomly an energy transfer $\omega$ from this distribution. + +Similarly, in order to focus the wavevector transfer choice, we define the probability distribution of wavevector $P_q(q\mid\omega)$ for the selected energy transfer lying between $\omega$ and $\omega+d\omega$ +\begin{equation} +P_q(q\mid\omega) = \frac{q S(q, \omega)}{S(q)}, +\end{equation} +from which we choose randomly a wavevector transfer $q$, knowing the energy transfer $\omega$. +These two probability distributions extracted from $S(q,\omega)$ are shown in Fig. \ref{f:isotropic-sqw-proba}, for a model $S(q,\omega)$ function built from the \textit{l}-$^4$He elementary excitation (Data from Donnelly). + +\begin{figure} + \begin{center} + \includegraphics[width=0.9\textwidth]{figures/Sqw_sampling} + \end{center} +\caption{\emph{Centre}: Model of dynamic structure factor $S(q,\omega)$ for l-$^4$He ; \emph{left}: probability distribution $g_\omega$ (horizontal axis) of energy transfers (vertical axis, density of states) ; \emph{right} : probability distribution $g_q(\omega)$ (vertical axis) of momentum transfers (horizontal axis) for a given energy transfer $\hbar \omega \sim 1.1$ meV.} +\label{f:isotropic-sqw-proba} +\end{figure} + +Then a selection between energy gain and loss is performed with the detailed balance ratio $e^{-\hbar \omega / k_B T}$. In the case of Stokes processes, the neutron can not loose more than its own energy to the sample dynamics, so that $\hbar \omega < E_i$. This condition breaks the symmetry between up-scattering and down-scattering. + +\subsubsection{Solving selection rules and choosing the scattered wave vector} +\label{s:rules-qw} + +The next step is to check that the conservation laws +\begin{eqnarray} +\hbar \omega &=& E_i - E_f = \frac{\hbar^2}{2m}(k_i^2 - k_f^2) \label{eq:sqw-w-transfer} \\ +\vec q &=& \vec k_i - \vec k_f \label{eq:sqw-q-transfer} +\end{eqnarray} +can be satisfied. These conditions are closely related to the method for selecting the outgoing wave vector direction. + +When the final wave vector has to be computed, the quantities $\vec{k}_i$, $\hbar \omega$ and $q = |\vec{q}|$ are known. +We solve the energy conservation law Eq. (\ref{eq:sqw-w-transfer}) and we select randomly $k_f$ as one of the two roots. + +The scattering angle $\theta$ from the initial $k_i$ direction is determined from the momentum conservation law $cos(\theta) = (k_i^2 + k_f^2 - q^2)/(2k_i k_f)$, which defines a scattering cone. We then choose randomly a direction on the cone. + +If the selection rules can not be verified (namely $|cos(\theta)| > 1$), a new $(q,\omega)$ random choice is performed (see Section \ref{s:choose-qw}). +It might appear inefficient to select the energy and momentum tranfers first and check the selection rules afterwards. However, in practice, the number of iterations to actually scatter on a high probability process and satisfy these rules is limited, usually below 10. Moreover, as these two steps are simple, the whole process requires a limited number of computer operations. + +As mentioned in Section \ref{s:inter-proba}, previous multiple scattering estimation codes \cite{msc,mscat,discus} force the outgoing neutron event to come into the detector area and time window, thus improving dramatically the code efficiency. This choice sets the measurable energy and momentum transfers for the last scattering event in the sample, so that the choice of the scattering excitation actually requires a more complex sampling mechanism for the dynamic structure factor. As the present implementation makes no assumption on the simulated instrument part which is behind the sample, we can not apply this method. Consequently, the efficiency of the sample scattering code is certainly lower than previous codes, but on the other hand it does not depend on the type of instrument simulation. In particular, it may be used to model any material in the course of the neutron propagation along the instrument model (filters, mechanical parts, samples, shields, radiation protections). + +Once the scattering probability and position, the energy and momentum transfers and the neutron momentum after scattering have all been defined, the whole process is iterated until the neutron is transmitted and exits the sample volume. + +\subsubsection{Extension to powder elastic scattering} + +In principle, the component can work in purely elastic mode if only the $\omega = 0$ column is available in $S$. +Anyway, in the diffractionists world, people do not usually define scattering with $S(q)$ (Eq. \ref{eq:sq}), but through the scattering vector $\boldsymbol{\tau}$, multiplicity $z(\tau)$ (for powders), and $|F^2|$ structure factors including Debye-Waller factors, as in Eq. \ref{eq:sigma_coh_el}. + +When doing diffraction, and neglecting inelastic contribution as first approximation, we may integrate Eq. \ref{eq:d2sigma}, keeping $k_i = k_f$. +\begin{eqnarray} +\left(\frac{d\sigma}{d\Omega}\right)_\textrm{coh.el.}(|q|) &=& \int_0^\infty \frac{d^2\sigma_{coh}}{d\Omega dE_f} dE_f = \frac{N \sigma_{coh}}{4\pi} S_{coh}(q) \\ +& = & N\frac{(2\pi)^3}{V_0}\sum_{\boldsymbol{\tau}} \delta(\boldsymbol{\tau} - \boldsymbol{q})|F_{\boldsymbol{\tau}}|^2 \textrm{\ from\ Eq.\ (\ref{eq:sigma_coh_el})} +\end{eqnarray} +with $V_0 = 1/\rho$ being the volume of a lattice unit cell. Then we come to the formal equivalence, in the powder case \cite{squires} (integration over Debye-Scherrer cones): +\begin{eqnarray}\label{eq:sq-F2} +S_{coh}(q) = \frac{\pi \rho}{2\sigma_{coh}} \frac{z(q)}{q^2} |F_q|^2 \textrm{\ in\ a\ powder.} +\end{eqnarray} +for each lattice Bragg peak wave vector $q$. +The normalisation rule Eq. (\ref{eq:sq-nomr1}) can not usually be applied for powders, as the $S(q)$ is a set of Dirac peaks for which the $\int q^2 S(q) dq$ is difficult to compute, and $S(q)$ does not converge to unity for large $q$. Each $F^2$ Dirac contribution may be broaden when specifiying a diffraction peak width. + +Of course, the component PowderN (see section \ref{powder}) can handle powder samples efficiently (faster, better accuracy), but does not take into account multiple scattering, nor secondary extinction (which is significant for materials with large absorption cross sections). On the other side, the current Isotropic\_Sqw component assumes a powder packing factor of 1 (massive sample). To change into a lower packing factor, use a lower powder density. + +\subsubsection{Important remarks and limitations} + +Since the choice of the interaction type, we know that the neutron \emph{must} scatter, with an appropriate $\vec k_f$ outgoing wave vector. If any of the choices in the method fails: +\begin{enumerate} +\item the two roots $k_f^+$ and $k_f^-$ are imaginary, which means that conservation laws can not be satisfied and for instance the selected energy transfer is higher than the incoming neutron energy +\item the radius of the target circle is imaginary, that is $|cos(\theta)| > 1$. +\end{enumerate} +then a new $(q, \omega)$ set is drawn, and the process is iterated until success or - at last - removal of the neutron event. These latter absorptions are then reported at the end of the simulation, as it never occurs in reality - neutrons that scatter do find a suitable $(q, \omega)$ set.\index{Removed neutron events} + +The $S(q,\omega)$ data sets should be as wide a possible in $q$ and $\omega$ range, else scattering conditions will be limited by the reduced data set (specially multiple scattering estimates). On the other hand, when $q$ and $\omega$ ranges are too large, some Monte Carlo choices lead to scattering temptatives in non useful regions of $S$, which reduces dramatically the algorithm efficiency. + +The best settings are: +\begin{enumerate} +\item to have the widest $q$ and $\omega$ range for $S(q,\omega)$ data sets, +\item to either set $wmax$ and $qmax$ to the maximum scatterable energy and wavevectors, +\item or alternatively request the automatic range optimisation by setting parameter \verb+auto_qw=1+. This is recommended, but may sometimes miss a few neutrons if the $q,\omega$ beam range has been guessed too small. +\end{enumerate} + +Focusing the $q$ and $\omega$ range (e.g. with 'auto\_qw=1'), to the one being able to scatter the incoming beam, when using the component does improve significantly the speed of the computation. Additionally, if you restrict the scattering to the first order only (parameter 'order=1'), then you may specify the angular vertical extension $d\phi$ of the scattering area to gain optimised focusing. This option does not apply when handling multiple scattering (which emits in $4\pi$ many times before exiting the sample). + +A bilinear interpolation for the $q,\omega$ determination is used to improve the accuracy on the scattered intensity, but it may be unactivated when setting parameter \verb+interpolate=0+. This will often result in a discrete $q,\omega$ sampling. + +As indicated in the previous section, the Isotropic\_Sqw component is not as efficient as PowderN for powder single scattering, but handles scattering processes in a more accurate way (secondary extinction, multiple scattering). + +\subsection{The implementation} + +\begin{table} + \begin{center} + {\let\my=\\ + \begin{tabular}{|lr|p{0.6\textwidth}|} + \hline +Parameter & type & meaning \\ + \hline +Sqw\_coh & string & Coherent scattering data file name. Use 0, NULL or "" to disable \\ +Sqw\_inc & string & Incoherent scattering data file name. Use 0, NULL or "" to scatter isotropically (Vanadium like) \\ +sigma\_coh & [barns] & Coherent scattering cross-section. -1 to disable \\ +sigma\_inc & [barns] & Incoherent scattering cross-section. -1 to disable \\ +sigma\_abs & [barns] & Absorption cross-section. -1 to disable \\ +V\_rho & [\AA$^{-3}$] & atomic number density. May also be specified with molar weight \emph{weight} in [g/mol] and material \emph{density} in [g/cm$^3$] \\ +T & [K] & Temperature. 0 disables detailed balance \\ + \hline +xwidth & [m] & \\ +yheight & [m] & dimensions of a box shaped geometry \\ +zdepth & [m] & \\ +radius\_o & [m] & dimensions of a cylinder shaped geometry \\ +radius\_i & [m] & sphere geometry if radius\_i=0 \\ +thickness& [m] & thickness of hollow shape \\ + \hline +auto\_qw & boolean & Automatically optimise probability tables during simulation \\ +auto\_norm& scalar & Normalize $S(q,\omega)$ when -1, use raw data when 0, multiply $S$ by given value when positive \\ +%interpolate & boolean & Smooth $S(q,\omega)$ table (recommended) \\ +order & integer & Limit multiple scattering up to given order. 0 means all orders \\ +concentric& boolean & Enables to 'enter' inside concentric hollow geometries \\ + \hline + \end{tabular} + \caption{Main Isotropic\_Sqw component parameters} + \label{t:sqw-param} + } + \end{center} +\end{table} + +\subsubsection{Geometry} + +The geometry for the component may be box, cylinder and sphere shaped, either filled or hollow. Relevant parameters for this purpose are as follow: +\begin{itemize} +\item \textbf{box}: dimensions are $x_{width} \times y_{height} \times z_{depth}$. +\item \textbf{box, hollow}: \emph{idem}, and the side wall thickness is set with $thickness$. +\item \textbf{cylinder}: dimensions are $r$ for the radius and $y_{height}$ for the height. +\item \textbf{cylinder, hollow}: \emph{idem}, and hollow part is set with $thickness$. +\item \textbf{sphere}: dimension is $r$ for the radius. +\item \textbf{sphere, hollow}: \emph{idem}, and hollow part is set with $thickness$. +\end{itemize} +The AT position corresponds to the centre of the sample. + +Hollow shapes are particularly useful to model complex sample environments. Refer to the dedicated section below for more details on this topic. + +\subsubsection{Dynamical structure factor} + +The material behaviour is specified through the total scattering cross-sections $\sigma_{coh}$, $\sigma_{inc}$, $\sigma_{abs}$, and the $S(q, \omega)$ data files. + +If you are lucky enough to have access to separated coherent and incoherent contributions (e.g. from material simulation), simply set Sqw\_coh and Sqw\_inc parameter to the files names. If on the other hand you have access to a global data set containing incoherent scattering as well (e.g. the result of a previous experiment), use Sqw\_coh parameter, set the $\sigma_{coh}$ parameter to the sum of both contributions $\sigma_{coh}+\sigma_{inc}$, and set $\sigma_{inc}=-1$. This way we only use one of the two implemented scattering channels. Such global data sets may originate from previous experiments, as far as you have applied all known corrections (multiple scattering, geometry, ...). + +In any case, the accuracy of the $S(q, \omega)$ data limits the $q$ and $\omega$ resolution of the simulation, eventhough a bilinear interpolation is performed in order to smooth binning. The sampling of data files should then be as thin as possible. + +If the Sqw\_inc parameter is left unset but the $\sigma_{inc}$ is \emph{not} zero, an isotropic incoherent elastic scattering is used, just like the V\_sample component (see section \ref{s:v_sample}). + +Anyway, as explained below, it is also possible to simulate the elastic scattering from a powder file (see below). + +\subsubsection{File formats: $S(q,\omega)$ inelastic scattering} + +The format of the data files is free text, consisting of three numerical blocks, separated by empty lines or comments, in the following order +\begin{enumerate} +\item A vector of length $m$ containing wavevector $q$ values, in \AA$^{-1}$. +\item A vector of length $n$ containing energy $\omega$ values, in meV. +\item A matrix of size $m$ rows by $n$ columns, of $S(q, \omega)$ values, in meV$^{-1}$. +\end{enumerate} +Any line beginning with any character of \verb+#;/%+ is considered to be a comment, and lines which can not be read as vectors/matrices are ignored. + +The file header may optionally contain parameter settings for the material, as comments, with keywords as in the following example: +\begin{lstlisting} + #V_0 35 cell volume [Angs^3] + #V_rho 0.07 atom number density [at/Angs^3] + #sigma_abs 5 absorption cross section [barns] + #sigma_inc 4.8 incoherent cross section [barns] + #sigma_coh 1 coherent cross section [barns] + #Temperature 10 for detailed balance [K] + #density 1 material density [g/cm^3] + #weight 18 material molar weight [g/mol] + #nb_atoms 6 number of atoms per unit cell +\end{lstlisting} +Some \verb+sqw+ data files are included in the \MCS distribution data directory, and they contain material parameter settings in their header, so that you may use: +\begin{lstlisting} +Isotropic_Sqw(, Sqw_coh="He4_liq_coh.sqw", T=4) +\end{lstlisting} + +Example files are listed as \verb+*.sqw+ files in directory \verb+MCSTAS/data+. A table of $S(q,\omega)$ data files for a few liquids are listed in Table \ref{t:liquids-data} (page \pageref{t:liquids-data}). + +\subsubsection{File formats: $S(q)$ liquids} + +This file format provides a mean to import directly an $S(q)$ data set, when setting parameters: +\begin{lstlisting} + powder_format=qSq +\end{lstlisting} +The 'Sqw\_coh' (or 'Sqw\_inc') file should contains a single numerical block, which column assignment is defaulted as $q$ and $S(q)$ being the first and second column respectively. This may be overridden from the file header with '\#column' keywords, as in the example: +\begin{lstlisting} + #column_q 2 + #column_Sq 1 +\end{lstlisting} +Such files can only handle elastic scattering. + +\subsubsection{File formats: powder structures (LAZY, Fullprof, Crystallographica)} + +Data files as used by the component PowderN may also be read. Data files of type \verb'lau' and \verb'laz' in the \MCS distribution data directory are self-documented in their header. They do not need any additional parameters to be used, as in the example: +\begin{lstlisting} + Isotropic_Sqw(, Sqw_coh="Al.laz") +\end{lstlisting} +Other column-based file formats may also be imported e.g. with parameters such as: +\begin{lstlisting} + powder_format=Crystallographica + powder_format=Fullprof + powder_Dd =0 + powder_DW =1 +\end{lstlisting} +The last two parameters may as well be specified in the data file header with lines: +\begin{lstlisting} + #Debye_Waller 1 + #Delta_d/d 1e-3 +\end{lstlisting} +The powder description is then translated into $S(q)$ by using Eq. (\ref{eq:sq-F2}). +In this case, the density $\rho = n/V_0$ is the number of atoms in the inverse volume of the unit cell. + +As the component builds an $S(q)$ from the powder structure description, the accuracy of the Isotropic\_Sqw component is limited by the binning during that conversion. This is usually enough to describe sample environments including powders (aluminium, copper, ...), but it is recommended to rather use PowderN for faster and accurate powder diffraction, eventthough this latter does not implement multiple scattering. + +Such files can only handle elastic scattering. A list of common powder definition files is available in Table \ref{t:powders-data} (page \pageref{t:powders-data}). + +\subsubsection{Concentric geometries, sample environment} +\index{Sample environments} + +The component has been designed in a way which enables to describe complex imbricated set-ups, i.e. what you need to simulate sample environments. To do so, one has first to use hollow shapes, then keep in mind that each surrounding geometry should be first declared before the central position (usually the sample) with the \verb+concentric=1+ parameter, but also duplicated (with an other instance name) at a symmetric position with regards to the centre as in the example (shown in Fig. \ref{f:isotropic-sqw}): +\begin{lstlisting} +COMPONENT s_in=Isotropic_Sqw( + thickness=0.001, radius=0.02, yheight=0.015, + Sqw_coh="Al.laz", concentric=1) +AT (0,0,1) RELATIVE a + +COMPONENT sample=Isotropic_Sqw( + xwidth=0.01, yheight=0.01, zdepth=0.01, + Sqw_coh="Rb_liq_coh.sqw") +AT (0,0,1) RELATIVE a + +COMPONENT s_out=Isotropic_Sqw( + thickness=0.001, radius=0.02, yheight=0.015, + Sqw_coh="Al.laz") +AT (0,0,1) RELATIVE a +\end{lstlisting} +Central component may be of any type, not specifically an Isotropic\_Sqw instance. It could be for instance a Single\_crystal or a PowderN. +In principle, the number of surrounding shells is not restricted. +The only restriction is that neutrons that scatter (in $4\pi$) can not come back in the instrument description, so that some of the multiple scattering events are lost. Namely, in the previous example, neutrons scattered by the outer wall of the cryostat \verb+s_out+ can not come back to the sample or to the other cryostat wall \verb+s_in+. As these neutrons have usually few chances to reach the rest of the simulation, we expect that the approximation is fair. + +\subsection{Validation} +For constant incoherent scattering mode, V\_sample, PowderN, Single\_crystal and Isotropic\_Sqw produce equivalent results, eventhough the two later are more accurate (geometry, multiple scattering). Execution times are equivalent. + +Compared with the PowderN component, the $S(q)$ method is twice slower in computation time, and intensity is usually lower by typically 20 \% (depending on scattering cross sections), the difference arising from multiple scattering and secondary extinction (not handled in PowderN). The PowderN component is intrinsically more accurate in $q$ as each Bragg peak is handled separately as an exact Dirac peak, with optional $\Delta q$ spreading. In Isotropic\_Sqw, an approximated $S(q)$ table is built from the $F^2$ data, and is coarser. Still, differences in the diffraction pattern are limited. + +The Isotropic\_Sqw component has been benchmarked against real experiment for liquid Rubidium (Copley, 1974) and liquid Cesium (Bodensteiner and Dorner, 1989), and the agreement is excellent. + +The \verb+Test_Isotropic_Sqw+ test/example instrument exists in the distribution for this component. + + + diff --git a/docs/manuals/mcstas/samples/Magnon_bcc.tex b/docs/manuals/mcstas/samples/Magnon_bcc.tex new file mode 100644 index 0000000000..f5289885bb --- /dev/null +++ b/docs/manuals/mcstas/samples/Magnon_bcc.tex @@ -0,0 +1,80 @@ +\section{The \texttt{Magnon\_bcc} McStas Component} +A sample for AFM or FM magnon scattering +based on cross section expressions from Squires, Ch.8.2 + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann + \item \textbf{Origin:} KU + \item \textbf{Date:} 23.10.08 - 24.07.18 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Single-cylinder shape. +Absorption included. +No multiple scattering. +No incoherent scattering emitted. +No attenuation from coherent scattering. No Bragg scattering. +bcc crystal n.n. and n.n.n. interactions only +Can do either FM or AFM order upon a flag +Assume J>0 for both FM and AFM. MUST BE CHANGED FOR CONSISTENCY +If AFM, the order is two-sublattice, e.g. the AFM Bragg ordering vectors are Q = (1 0 0) and equivalent. +One magnon branch only +Assume spin along z +Possible easy axis anisotropy along z +No external field + +KNOWN BUGS: +Gives zero scattering for too large J values (for AFM J=0.362, h approx 1). Probably this is a malfunction of zridd or call thereof +The value of the absolute scattered intensity is clearly too high. This is probably due to unit confusion. The relative intensity scaling seems about right. + +Algorithm: +0. Always perform the scattering if possible (otherwise ABSORB) +1. Choose direction within a focusing solid angle +2. Calculate the zeros of (E_i-E_f-hbar omega(kappa)) as a function of k_f +3. Choose one value of k_f (always at least one is possible!) +4. Perform the correct weight transformation +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{radius} & m & Outer radius of sample in (x,z) plane & \\ +\textbf{yheight} & m & Height of sample in y direction & \\ +\textbf{sigma\_abs} & barns & Absorption cross section at 2200 m/s per atom & \\ +\textbf{sigma\_inc} & barns & Incoherent scattering cross section per atom & \\ +\textbf{a} & AA & bcc Lattice constant & \\ +FM & 1 & Flag for whether the order if FM (0 means AFM) & 0 \\ +\textbf{J1} & meV & spin-spin interaction 1 (nn) & \\ +\textbf{J2} & meV & spin-spin interaction 2 (nnn) & \\ +\textbf{D} & mev & single ion anisotropy & \\ +\textbf{s} & 1 & spin & \\ +\textbf{DW} & 1 & Debye-Waller factor & \\ +\textbf{T} & K & Temperature & \\ +target\_x & m & position of target to focus at . Transverse coordinate & 0 \\ +target\_y & m & position of target to focus at. Vertical coordinate & 0 \\ +target\_z & m & position of target to focus at. Straight ahead. & 0 \\ +target\_index & 1 & relative index of component to focus at, e.g. next is +1 & 0 \\ +F2 & 1 & magnetic form factor squared & 1 \\ +focus\_r & m & Radius of sphere containing target. & 0 \\ +focus\_xw & m & horiz. dimension of a rectangular area & 0 \\ +focus\_yh & m & vert. dimension of a rectangular area & 0 \\ +focus\_aw & deg & horiz. angular dimension of a rectangular area & 0 \\ +focus\_ah & deg & vert. angular dimension of a rectangular area & 0 \\ +verbose & 1 & flag for test printing (print if verbose==1) & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/Magnon_bcc.comp}{Source code} for \texttt{Magnon\_bcc.comp}. + \item The test/example instrument \textless{}a href="../examples/Test\_Magnon.instr"\textgreater{}Test\_Magnon.instr\textless{}/a\textgreater{}. +\end{itemize} +\IfFileExists{Magnon_bcc_static.tex}{\input{Magnon_bcc_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/NCrystal_sample.tex b/docs/manuals/mcstas/samples/NCrystal_sample.tex new file mode 100644 index 0000000000..0ea4838c68 --- /dev/null +++ b/docs/manuals/mcstas/samples/NCrystal_sample.tex @@ -0,0 +1,57 @@ +\section{The \texttt{NCrystal\_sample} McStas Component} +McStas sample component for the NCrystal library for thermal neutron transport +(\textless{}a href="https://github.com/mctools/ncrystal"\textgreater{}www\textless{}/a\textgreater{}). + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} NCrystal developers + \item \textbf{Origin:} NCrystal Developers (European Spallation Source ERIC and DTU Nutech) + \item \textbf{Date:} 2015 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +McStas sample component using the NCrystal library for thermal neutron +transport in a single bulk material filling a single simple convex volume +(box, sphere or cylinder). + +The geometrical layout of the volume is determined via the xwidth, yheight, +zdepth, and radius parameters, and the material being modelled is determined +via an NCrystal configuration string ("cfg-string"). + +For more information about NCrystal and cfg-strings, refer to the NCrystal wiki. +In particular, browse the available datafiles at Data-library and read about the +format of the cfg-string expected in the "cfg" parameter at Using-NCrystal. + +For more complicated geometries, it might be desirable to use NCrystal via the +McStas Union components instead. + +Note that the physics backend of this component will be whichever NCrystal +installation is available and associated with the "ncrystal-config" command. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +cfg & str & NCrystal material configuration string (details \textless{}a href="https://github.com/mctools/ncrystal/wiki/Using-NCrystal"\textgreater{}on this page\textless{}/a\textgreater{}). & "void" \\ +xwidth & m & x-dimension (width) of sample, if box shape is desired & 0 \\ +yheight & m & y-dimension (height) of sample, if box or cylinder shape is desired & 0 \\ +zdepth & m & z-dimension (depth) of sample, if box shape is desired & 0 \\ +radius & m & radius of sample, if sphere or cylinder shape is desired & 0 \\ +absorptionmode & 0|1|2 & 0 : disable absorption. 1 : enable absorption via intensity reduction. 2 : enable absorption by terminating the tracking. & 1 \\ +multscat & 0|1 & 0 : disable multiple scattering. 1 : enable multiple scattering & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/NCrystal_sample.comp}{Source code} for \texttt{NCrystal\_sample.comp}. + \item The NCrystal wiki at \textless{}a href="https://github.com/mctools/ncrystal/wiki"\textgreater{}https://github.com/mctools/ncrystal/wiki\textless{}/a\textgreater{}. +\end{itemize} +\IfFileExists{NCrystal_sample_static.tex}{\input{NCrystal_sample_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/Phonon_simple.tex b/docs/manuals/mcstas/samples/Phonon_simple.tex index 61a84fdd18..f29808d2c0 100644 --- a/docs/manuals/mcstas/samples/Phonon_simple.tex +++ b/docs/manuals/mcstas/samples/Phonon_simple.tex @@ -1,162 +1,70 @@ -\section{Phonon\_simple: A simple phonon sample} -\label{s:phonon_simple} -\index{Samples!Phonon scattering} -\index{Inelastic scattering} - -%\component{Phonon\_simple}{Kim Lefmann, Ris\o\ National Laboratory}{ $r_\textrm{o}$, $h$, $r_\textrm{foc}$, $x_\textrm{target}$, $y_\textrm{target}$, $z_\textrm{target}$, $\sigma_\textrm{abs}$, $\sigma_\textrm{inc}$, $a$, $b$, $c$, $M$, $DW$, $T$}{$w_x$, $h_y$, $t_z$, $w_\textrm{focus}, h_\textrm{focus}$, $w_\textrm{foc, angle}$, $h_\textrm{foc, angle}$, target\_index}{only validated qualitatively} -\mcdoccomp{samples/Phonon_simple.parms} - -This component models a simple phonon signal from a single crystal of -a pure element in an {\em fcc} crystal structure. -Only one isotropic acoustic phonon branch is modelled, and the longitudinal -and transverse dispersions are identical with the velocity of sound being $c$. -Other physical parameters are the atomic mass, $M$, the lattice parameter, $a$, -the scattering length, $b$, -the Debye-Waller factor, \verb+DW+, and the temperature, $T$. -Incoherent scattering and absorption are taken into account by the cross -sections $\sigma_\textrm{abs}$ and $\sigma_\textrm{inc}$. - -The sample can have the form of a cylinder with height $h$ and radius -$r_0$, or a box with dimensions $w_x, h_y, t_z$. - -Phonons are emitted into a specific range of solid angles, specified -by the location $(x_t, y_t, z_t)$ and the focusing radius, $r_0$. -Alternatively, the focusing is given by a rectangle, -$w_\textrm{focus}$ and $h_\textrm{focus}$, and the focus point is given by the -index of a down-stream component, \verb+target_index+. - -Multiple scattering is not included in this component. - -A usage example of this component can be found in the \verb+Neutron site/tests/Test_Phonon+ instrument from the \verb+mcgui+. - -\subsection{The phonon cross section} % This is modified from the paper version % -The inelastic phonon cross section for a Bravais crystal of a pure element -is given by Ref.~\cite[ch.3~]{squires} -\begin{eqnarray} -\frac{d^2\sigma'}{d\Omega dE_\textrm{f}} &=& - b^2 \frac{k_\textrm{f}}{k_\textrm{i}} \frac{(2\pi)^3}{V_0}\frac{1}{2M} \exp(-2W) \nonumber \\ -&\times& - \sum_{\tau,q,p} \frac{(\mbox{\boldmath $\kappa$} \cdot \textbf{e}_{q,p})^2} - {\omega_{q,p}} - \left\langle n_{q,p} + \frac{1}{2} \mp \frac{1}{2} \right\rangle - \delta(\omega\pm\omega_{q,p}) \delta(\kappa\pm\textbf{q}-\tau) , -\end{eqnarray} -where both annihilation and creation of one phonon is considered -(represented by the plus and minus sign in the dispersion delta functions, -respectively). -In the equation, -$\exp(-2W)$ is the Debye-Waller factor, \verb+DW+ and -$V_0 $ is the volume of the unit cell. -The sum runs over the reciprocal lattice vectors, $\tau$, -over the polarisation index, $p$, -and the $N$ allowed wave vectors \textbf{q} within the Brillouin zone -(where $N$ is the number of unit cells in the crystal). -Further, $\textbf{e}_{q,p}$ is the -polarization unit vectors, $\omega_{q,p}$ the phonon dispersion, -and the Bose factor is -$\langle n_{q,p} \rangle = (\hbar \exp(|\omega_{q,p}|/k_\textrm{B}T)-1)^{-1}$. - -We have simplified this expression by assuming no polarization -dependence of the dispersion, giving -$\sum_{p} (\mbox{\boldmath $\kappa$} \cdot \textbf{e}_{q,p})^2 = \kappa^2$. -We assume that the inter-atomic interaction is nearest-neighbour-only -so that the phonon dispersion becomes: -\begin{equation} -d_1(\textbf{q}) = c_1/a \sqrt{z-s_q} , -\end{equation} -where $z=12$ is the number of nearest neighbours and -$s_q=\sum_\textrm{nn} \cos(\textbf{q} \cdot \textbf{r}_\textrm{nn})$, -where in turn $\textbf{r}_\textrm{nn}$ is the lattice positions of the -nearest neighbours. - -This dispersion relation may be modified with a small effort, -since it is given as a separate c-function attatched to the component. - -To calculate $d\sigma/d\Omega$ we need to transform the -\textbf{q} sum into an integral over the Brillouin zone by -$\sum_q \rightarrow N V_\textrm{c} (2\pi)^{-3} \int_\textrm{BZ} d^3\textbf{q}$. -The $\mbox{\boldmath $\kappa$}$ sum can now be removed by -expanding the \textbf{q} integral to infinity. -All in all, the partial differential cross section reads -\begin{eqnarray} -\frac{d^2\sigma'}{d\Omega dE_\textrm{f}} - (\mbox{\boldmath $\kappa$},\omega) &=& - N b^2 \frac{k_\textrm{f}}{k_\textrm{i}} \frac{1}{2M} - \int \frac{\hbar \kappa^2}{\hbar \omega_q} - \left\langle n_{q}+\frac{1}{2}\mp\frac{1}{2} \right\rangle - \delta(\omega\pm\omega_{q}) \delta(\mbox{\boldmath $\kappa$}\pm\textbf{q}) - d^3\textbf{q} \nonumber \\ - &=& N b^2 \frac{k_\textrm{f}}{k_\textrm{i}} - \frac{\hbar^2 \kappa^2}{2M \hbar \omega_q} - \left\langle n_{\kappa}+\frac12\pm\frac12 \right\rangle - \delta(\hbar\omega\pm d_1(\kappa)) . \label{e:phonon-pdcross} -\end{eqnarray} - -\subsection{The algorithm} -All neutrons, which hit the sample volume, are scattered -into a particular range of solid angle, $\Delta \Omega$, -like many other components. One of the difficult things in -scattering from a dispersion is to take care to fulfill the -dispersion criteria and to find the correct weight transformation. - -In \textbf{Phonon\_simple}, the following steps are taken: -\begin{enumerate} -\item If the sample is hit, calculate the total path length inside the -sample, otherwise leave the neutron ray unchanged. -\item Choose a scattering point inside the sample -\item Choose a direction for the final wave vector, $\hat{\textbf{k}}_\textrm{f}$ -within $\Delta\Omega$. -\item Calculate possible values of $k_\textrm{f}$ so that the -dispersion relation is fulfilled for the corresponding value -of $\textbf{k}_\textrm{f}$. (There is always at least one possible $k_\textrm{f}$ -value \cite{bacon}.) -\item Choose one of the calculated $k_\textrm{f}$ values. -\item Propagate the neutron to the scattering point and adjust the -neutron velocity according to $k_\textrm{f}$. -\item Calculate and apply the correct weight factor correction, see below. -\end{enumerate} - -\subsection{The weight transformation} -Before making the weight transformation, we need to calculate the -probability for scattering along one certain direction $\Omega$ -from one phonon mode. To do this, we must integrate out the delta -functions in the cross section (\ref{e:phonon-pdcross}). -We here use that $\hbar \omega_q = \hbar^2 (k_i^2 - k_f^2) / (2 m_\textrm{N})$, -$\kappa = \textbf{k}_\textrm{i} - k_\textrm{f}\hat{\textbf{k}}_\textrm{f}$, and -the integration rule $\int \delta(f(x)) = (df/dx)(0)^{-1}$. -Now, we reach -\begin{equation} \label{eq:phononcross} -\left(\frac{d\sigma'}{d\Omega}\right)_j = \int \frac{d^2\sigma'}{d\Omega dE_\textrm{f}} dE_\textrm{f} - = N b^2 \frac{k_\textrm{f}}{k_\textrm{i}} -\frac{\hbar^2 \kappa^2}{2M d_1(\kappa_j) J(k_{\textrm{f},j})} -\left\langle n_{\kappa}+\frac12\pm\frac12 \right\rangle . -\end{equation} - -where the Jacobian reads -\begin{equation} -J = 1 - \frac{m_\textrm{N}}{k_\textrm{f} \hbar^2} - \frac{\partial}{\partial k_\textrm{f}} \left( d_1(\kappa) \right) . -\end{equation} - -A rough order-of-magnitude consideration gives -$\frac{k_{\textrm{f},j}}{k_\textrm{i}}\approx 1$, -$J \approx 1$, -$\langle n_{\kappa}+\frac12\pm\frac12 \rangle \approx 1$, -$\frac{\hbar^2\kappa^2}{2M d_1(\kappa)} -\approx \frac{m}{M}$. -Hence, $\left(\frac{d\sigma}{d\Omega}\right)_j \approx N b^2 \frac{m}{M}$, and -the phonon cross section becomes a fraction of -the total scattering cross section $4 \pi N b^2$, as it must be. -The differential cross section per unit volume is found from -(\ref{eq:phononcross}) by replacing $N$ with $1/V_0$. - -The total weight transformation now becomes -\begin{equation} \label{eq:phonon_mult} -\pi_i = a_\textrm{lin} l_\textrm{max} n_\textrm{s} \Delta \Omega - b^2 \frac{k_{\textrm{f},j}}{k_\textrm{i}} - \frac{\hbar^2 \kappa}{2 V_0 M d_1(\kappa) J(k_{\textrm{f},j})} - \left\langle n_{\kappa}+\frac12 \pm\frac12 \right\rangle , -\end{equation} -where $n_s$ is the number of possible dispersion values in the chosen direction. - -The \verb+Test_Phonon+ test/example instrument exists in the distribution for this component. +\section{The \texttt{Phonon\_simple} McStas Component} +A sample for phonon scattering based on cross section expressions from Squires, Ch.3. +Possibility for adding an (unphysical) bandgap. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 04.02.04 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Single-cylinder shape. +Absorption included. +No multiple scattering. +No incoherent scattering emitted. +No attenuation from coherent scattering. No Bragg scattering. +fcc crystal n.n. interactions only +One phonon branch only -> phonon polarization not accounted for. +Bravais lattice only. (i.e. just one atom per unit cell) + +Algorithm: +0. Always perform the scattering if possible (otherwise ABSORB) +1. Choose direction within a focusing solid angle +2. Calculate the zeros of (E_i-E_f-hbar omega(kappa)) as a function of k_f +3. Choose one value of k_f (always at least one is possible!) +4. Perform the correct weight transformation +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{radius} & m & Outer radius of sample in (x,z) plane & \\ +\textbf{yheight} & m & Height of sample in y direction & \\ +\textbf{sigma\_abs} & barns & Absorption cross section at 2200 m/s per atom & \\ +\textbf{sigma\_inc} & barns & Incoherent scattering cross section per atom & \\ +\textbf{a} & AA & fcc Lattice constant & \\ +\textbf{b} & fm & Scattering length & \\ +\textbf{M} & a.u. & Atomic mass & \\ +\textbf{c} & meV/AA\textasciicircum{}(-1) & Velocity of sound & \\ +\textbf{DW} & 1 & Debye-Waller factor & \\ +\textbf{T} & K & Temperature & \\ +target\_x & m & position of target to focus at . Transverse coordinate & 0 \\ +target\_y & m & position of target to focus at. Vertical coordinate & 0 \\ +target\_z & m & position of target to focus at. Straight ahead. & 0 \\ +target\_index & 1 & relative index of component to focus at, e.g. next is +1 & 0 \\ +focus\_r & m & Radius of sphere containing target. & 0 \\ +focus\_xw & m & horiz. dimension of a rectangular area & 0 \\ +focus\_yh & m & vert. dimension of a rectangular area & 0 \\ +focus\_aw & deg & horiz. angular dimension of a rectangular area & 0 \\ +focus\_ah & deg & vert. angular dimension of a rectangular area & 0 \\ +gap & meV & Bandgap energy (unphysical) & 0 \\ +e\_steps\_low & 1 & Amount of possible intersections beneath the elastic line & 50 \\ +e\_steps\_high & 1 & Amount of possible intersections above the elastic line & 50 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/Phonon_simple.comp}{Source code} for \texttt{Phonon\_simple.comp}. + \item The test/example instrument \textless{}a href="../examples/Test\_Phonon.instr"\textgreater{}Test\_Phonon.instr\textless{}/a\textgreater{}. +\end{itemize} +\IfFileExists{Phonon_simple_static.tex}{\input{Phonon_simple_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/Phonon_simple_static.tex b/docs/manuals/mcstas/samples/Phonon_simple_static.tex new file mode 100644 index 0000000000..97d0acde96 --- /dev/null +++ b/docs/manuals/mcstas/samples/Phonon_simple_static.tex @@ -0,0 +1,162 @@ +\section{Phonon\_simple: A simple phonon sample} +\label{s:phonon_simple} +\index{Samples!Phonon scattering} +\index{Inelastic scattering} + +%\component{Phonon\_simple}{Kim Lefmann, Ris\o\ National Laboratory}{ $r_\textrm{o}$, $h$, $r_\textrm{foc}$, $x_\textrm{target}$, $y_\textrm{target}$, $z_\textrm{target}$, $\sigma_\textrm{abs}$, $\sigma_\textrm{inc}$, $a$, $b$, $c$, $M$, $DW$, $T$}{$w_x$, $h_y$, $t_z$, $w_\textrm{focus}, h_\textrm{focus}$, $w_\textrm{foc, angle}$, $h_\textrm{foc, angle}$, target\_index}{only validated qualitatively} +%\mcdoccomp{samples/Phonon_simple.parms} + +This component models a simple phonon signal from a single crystal of +a pure element in an {\em fcc} crystal structure. +Only one isotropic acoustic phonon branch is modelled, and the longitudinal +and transverse dispersions are identical with the velocity of sound being $c$. +Other physical parameters are the atomic mass, $M$, the lattice parameter, $a$, +the scattering length, $b$, +the Debye-Waller factor, \verb+DW+, and the temperature, $T$. +Incoherent scattering and absorption are taken into account by the cross +sections $\sigma_\textrm{abs}$ and $\sigma_\textrm{inc}$. + +The sample can have the form of a cylinder with height $h$ and radius +$r_0$, or a box with dimensions $w_x, h_y, t_z$. + +Phonons are emitted into a specific range of solid angles, specified +by the location $(x_t, y_t, z_t)$ and the focusing radius, $r_0$. +Alternatively, the focusing is given by a rectangle, +$w_\textrm{focus}$ and $h_\textrm{focus}$, and the focus point is given by the +index of a down-stream component, \verb+target_index+. + +Multiple scattering is not included in this component. + +A usage example of this component can be found in the \verb+Neutron site/tests/Test_Phonon+ instrument from the \verb+mcgui+. + +\subsection{The phonon cross section} % This is modified from the paper version % +The inelastic phonon cross section for a Bravais crystal of a pure element +is given by Ref.~\cite[ch.3~]{squires} +\begin{eqnarray} +\frac{d^2\sigma'}{d\Omega dE_\textrm{f}} &=& + b^2 \frac{k_\textrm{f}}{k_\textrm{i}} \frac{(2\pi)^3}{V_0}\frac{1}{2M} \exp(-2W) \nonumber \\ +&\times& + \sum_{\tau,q,p} \frac{(\mbox{\boldmath $\kappa$} \cdot \textbf{e}_{q,p})^2} + {\omega_{q,p}} + \left\langle n_{q,p} + \frac{1}{2} \mp \frac{1}{2} \right\rangle + \delta(\omega\pm\omega_{q,p}) \delta(\kappa\pm\textbf{q}-\tau) , +\end{eqnarray} +where both annihilation and creation of one phonon is considered +(represented by the plus and minus sign in the dispersion delta functions, +respectively). +In the equation, +$\exp(-2W)$ is the Debye-Waller factor, \verb+DW+ and +$V_0 $ is the volume of the unit cell. +The sum runs over the reciprocal lattice vectors, $\tau$, +over the polarisation index, $p$, +and the $N$ allowed wave vectors \textbf{q} within the Brillouin zone +(where $N$ is the number of unit cells in the crystal). +Further, $\textbf{e}_{q,p}$ is the +polarization unit vectors, $\omega_{q,p}$ the phonon dispersion, +and the Bose factor is +$\langle n_{q,p} \rangle = (\hbar \exp(|\omega_{q,p}|/k_\textrm{B}T)-1)^{-1}$. + +We have simplified this expression by assuming no polarization +dependence of the dispersion, giving +$\sum_{p} (\mbox{\boldmath $\kappa$} \cdot \textbf{e}_{q,p})^2 = \kappa^2$. +We assume that the inter-atomic interaction is nearest-neighbour-only +so that the phonon dispersion becomes: +\begin{equation} +d_1(\textbf{q}) = c_1/a \sqrt{z-s_q} , +\end{equation} +where $z=12$ is the number of nearest neighbours and +$s_q=\sum_\textrm{nn} \cos(\textbf{q} \cdot \textbf{r}_\textrm{nn})$, +where in turn $\textbf{r}_\textrm{nn}$ is the lattice positions of the +nearest neighbours. + +This dispersion relation may be modified with a small effort, +since it is given as a separate c-function attatched to the component. + +To calculate $d\sigma/d\Omega$ we need to transform the +\textbf{q} sum into an integral over the Brillouin zone by +$\sum_q \rightarrow N V_\textrm{c} (2\pi)^{-3} \int_\textrm{BZ} d^3\textbf{q}$. +The $\mbox{\boldmath $\kappa$}$ sum can now be removed by +expanding the \textbf{q} integral to infinity. +All in all, the partial differential cross section reads +\begin{eqnarray} +\frac{d^2\sigma'}{d\Omega dE_\textrm{f}} + (\mbox{\boldmath $\kappa$},\omega) &=& + N b^2 \frac{k_\textrm{f}}{k_\textrm{i}} \frac{1}{2M} + \int \frac{\hbar \kappa^2}{\hbar \omega_q} + \left\langle n_{q}+\frac{1}{2}\mp\frac{1}{2} \right\rangle + \delta(\omega\pm\omega_{q}) \delta(\mbox{\boldmath $\kappa$}\pm\textbf{q}) + d^3\textbf{q} \nonumber \\ + &=& N b^2 \frac{k_\textrm{f}}{k_\textrm{i}} + \frac{\hbar^2 \kappa^2}{2M \hbar \omega_q} + \left\langle n_{\kappa}+\frac12\pm\frac12 \right\rangle + \delta(\hbar\omega\pm d_1(\kappa)) . \label{e:phonon-pdcross} +\end{eqnarray} + +\subsection{The algorithm} +All neutrons, which hit the sample volume, are scattered +into a particular range of solid angle, $\Delta \Omega$, +like many other components. One of the difficult things in +scattering from a dispersion is to take care to fulfill the +dispersion criteria and to find the correct weight transformation. + +In \textbf{Phonon\_simple}, the following steps are taken: +\begin{enumerate} +\item If the sample is hit, calculate the total path length inside the +sample, otherwise leave the neutron ray unchanged. +\item Choose a scattering point inside the sample +\item Choose a direction for the final wave vector, $\hat{\textbf{k}}_\textrm{f}$ +within $\Delta\Omega$. +\item Calculate possible values of $k_\textrm{f}$ so that the +dispersion relation is fulfilled for the corresponding value +of $\textbf{k}_\textrm{f}$. (There is always at least one possible $k_\textrm{f}$ +value \cite{bacon}.) +\item Choose one of the calculated $k_\textrm{f}$ values. +\item Propagate the neutron to the scattering point and adjust the +neutron velocity according to $k_\textrm{f}$. +\item Calculate and apply the correct weight factor correction, see below. +\end{enumerate} + +\subsection{The weight transformation} +Before making the weight transformation, we need to calculate the +probability for scattering along one certain direction $\Omega$ +from one phonon mode. To do this, we must integrate out the delta +functions in the cross section (\ref{e:phonon-pdcross}). +We here use that $\hbar \omega_q = \hbar^2 (k_i^2 - k_f^2) / (2 m_\textrm{N})$, +$\kappa = \textbf{k}_\textrm{i} - k_\textrm{f}\hat{\textbf{k}}_\textrm{f}$, and +the integration rule $\int \delta(f(x)) = (df/dx)(0)^{-1}$. +Now, we reach +\begin{equation} \label{eq:phononcross} +\left(\frac{d\sigma'}{d\Omega}\right)_j = \int \frac{d^2\sigma'}{d\Omega dE_\textrm{f}} dE_\textrm{f} + = N b^2 \frac{k_\textrm{f}}{k_\textrm{i}} +\frac{\hbar^2 \kappa^2}{2M d_1(\kappa_j) J(k_{\textrm{f},j})} +\left\langle n_{\kappa}+\frac12\pm\frac12 \right\rangle . +\end{equation} + +where the Jacobian reads +\begin{equation} +J = 1 - \frac{m_\textrm{N}}{k_\textrm{f} \hbar^2} + \frac{\partial}{\partial k_\textrm{f}} \left( d_1(\kappa) \right) . +\end{equation} + +A rough order-of-magnitude consideration gives +$\frac{k_{\textrm{f},j}}{k_\textrm{i}}\approx 1$, +$J \approx 1$, +$\langle n_{\kappa}+\frac12\pm\frac12 \rangle \approx 1$, +$\frac{\hbar^2\kappa^2}{2M d_1(\kappa)} +\approx \frac{m}{M}$. +Hence, $\left(\frac{d\sigma}{d\Omega}\right)_j \approx N b^2 \frac{m}{M}$, and +the phonon cross section becomes a fraction of +the total scattering cross section $4 \pi N b^2$, as it must be. +The differential cross section per unit volume is found from +(\ref{eq:phononcross}) by replacing $N$ with $1/V_0$. + +The total weight transformation now becomes +\begin{equation} \label{eq:phonon_mult} +\pi_i = a_\textrm{lin} l_\textrm{max} n_\textrm{s} \Delta \Omega + b^2 \frac{k_{\textrm{f},j}}{k_\textrm{i}} + \frac{\hbar^2 \kappa}{2 V_0 M d_1(\kappa) J(k_{\textrm{f},j})} + \left\langle n_{\kappa}+\frac12 \pm\frac12 \right\rangle , +\end{equation} +where $n_s$ is the number of possible dispersion values in the chosen direction. + +The \verb+Test_Phonon+ test/example instrument exists in the distribution for this component. diff --git a/docs/manuals/mcstas/samples/Powder1.tex b/docs/manuals/mcstas/samples/Powder1.tex new file mode 100644 index 0000000000..5085e88971 --- /dev/null +++ b/docs/manuals/mcstas/samples/Powder1.tex @@ -0,0 +1,57 @@ +\section{The \texttt{Powder1} McStas Component} +General powder sample with a single scattering vector. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} E.M.Lauridsen, N.B.Christensen, A.B.Abrahamsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 4.2.98 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +General powder sample with a single scattering vector. No multiple , +scattering, no incoherent scattering, no secondary extinction. +The shape of the sample may be a cylinder of given radius or a box with +dimensions xwidth, yheight, zdepth. +The efficient is highly improved when restricting the vertical scattering +range on the Debye-Scherrer cone (with 'd_phi'). +You may use PowderN to use N scattering lines defined in a file. + +Example: Powder1(radius=0.015,yheight=0.05,q =1.8049,d_phi=0.07,pack=1, +j=6,DW=1,F2=56.8,Vc=85.0054,sigma_abs=0.463) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & m & Radius of sample in (x,z) plane & 0.01 \\ +yheight & m & Height of sample y direction & 0.05 \\ +xwidth & m & horiz. dimension of sample, as a width & 0 \\ +zdepth & m & depth of box sample & 0 \\ +q & AA\textasciicircum{}-1 & Scattering vector of reflection & 1.8049 \\ +d & AA & d-spacing for sample, overrides 'q' & 0 \\ +d\_phi & deg,0-180 & Angle corresponding to the vertical angular range to focus to, e.g. detector height. 0 for no focusing & 0 \\ +pack & 1 & Packing factor & 1 \\ +j & 1 & Multiplicity of reflection & 6 \\ +DW & 1 & Debye-Waller factor of reflection & 1 \\ +F2 & barns & Structure factor of reflection & 56.8 \\ +Vc & AA\textasciicircum{}3 & Volume of unit cell & 85.0054 \\ +sigma\_abs & barns & Absorption cross section per unit cell at 2200 m/s & 0.463 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/Powder1.comp}{Source code} for \texttt{Powder1.comp}. + \item \textless{}A HREF="http://neutron.risoe.dk/mcstas/components/tests/powder/"\textgreater{} + \item Test results\textless{}/A\textgreater{} (not up-to-date). + \item See also: Powder1, Powder2 and PowderN +\end{itemize} +\IfFileExists{Powder1_static.tex}{\input{Powder1_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/PowderN.tex b/docs/manuals/mcstas/samples/PowderN.tex index 627cf3f2bd..f92d73f1b1 100644 --- a/docs/manuals/mcstas/samples/PowderN.tex +++ b/docs/manuals/mcstas/samples/PowderN.tex @@ -1,84 +1,113 @@ -\section{PowderN: A general powder sample} -\index{Samples!Powder, multiple diffraction line} -\index{Diffraction} -\index{Sample environments} -\index{Concentric components} -\label{powder} +\section{The \texttt{PowderN} McStas Component} +General powder sample (N lines, single scattering, incoherent scattering) -%\component{Powder\_N}{System}{$radius$, $thickness$, $h$, $xwidth$, $yheight$, $zdepth$, $\sigma_\textrm{abs}$, -% $\sigma_\textrm{inc}$, $Vc$, $f_\textrm{pack}$, reflections, format, DW, concentic, and more}{}{} -\mcdoccomp{samples/PowderN.parms} - -The powder diffraction component \textbf{PowderN} models a powder sample -with background coming only from incoherent scattering and no -multiple scattering. At the users choice, a given percentage of the incoming -events may be transmitted (attenuated) to model the direct beam. The component can also -assume \emph{concentric} shape, i.e. be used for describing sample environment (cryostat, -sample container etc.). - -The description of the powder comes from a file in one of the standard output formats LAZY, FULLPROF, or CRYSTALLOGRAPHICA. - -A usage example of this component can be found in the \\ -\verb+Neutron site/Tutorial/templateDIFF+ instrument from the \verb+mcgui+. - -\subsection{Files formats: powder structures} - -Data files of type \verb'lau' and \verb'laz' in the \MCS distribution data directory are self-documented in their header. A list of common powder definition files is available in Table \ref{t:powders-data} (page \pageref{t:powders-data}). They do not need any additional parameters to be used, as in the example: -\begin{lstlisting} - PowderN(, filename="Al.laz") -\end{lstlisting} -Other column-based file formats may also be imported e.g. with parameters such as: -\begin{lstlisting} - format=Crystallographica - format=Fullprof - format={1,2,3,4,0,0,0,0} -\end{lstlisting} -In the latter case, the indices define order of columns parameters -multiplicity, lattice spacing, $F^2$, Debye-Waller factor and intrinsic line width. - -The column signification may as well explicitely be set in the data file header using any of the lines: -\begin{lstlisting} - #column_j - #column_d - #column_F2 - #column_F - #column_DW - #column_Dd - #column_inv2d - #column_q -\end{lstlisting} +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} P. Willendrup, L. Chapon, K. Lefmann, A.B.Abrahamsen, N.B.Christensen, E.M.Lauridsen. + \item \textbf{Origin:} McStas release + \item \textbf{Date:} 4.2.98 +\end{itemize} -Other component parameters may as well be specified in the data file -header with lines e.g.: +\subsection*{Description} \begin{lstlisting} - #V_rho - #Vc - #sigma_abs - #sigma_inc - #Debye_Waller - #Delta_d/d - #density - #weight - #nb_atoms -\end{lstlisting} - -Further details on file formats are available in the \verb+mcdoc+ page -of the component. - -\subsection{Geometry, physical properties, concentricity} -The sample has the shape of a solid cylinder, radius $r$ and height $h$ or a box-shaped -sample of size $xwidth$ x $yheight$ x $zdepth$. At the users choice, an inner 'hollow' can be -specified using the parameter $thickness$. - +General powder sample with +many scattering vectors +possibility for intrinsic line broadening +incoherent elastic background ratio is specified by user +No multiple scattering. No secondary extinction. + +Based on Powder1/Powder2/Single_crystal. +Geometry is a powder filled cylinder, sphere, box or any shape from an OFF file. +Incoherent scattering is only provided here to account for a background. +The efficient is highly improved when restricting the vertical scattering +range on the Debye-Scherrer cone (with 'd_phi' and 'focus_flip'). +The unit cell volume Vc may also be computed when giving the density, +the atomic/molecular weight and the number of atoms per unit cell. +A simple strain handling is available by mean of either a global Strain parameter, +or a column with a strain value per Bragg reflection. The strain values are +specified in ppm (1e-6). +The Single_crystal component can also handle a powder mode, as well as an +approximated texture. + +Sample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape. +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF_file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the PLY, OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +If you use this component and produce valuable scientific results, please +cite authors with references bellow (in Links). + +Example: PowderN(reflections = "c60.lau", d_phi = 15 , radius = 0.01, +yheight = 0.05, Vc = 1076.89, sigma_abs = 0, delta_d_d=0, DW=1)) + +Powder definition file format +Powder structure is specified with an ascii data file 'reflections'. +The powder data are free-text column based files. +The reflection list should be ordered by decreasing d-spacing values. +... d ... F2 +Lines begining by '#' are read as comments (ignored) but they may contain +the following keywords (in the header): +#Vc +#sigma_abs +#sigma_inc +#Debye_Waller +#delta_d_d/d +These values are not read if entered as component parameters (Vc=...) + +The signification of the columns in the numerical block may be +set using the 'format' parameter, by defining signification of the +columns as a vector of indexes in the order +format={j,d,F2,DW,delta_d_d/d,1/2d,q,F,Strain} + +Signification of the symbols is given below. Indices start at 1. +Indices with zero means that the column are not present, so that: +Crystallographica={ 4,5,7,0,0,0,0,0,0 } +Fullprof ={ 4,0,8,0,0,5,0,0,0 } +Lazy ={17,6,0,0,0,0,0,13,0} + +At last, the format may be overridden by direct definition of the +column indexes in the file itself by using the following keywords +in the header (e.g. '#column_j 4'): +#column_j +#column_d +#column_F2 +#column_F +#column_DW +#column_Dd +#column_inv2d +#column_q +#column_strain + +Last, CIF, FullProf and ShelX files can be read, and converted to F2(hkl) lists +if 'cif2hkl' is installed. The CIF2HKL env variable can be used to point to a +proper executable, else the McCode, then the system installed versions are used. + +Concentricity + +PowderN assumes 'concentric' shape, i.e. can contain other components inside its +optional inner hollow. Example, Sample in Al cryostat: -As the Isotropic\_Sqw component~\ref{s:isotropic-sqw}, PowderN assumes \emph{concentric} shape, i.e. -can contain other components inside the inner hollow. To allow this, two almost identical copies -of the PowderN components must be set up \emph{around} the internal component(s), for example: - -\begin{lstlisting} COMPONENT Cryo = PowderN(reflections="Al.laz", radius = 0.01, thickness = 0.001, - concentric = 1) +concentric = 1, p_interact=0.1) AT (0,0,0) RELATIVE Somewhere COMPONENT Sample = some_other_component(with geometry FULLY enclosed in the hollow) @@ -86,182 +115,69 @@ \subsection{Geometry, physical properties, concentricity} COMPONENT Cryo2 = COPY(Cryo)(concentric = 0) AT (0,0,0) RELATIVE Somewhere -\end{lstlisting} - -As outlined, the first instance of PowderN \emph{must} have \verb+concentric = 1+ and the instance \emph{must} -have \verb+concentric = 0+. Furthermore, the component(s) inside the hollow \emph{must} have a geometry which can -be fully contained inside the hollow. - - -In addition to the coherent scattering specified in the \verb+reflections+ file, absorption- and incoherent -cross sections can be given using the input parameters $\sigma_c^a$ and $\sigma_i^s$. - - -The Bragg scattering from the powder, -$\sigma_c^s$ is calculated from the input file, with the parameters -$Q$, $|F(Q)|^2$, and $j$ for the scattering vector, structure factor, and -multiplicity, respectively. The volume of the unit cell is denoted $Vc$, -while the sample packing factor is $f_\textrm{pack}$. - -%Further, the incoherent scattering is only taken into account -%by the attenuation of the beam, given by (\ref{e:attenu}) -%and $\sigma_c^a$. -%The incoherently scattered neutrons are not -%propagated through to the detector, but rather not generated at all. -Focusing is performed by only scattering into one angular -interval, $d\phi$ of the Debye-Scherrer circle. The center of this -interval is located at the point where the Debye-Scherrer circle -intersects the half-plane defined by the initial velocity, $\textbf{v}_\textrm{i}$, -and a user-specified vector, \textbf{f}. +(The second instance of the cryostat component can also be written out completely +using PowderN(...). In both cases, this second instance needs concentric = 0.) +The concentric arrangment can not be used with OFF geometry specification. -%The input parameters for this component are -% -%\begin{lstlisting}\begin{tabular}{ccl} -%$r$ & m & Radius of cylinder \\ -%$h$ & m & Height of cylinder \\ -%$\sigma_c^a$ & fm$^2$ & Absorption cross section per unit cell (at 2200 m/s) \\ -%$\sigma_{i,c}^s$ & (fm)$^2$ & Incoherent scattering cross section per unit cell \\ -%$\rho'/\rho$ & 1 & Packing factor \\ -%$V_c$ & \AA$^3$ & Volume of unit cell \\ -%$\textbf{Q}$ & \AA$^{-1}$ & The reciprocal lattice vector under consideration \\ -%$|F(\textbf{Q}_j)|^2$ & (fm)$^2$ & -% Structure factor \\ -%$j$ & 1 & Multiplicity of reflection \\ -%$\exp(-2W)$ & 1 & Debye-Waller factor \\ -%$d\phi$ & deg & Angular interval of focusing \\ -%$f_x$ & m & \\ -%$f_y$ & m & Focusing vector\\ -%$f_z$ & m & \\ -%\end{tabular}\end{lstlisting} - -\subsection{Powder scattering} -An ideal powder sample consists of many small -crystallites, although each crystallite is sufficiently -large not to cause measurable size broadening. -The orientation of the crystallites is evenly distributed, -and there is thus always a large number of -crystallites oriented to fulfill the Bragg condition -\begin{equation} \label{Bragg} -n \lambda = 2 d \sin \theta , -\end{equation} -where $n$ is the order of the scattering (an integer), $\lambda$ -is the neutron wavelength, $d$ is the lattice spacing of the sample, -and $2 \theta$ is the scattering angle, see figure \ref{coneFig}. -As all crystal orientations -are realised in a powder sample, the neutrons are scattered within a -{\em Debye-Scherrer cone} of opening angle $4 \theta$ \cite{bacon}. - -\begin{figure} - \begin{center} - \psfrag{2theta}[c][c]{$2\theta$} - \includegraphics[width=0.6\textwidth]{figures/powder} - \end{center} -\caption{The scattering geometry of a powder sample showing part of the -Debye-Scherrer cone (solid lines) and the Debye-Scherrer circle (grey).} -\label{coneFig} -\end{figure} - -Equation (\ref{Bragg}) may be cast into the form -\begin{equation} -|\textbf{Q}| = 2 |\textbf{k}| \sin \theta , -\end{equation} -where \textbf{Q} is a vector of the reciprocal lattice, and \textbf{k} is -the wave vector of the neutron. It is seen that only -reciprocal vectors fulfilling $|\textbf{Q}| < 2 |\textbf{k}|$ -contribute to the scattering. -For a complete treatment of the powder sample, one needs to take -into account all these \textbf{Q}-values, since each of them contribute -to the attenuation. - -The strength of the Bragg reflections is given by their structure factors -\begin{equation} - \left| \sum_j b_j \exp(\textbf{R}_j \cdot \textbf{Q}) \right|^2 , -\end{equation} -where the sum runs over all atoms in one unit cell. This structure factor is -non-zero only when $Q$ equals a reciprocal lattice vector. - -The textbook expression for the scattering cross section -corresponding to one Debye-Scherrer cone reads \cite[ch.3.6]{squires}, with $V=N V_0$ being the total sample volume: -\begin{equation} -\sigma_\textrm{cone} - = \frac{V}{V_0^2} \frac{\lambda^3}{4 \sin \theta} \sum_Q |F(Q)|^2 . -\end{equation} -For our purpose, this expression should be changed slightly. -Firstly, the sum over structure factors for a particular $Q$ is replaced -by the sum over essentially different reflections multiplied by their -multiplicity, $j$. Then, a finite packing factor, $f$, is defined for the powder, -and finally, the Debye-Waller factor is multiplied on the elastic cross section -to take lattice vibrations into account (no inelastic background is simulated, -however). We then reach -\begin{eqnarray} -\sigma_\textrm{cone, Q} - & = & j_Q f \exp(-2W) \frac{V}{V_0^2} \frac{\lambda^3}{4 \sin \theta} |F(Q)|^2 \\ - & = & f \exp(-2W) \frac{N}{V_0} \frac{4\pi^3}{k^2} \frac{j_Q |F(Q)|^2}{Q} -\end{eqnarray} -in the thin sample approximation. For samples of finite thickness, the -beam is being attenuated by the attenuation coefficient -\begin{equation} -\label{e:attenu} -\mu_\textrm{Q} = \sigma_\textrm{cone,Q} / V . -\end{equation} -For calibration it may be useful to consider the total intensity -scattered into a detector of effective height $h$, covering only -one reflection \cite[ch.3.6]{squires}. -A cut though the Debye-Scherrer cone perpendicular to its axis -is a circle. At the distance $r$ from the sample, the radius of this -circle is $r \sin(2\theta)$. Thus, the detector (in a small angle -approximation) counts a fraction $h / (2 \pi r \sin(2 \theta))$ -of the scattered neutrons, giving a resulting count intensity: -\begin{equation} -I = \Psi \sigma_\textrm{cone,Q} \frac{h}{2 \pi r \sin(2\theta)} , -\end{equation} -where $\Psi$ is the flux at the sample position. - -For clarity we repeat the meaning and unit of the symbols: -% -\begin{lstlisting} -\begin{tabular}{ccl} -$\Psi$ & s$^{-1}$m$^{-2}$ & Incoming intensity of neutrons \\ -$I$ & s$^{-1}$ & Detected intensity of neutrons \\ -$h$ & m & Height of detector \\ -$r$ & m & Distance from sample to detector \\ -$f$ & 1 & Packing factor of the powder \\ -$j$ & 1 & Multiplicity of the reflection \\ -$V_0$ & m$^{3}$ & Volume of unit cell\\ -$|F(\textbf{Q})|^2$ & m$^2$ & Structure factor \\ -$\exp(-2W)$ & 1 & Debye-Waller factor \\ -$\mu_\textrm{Q}$ & m$^{-1}$ & Linear attenuation factor due to scattering from -one powder line. \\ -\end{tabular} +This sample component can advantageously benefit from the SPLIT feature, e.g. +SPLIT COMPONENT pow = PowderN(...) \end{lstlisting} -% -%Often, one defines the {\em scattering power} as -%\begin{equation} -%Q \equiv N^2 \frac{|F(\textbf{Q})|^2 \lambda^3}{V \sin(2\theta)} -% = N_c^2 V \frac{\rho'}{\rho} \frac{|F(\textbf{Q})|^2 \lambda^3}{\sin(2\theta)} , -%\end{equation} -%where $N$ is the number of unit cells. -A powder sample will in general have several allowed reflections -$\textbf{Q}_j$, which will all contribute to the attenuation. -These reflections will have different values of -$|F(\textbf{Q}_j)|^2$ (and hence of $Q_j$), $j_j$, $\exp(-2W_j)$, -and $\theta_j$. -The total attenuation through the sample due to scattering is given by -$\mu^s = \mu_\textrm{inc}^s + \sum_j \mu^s_j $, -where $\mu_\textrm{inc}^s$ represents the incoherent scattering. - -\subsection{Algorithm} -The algorithm of \textbf{PowderN} can be summarized as +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflections & string & Input file for reflections (LAZ LAU CIF, FullProf, ShelX). Use only incoherent scattering if NULL or "" & "NULL" \\ +geometry & str & Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust. & "NULL" \\ +format & no quotes & Name of the format, or list of column indexes (see Description). & \{0, 0, 0, 0, 0, 0, 0, 0, 0\} \\ +radius & m & Outer radius of sample in (x,z) plane & 0 \\ +yheight & m & Height of sample y direction & 0 \\ +xwidth & m & Horiz. dimension of sample, as a width & 0 \\ +zdepth & m & Depth of box sample & 0 \\ +thickness & m & Thickness of hollow sample. Negative value extends the hollow volume outside of the box/cylinder. & 0 \\ +pack & 1 & Packing factor. & 1 \\ +Vc & AA\textasciicircum{}3 & Volume of unit cell=nb atoms per cell/density of atoms. & 0 \\ +sigma\_abs & barns & Absorption cross section per unit cell at 2200 m/s. Use a negative value to inactivate it. & 0 \\ +sigma\_inc & barns & Incoherent cross section per unit cell. Use a negative value to inactivate it. & 0 \\ +delta\_d\_d & 0/1 & Global relative delta\_d\_d/d broadening when the 'w' column is not available. Use 0 if ideal. & 0 \\ +p\_inc & 1 & Fraction of incoherently scattered neutron rays. & 0.1 \\ +p\_transmit & 1 & Fraction of transmitted (only attenuated) neutron rays. & 0.1 \\ +DW & 1 & Global Debye-Waller factor when the 'DW' column is not available. Use 1 if included in F2 & 0 \\ +nb\_atoms & 1 & Number of sub-unit per unit cell, that is ratio of sigma for chemical formula to sigma per unit cell & 1 \\ +d\_omega & deg & Horizontal focus range (only for incoherent scattering), 0 for no focusing. & 0 \\ +d\_phi & deg & Angle corresponding to the vertical angular range to focus to, e.g. detector height. 0 for no focusing. & 0 \\ +tth\_sign & 1 & Sign of the scattering angle. If 0, the sign is chosen randomly (left and right). ONLY functional in combination with d\_phi and ONLY applies to bragg lines. & 0 \\ +p\_interact & 1 & Fraction of events interacting coherently with sample. & 0.8 \\ +concentric & 1 & Indicate that this component has a hollow geometry and may contain other components. It should then be duplicated after the inside part (only for box, cylinder, sphere). & 0 \\ +density & g/cm\textasciicircum{}3 & Density of material. rho=density/weight/1e24*N\_A. & 0 \\ +weight & g/mol & Atomic/molecular weight of material. & 0 \\ +barns & 1 & Flag to indicate if |F|\textasciicircum{}2 from 'reflections' is in barns or fm\textasciicircum{}2 (barns=1 for laz, barns=0 for lau type files). & 1 \\ +Strain & ppm & Global relative delta\_d\_d/d shift when the 'Strain' column is not available. Use 0 if ideal. & 0 \\ +focus\_flip & 1 & Controls the sense of d\_phi. If 0 d\_phi is measured against the xz-plane. If !=0 d\_phi is measured against zy-plane. & 0 \\ +target\_index & 1 & Relative index of component to focus incoherent scattering at, e.g. next is +1 & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} \begin{itemize} -\item Check if the neutron ray intersects the sample (otherwise ignore -the following). -\item Calculate the attenuation coefficients for scattering and absorption. -\item Perform Monte Carlo choices to determine the scattering position, -scattering type (coherent/incoherent), and the outgoing direction. -\item Perform the necessary weight factor transformation. + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/PowderN.comp}{Source code} for \texttt{PowderN.comp}. + \item "Validation of a realistic powder sample using data from DMC at PSI" Willendrup P, Filges U, Keller L, Farhi E, Lefmann K, Physica B-Cond Matt 385 (2006) 1032. + \item See also: Powder1, Single\_crystal + \item See \textless{}a href="http://icsd.ill.fr"\textgreater{}ICSD\textless{}/a\textgreater{} Inorganic Crystal Structure Database + \item \textless{}a href="http://www.ncnr.nist.gov/resources/n-lengths/"\textgreater{}Cross sections for single elements\textless{}/a\textgreater{} + \item \textless{}a href="http://www.ncnr.nist.gov/resources/sldcalc.html\textgreater{}Cross sections for compounds\textless{}/a\textgreater{} + \item \textless{}a href="http://www.webelements.com/"\textgreater{}Web Elements\textless{}/a\textgreater{} + \item \textless{}a href="http://www.ill.eu/sites/fullprof/index.html"\textgreater{}Fullprof\textless{}/a\textgreater{} powder refinement + \item \textless{}a href="http://www.crystallographica.com/"\textgreater{}Crystallographica\textless{}/a\textgreater{} software (free license) + \item \textless{}a href="http://www.geomview.org"\textgreater{}Geomview and Object File Format (OFF)\textless{}/a\textgreater{} + \item Java version of Geomview (display only) \textless{}a href="http://www.holmes3d.net/graphics/roffview/"\textgreater{}jroff.jar\textless{}/a\textgreater{} + \item \textless{}a href="http://qhull.org"\textgreater{}qhull\textless{}/a\textgreater{} + \item \textless{}a href="http://www.cs.ucdavis.edu/\textasciitilde{}amenta/powercrust.html"\textgreater{}powercrust\textless{}/a\textgreater{} \end{itemize} - -%\subsection{Calculating the weight factor} +\IfFileExists{PowderN_static.tex}{\input{PowderN_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/PowderN_static.tex b/docs/manuals/mcstas/samples/PowderN_static.tex new file mode 100644 index 0000000000..0da4883a9a --- /dev/null +++ b/docs/manuals/mcstas/samples/PowderN_static.tex @@ -0,0 +1,267 @@ +\section{PowderN: A general powder sample} +\index{Samples!Powder, multiple diffraction line} +\index{Diffraction} +\index{Sample environments} +\index{Concentric components} +\label{powder} + +%\component{Powder\_N}{System}{$radius$, $thickness$, $h$, $xwidth$, $yheight$, $zdepth$, $\sigma_\textrm{abs}$, +% $\sigma_\textrm{inc}$, $Vc$, $f_\textrm{pack}$, reflections, format, DW, concentic, and more}{}{} +%\mcdoccomp{samples/PowderN.parms} + +The powder diffraction component \textbf{PowderN} models a powder sample +with background coming only from incoherent scattering and no +multiple scattering. At the users choice, a given percentage of the incoming +events may be transmitted (attenuated) to model the direct beam. The component can also +assume \emph{concentric} shape, i.e. be used for describing sample environment (cryostat, +sample container etc.). + +The description of the powder comes from a file in one of the standard output formats LAZY, FULLPROF, or CRYSTALLOGRAPHICA. + +A usage example of this component can be found in the \\ +\verb+Neutron site/Tutorial/templateDIFF+ instrument from the \verb+mcgui+. + +\subsection{Files formats: powder structures} + +Data files of type \verb'lau' and \verb'laz' in the \MCS distribution data directory are self-documented in their header. A list of common powder definition files is available in Table \ref{t:powders-data} (page \pageref{t:powders-data}). They do not need any additional parameters to be used, as in the example: +\begin{lstlisting} + PowderN(, filename="Al.laz") +\end{lstlisting} +Other column-based file formats may also be imported e.g. with parameters such as: +\begin{lstlisting} + format=Crystallographica + format=Fullprof + format={1,2,3,4,0,0,0,0} +\end{lstlisting} +In the latter case, the indices define order of columns parameters +multiplicity, lattice spacing, $F^2$, Debye-Waller factor and intrinsic line width. + +The column signification may as well explicitely be set in the data file header using any of the lines: +\begin{lstlisting} + #column_j + #column_d + #column_F2 + #column_F + #column_DW + #column_Dd + #column_inv2d + #column_q +\end{lstlisting} + +Other component parameters may as well be specified in the data file +header with lines e.g.: +\begin{lstlisting} + #V_rho + #Vc + #sigma_abs + #sigma_inc + #Debye_Waller + #Delta_d/d + #density + #weight + #nb_atoms +\end{lstlisting} + +Further details on file formats are available in the \verb+mcdoc+ page +of the component. + +\subsection{Geometry, physical properties, concentricity} +The sample has the shape of a solid cylinder, radius $r$ and height $h$ or a box-shaped +sample of size $xwidth$ x $yheight$ x $zdepth$. At the users choice, an inner 'hollow' can be +specified using the parameter $thickness$. + + +As the Isotropic\_Sqw component~\ref{s:isotropic-sqw}, PowderN assumes \emph{concentric} shape, i.e. +can contain other components inside the inner hollow. To allow this, two almost identical copies +of the PowderN components must be set up \emph{around} the internal component(s), for example: + + +\begin{lstlisting} +COMPONENT Cryo = PowderN(reflections="Al.laz", radius = 0.01, thickness = 0.001, + concentric = 1) +AT (0,0,0) RELATIVE Somewhere + +COMPONENT Sample = some_other_component(with geometry FULLY enclosed in the hollow) +AT (0,0,0) RELATIVE Somewhere + +COMPONENT Cryo2 = COPY(Cryo)(concentric = 0) +AT (0,0,0) RELATIVE Somewhere +\end{lstlisting} + +As outlined, the first instance of PowderN \emph{must} have \verb+concentric = 1+ and the instance \emph{must} +have \verb+concentric = 0+. Furthermore, the component(s) inside the hollow \emph{must} have a geometry which can +be fully contained inside the hollow. + + +In addition to the coherent scattering specified in the \verb+reflections+ file, absorption- and incoherent +cross sections can be given using the input parameters $\sigma_c^a$ and $\sigma_i^s$. + + +The Bragg scattering from the powder, +$\sigma_c^s$ is calculated from the input file, with the parameters +$Q$, $|F(Q)|^2$, and $j$ for the scattering vector, structure factor, and +multiplicity, respectively. The volume of the unit cell is denoted $Vc$, +while the sample packing factor is $f_\textrm{pack}$. + + +%Further, the incoherent scattering is only taken into account +%by the attenuation of the beam, given by (\ref{e:attenu}) +%and $\sigma_c^a$. +%The incoherently scattered neutrons are not +%propagated through to the detector, but rather not generated at all. + +Focusing is performed by only scattering into one angular +interval, $d\phi$ of the Debye-Scherrer circle. The center of this +interval is located at the point where the Debye-Scherrer circle +intersects the half-plane defined by the initial velocity, $\textbf{v}_\textrm{i}$, +and a user-specified vector, \textbf{f}. + +%The input parameters for this component are +% +%\begin{lstlisting}\begin{tabular}{ccl} +%$r$ & m & Radius of cylinder \\ +%$h$ & m & Height of cylinder \\ +%$\sigma_c^a$ & fm$^2$ & Absorption cross section per unit cell (at 2200 m/s) \\ +%$\sigma_{i,c}^s$ & (fm)$^2$ & Incoherent scattering cross section per unit cell \\ +%$\rho'/\rho$ & 1 & Packing factor \\ +%$V_c$ & \AA$^3$ & Volume of unit cell \\ +%$\textbf{Q}$ & \AA$^{-1}$ & The reciprocal lattice vector under consideration \\ +%$|F(\textbf{Q}_j)|^2$ & (fm)$^2$ & +% Structure factor \\ +%$j$ & 1 & Multiplicity of reflection \\ +%$\exp(-2W)$ & 1 & Debye-Waller factor \\ +%$d\phi$ & deg & Angular interval of focusing \\ +%$f_x$ & m & \\ +%$f_y$ & m & Focusing vector\\ +%$f_z$ & m & \\ +%\end{tabular}\end{lstlisting} + +\subsection{Powder scattering} +An ideal powder sample consists of many small +crystallites, although each crystallite is sufficiently +large not to cause measurable size broadening. +The orientation of the crystallites is evenly distributed, +and there is thus always a large number of +crystallites oriented to fulfill the Bragg condition +\begin{equation} \label{Bragg} +n \lambda = 2 d \sin \theta , +\end{equation} +where $n$ is the order of the scattering (an integer), $\lambda$ +is the neutron wavelength, $d$ is the lattice spacing of the sample, +and $2 \theta$ is the scattering angle, see figure \ref{coneFig}. +As all crystal orientations +are realised in a powder sample, the neutrons are scattered within a +{\em Debye-Scherrer cone} of opening angle $4 \theta$ \cite{bacon}. + +\begin{figure} + \begin{center} + \psfrag{2theta}[c][c]{$2\theta$} + \includegraphics[width=0.6\textwidth]{figures/powder} + \end{center} +\caption{The scattering geometry of a powder sample showing part of the +Debye-Scherrer cone (solid lines) and the Debye-Scherrer circle (grey).} +\label{coneFig} +\end{figure} + +Equation (\ref{Bragg}) may be cast into the form +\begin{equation} +|\textbf{Q}| = 2 |\textbf{k}| \sin \theta , +\end{equation} +where \textbf{Q} is a vector of the reciprocal lattice, and \textbf{k} is +the wave vector of the neutron. It is seen that only +reciprocal vectors fulfilling $|\textbf{Q}| < 2 |\textbf{k}|$ +contribute to the scattering. +For a complete treatment of the powder sample, one needs to take +into account all these \textbf{Q}-values, since each of them contribute +to the attenuation. + +The strength of the Bragg reflections is given by their structure factors +\begin{equation} + \left| \sum_j b_j \exp(\textbf{R}_j \cdot \textbf{Q}) \right|^2 , +\end{equation} +where the sum runs over all atoms in one unit cell. This structure factor is +non-zero only when $Q$ equals a reciprocal lattice vector. + +The textbook expression for the scattering cross section +corresponding to one Debye-Scherrer cone reads \cite[ch.3.6]{squires}, with $V=N V_0$ being the total sample volume: +\begin{equation} +\sigma_\textrm{cone} + = \frac{V}{V_0^2} \frac{\lambda^3}{4 \sin \theta} \sum_Q |F(Q)|^2 . +\end{equation} +For our purpose, this expression should be changed slightly. +Firstly, the sum over structure factors for a particular $Q$ is replaced +by the sum over essentially different reflections multiplied by their +multiplicity, $j$. Then, a finite packing factor, $f$, is defined for the powder, +and finally, the Debye-Waller factor is multiplied on the elastic cross section +to take lattice vibrations into account (no inelastic background is simulated, +however). We then reach +\begin{eqnarray} +\sigma_\textrm{cone, Q} + & = & j_Q f \exp(-2W) \frac{V}{V_0^2} \frac{\lambda^3}{4 \sin \theta} |F(Q)|^2 \\ + & = & f \exp(-2W) \frac{N}{V_0} \frac{4\pi^3}{k^2} \frac{j_Q |F(Q)|^2}{Q} +\end{eqnarray} +in the thin sample approximation. For samples of finite thickness, the +beam is being attenuated by the attenuation coefficient +\begin{equation} +\label{e:attenu} +\mu_\textrm{Q} = \sigma_\textrm{cone,Q} / V . +\end{equation} +For calibration it may be useful to consider the total intensity +scattered into a detector of effective height $h$, covering only +one reflection \cite[ch.3.6]{squires}. +A cut though the Debye-Scherrer cone perpendicular to its axis +is a circle. At the distance $r$ from the sample, the radius of this +circle is $r \sin(2\theta)$. Thus, the detector (in a small angle +approximation) counts a fraction $h / (2 \pi r \sin(2 \theta))$ +of the scattered neutrons, giving a resulting count intensity: +\begin{equation} +I = \Psi \sigma_\textrm{cone,Q} \frac{h}{2 \pi r \sin(2\theta)} , +\end{equation} +where $\Psi$ is the flux at the sample position. + +For clarity we repeat the meaning and unit of the symbols: +% +\begin{lstlisting} +\begin{tabular}{ccl} +$\Psi$ & s$^{-1}$m$^{-2}$ & Incoming intensity of neutrons \\ +$I$ & s$^{-1}$ & Detected intensity of neutrons \\ +$h$ & m & Height of detector \\ +$r$ & m & Distance from sample to detector \\ +$f$ & 1 & Packing factor of the powder \\ +$j$ & 1 & Multiplicity of the reflection \\ +$V_0$ & m$^{3}$ & Volume of unit cell\\ +$|F(\textbf{Q})|^2$ & m$^2$ & Structure factor \\ +$\exp(-2W)$ & 1 & Debye-Waller factor \\ +$\mu_\textrm{Q}$ & m$^{-1}$ & Linear attenuation factor due to scattering from +one powder line. \\ +\end{tabular} +\end{lstlisting} +% +%Often, one defines the {\em scattering power} as +%\begin{equation} +%Q \equiv N^2 \frac{|F(\textbf{Q})|^2 \lambda^3}{V \sin(2\theta)} +% = N_c^2 V \frac{\rho'}{\rho} \frac{|F(\textbf{Q})|^2 \lambda^3}{\sin(2\theta)} , +%\end{equation} +%where $N$ is the number of unit cells. + +A powder sample will in general have several allowed reflections +$\textbf{Q}_j$, which will all contribute to the attenuation. +These reflections will have different values of +$|F(\textbf{Q}_j)|^2$ (and hence of $Q_j$), $j_j$, $\exp(-2W_j)$, +and $\theta_j$. +The total attenuation through the sample due to scattering is given by +$\mu^s = \mu_\textrm{inc}^s + \sum_j \mu^s_j $, +where $\mu_\textrm{inc}^s$ represents the incoherent scattering. + +\subsection{Algorithm} +The algorithm of \textbf{PowderN} can be summarized as +\begin{itemize} +\item Check if the neutron ray intersects the sample (otherwise ignore +the following). +\item Calculate the attenuation coefficients for scattering and absorption. +\item Perform Monte Carlo choices to determine the scattering position, +scattering type (coherent/incoherent), and the outgoing direction. +\item Perform the necessary weight factor transformation. +\end{itemize} + +%\subsection{Calculating the weight factor} diff --git a/docs/manuals/mcstas/samples/Res_sample.tex b/docs/manuals/mcstas/samples/Res_sample.tex new file mode 100644 index 0000000000..3d3c7c9fc4 --- /dev/null +++ b/docs/manuals/mcstas/samples/Res_sample.tex @@ -0,0 +1,66 @@ +\section{The \texttt{Res\_sample} McStas Component} +Sample for resolution function calculation. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 1999 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An inelastic sample with completely uniform scattering in both Q and +energy. This sample is used together with the Res_monitor component and +(optionally) the mcresplot front-end to compute the resolution function of +triple-axis or inverse-geometry time-of-flight instruments. + +The shape of the sample is either a hollow cylinder or a rectangular box. The +hollow cylinder shape is specified with an inner and outer radius. +The box is specified with dimensions xwidth, yheight, zdepth. + +The scattered neutrons will have directions towards a given disk and +energies betweed E0-dE and E0+dE. +This target area may also be rectangular if specified focus_xw and focus_yh +or focus_aw and focus_ah, respectively in meters and degrees. +The target itself is either situated according to given coordinates (x,y,z), or +setting the relative target_index of the component to focus at (next is +1). +This target position will be set to its AT position. When targeting to centered +components, such as spheres or cylinders, define an Arm component where to focus at. + +Example: Res_sample(thickness=0.001,radius=0.02,yheight=0.4,focus_r=0.05, E0=14.6,dE=2, target_x=0, target_y=0, target_z=1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +thickness & m & Thickness of hollow cylinder in (x,z) plane & 0 \\ +radius & m & Outer radius of hollow cylinder & 0.01 \\ +focus\_r & m & Radius of sphere containing target. & 0.05 \\ +E0 & meV & Center of scattered energy range & 14 \\ +dE & meV & half width of scattered energy range & 2 \\ +target\_x & m & X-position of target to focus at [m] & 0 \\ +target\_y & m & Y-position of target to focus at & 0 \\ +target\_z & m & Z-position of target to focus at [m] & .5 \\ +focus\_xw & m & horiz. dimension of a rectangular area & 0 \\ +focus\_yh & m & vert. dimension of a rectangular area & 0 \\ +focus\_aw & deg & horiz. angular dimension of a rectangular area & 0 \\ +focus\_ah & deg & vert. angular dimension of a rectangular area & 0 \\ +xwidth & m & horiz. dimension of sample, as a width & 0 \\ +yheight & m & vert. dimension of sample, as a height & 0.05 \\ +zdepth & m & depth of sample & 0 \\ +target\_index & 1 & relative index of component to focus at, e.g. next is +1 & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/Res_sample.comp}{Source code} for \texttt{Res\_sample.comp}. +\end{itemize} +\IfFileExists{Res_sample_static.tex}{\input{Res_sample_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/SANS_spheres2.tex b/docs/manuals/mcstas/samples/SANS_spheres2.tex new file mode 100644 index 0000000000..59ebf67266 --- /dev/null +++ b/docs/manuals/mcstas/samples/SANS_spheres2.tex @@ -0,0 +1,56 @@ +\section{The \texttt{SANS\_spheres2} McStas Component} +Sample for Small Angle Neutron Scattering - hard spheres in thin solution, mono disperse. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} P. Willendrup, derived from H. Frielinghaus SANS\_benchmark2 + \item \textbf{Origin:} DTU + \item \textbf{Date:} 16.12.2019 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Sample for Small Angle Neutron Scattering - hard spheres in thin solution, mono disperse. + +For the scattering simulation a high fraction of neutron paths is directed to the scattering (exact fraction is sc_aim). +The remaining paths are used for the transmitted beams. The absolute intensities are treated accordingly, and the p-parameter is set accordingly. + +For the scattering probability, the integral of the scattering function between Q = 0.0001 and 1.0 AA-1 is calculated. +This is used in terms of transmisson, and of course for the scattering probability. +In this way, multiple scattering processes could be treated as well. + +The typical SANS range was considered to be between 0.0001 and 1.0 AA-1. +This means that the scattered neutrons are equally distributed in this range on logarithmic Q-scales. + +Example: SANS_spheres2(xwidth=0.01, yheight=0.01, zthick=0.001, model=1.0, dsdw_inc=0.02, sc_aim=0.97, sans_aim=0.95, R-150) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +xwidth & m & Width of sample volume & 0.01 \\ +yheight & m & Height of sample volume & 0.01 \\ +zthick & m & Thickness of sample volume & 0.001 \\ +dsdw\_inc & cm\textasciicircum{}-1 & The incoherent background from the overall sample, should read ca. 1.0 for water, 0.5 for half D2O, half H2O, and ca. 0.02 for D2O & 0.02 \\ +sc\_aim & 1 & The fraction of neutron paths used to represent the scattered neutrons (including everything: incoherent and coherent). rest is transmission. & 0.97 \\ +sans\_aim & 1 & The fraction of neutron paths used to represent the scattered neutrons in the sans-range (up to 1.0AA-1). rest is incoherent with Q\textgreater{}1AA-1. & 0.95 \\ +R & AA & Radius of dilute, monodisperse spheres & 150 \\ +phi & 1 & Volume-ratio of the spheres wrt. solution & 1e-3 \\ +drho & cm\textasciicircum{}-2 & Scattering length density & 6e10 \\ +singlesp & 1 & Switches between multiple scattering (parameter zero 0.0) and single scattering (parameter 1.0). The sc\_aim directs a fraction of paths to the first scattering process accordingly. The no. of paths for the second scattering process is derived from the real probability. Up to 10 scattering processes are considered. & 1 \\ +Qmind & AA\textasciicircum{}-1 & Lower limit of "SANS" scattering & 0.0001 \\ +Qmaxd & AA\textasciicircum{}-1 & Upper limit of "SANS" scattering & 2.1544346900319 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/SANS_spheres2.comp}{Source code} for \texttt{SANS\_spheres2.comp}. +\end{itemize} +\IfFileExists{SANS_spheres2_static.tex}{\input{SANS_spheres2_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/Sans_spheres.tex b/docs/manuals/mcstas/samples/Sans_spheres.tex index 0ae589004c..778e553cd8 100644 --- a/docs/manuals/mcstas/samples/Sans_spheres.tex +++ b/docs/manuals/mcstas/samples/Sans_spheres.tex @@ -1,77 +1,55 @@ -\section{Sans\_spheres: A sample of hard spheres for small-angle scattering} -\label{sans} -\index{Samples!Dilute colloid medium} -\index{Diffraction} -\index{Small angle scattering} - -%\component{Sans\_spheres}{(System); Lise Arleth, Veterinary University of Denmark}{$R$, $x_w$, $y_h$, $z_t$, $r$, $\sigma_a$, $\phi$, $\Delta \rho$, $R_\textrm{det}$, $d$}{}{} -\mcdoccomp{samples/Sans_spheres.parms} - -The component \textbf{Sans\_spheres} models a sample of small independent -spheres of radius $R$, which are uniformly distributed -in a rectangular volume $x_w \times y_h \times z_t$ with a volume -fraction $\phi$. The absorption cross section density for the spheres -is $\sigma_a$ (in units of m$^{-1}$), specified -for neutrons at 2200 m/s. Absorption and incoherent scattering -from the medium is neglected. -The difference in scattering length density -(the contrast) between the hard spheres and the medium is called $\Delta \rho$. -$d$ denotes the distance to the (presumed circular) SANS detector of radius $R$. - -A usage example of this component can be found in the \verb+Neutron site/tests/SANS+ instrument from the \verb+mcgui+. - -\subsection{Small-angle scattering cross section} -The neutron intensity scattered into a solid angle $\Delta \Omega$ -for a flat isotropic SANS sample in transmission geometry -is given by \cite{ILLblue}: -\begin{equation} -I_s(q) = \Psi \Delta\Omega T A z_\textrm{max} \frac{d\sigma_v}{d\Omega}(q) , -\end{equation} -where $\Psi$ is the neutron flux, $T$ is the sample transmission, -$A$ is the illuminated sample area, and $z_\textrm{max}$ the length of -the neutron path through the sample. - -In this component, we consider only scattering from a thin solution -of monodisperse hard spheres of radius $R$, where the volume-specific -scattering cross section is given by \cite{ILLblue} -\begin{equation} -\frac{d\sigma_v}{d\Omega}(q) = - n (\Delta\rho)^2 V^2 f(q) , -\end{equation} -where $f(q) = \left( 3\frac{\sin(qR)-qR\cos(qR)}{(qR)^3} \right)^2$, -$n$ is the number density of spheres, and $V = 4 / 3 \pi R^3$ is the -sphere volume. (The density is thus $n = \phi/V$.) - -Multiple scattering is ignored. - -\subsection{Algorithm} -All neutrons, which hit the sample volume, are scattered. -(Hence, no direct beam is simulated.) -For scattered neutrons, the following steps are taken: -\begin{enumerate} -\item Choose a value of $q$ uniformly in the interval $[0;q_\textrm{max}]$. -\item Choose a polar angle, $\alpha$, - for the \textbf{q}-vector uniformly in $[0;\pi]$. -\item Scatter the neutron according to $(q,\alpha)$. -\item Calculate and apply the correct weight factor correction. -\end{enumerate} - -\subsection{Calculating the weight factor} -The scattering position is found by a Monte Carlo choice uniformly -along the whole (unscattered) beam path with the sample, length $l_\textrm{full}$, giving -$f_l = 1/l_\textrm{full}$. The direction focusing on the detector gives -(in an small angle approximation) $f_\Omega = d^2 / (\pi R_\textrm{det}^2)$. - -Hence, the total weight tranformation factor becomes % (more explanation to come) -\begin{equation} -\pi_j = l_\textrm{full} (\pi R_\textrm{det}^2 / d^2)/(4 \pi) - n (\Delta\rho)^2 V^2 f(q) \exp(-\mu_a l) , -\end{equation} -where $\mu_a$ is the linear attenuation factor due to absorption -and $l$ is the total neutron path length within the sample. - -This component does NOT simulate absolute intensities. This latter depends on the detector parameters. \index{Bugs} - -Some alternative implementations exist as contributed components. - -The \verb+SANS+ test/example instrument exists in the distribution for this component. +\section{The \texttt{Sans\_spheres} McStas Component} +Sample for Small Angle Neutron Scattering - hard spheres in thin solution, mono disperse. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} P. Willendrup, K. Lefmann, L. Arleth + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 19.12.2003 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Sample for use in a SANS instrument, models hard, mono disperse spheres in thin solution. +The shape of the sample may be a filled box with dimensions +xwidth, yheight, zdepth, a cylinder with dimensions radius and yheight, +a filled sphere with radius. + +Example: Sans_spheres(R = 100, Phi = 1e-3, Delta_rho = 0.6, sigma_abs = 50, xwidth=0.01, yheight=0.01, zdepth=0.005) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +R & AA & Radius of scattering hard spheres & 100 \\ +Phi & 1 & Particle volume fraction & 1e-3 \\ +Delta\_rho & fm/AA\textasciicircum{}3 & Excess scattering length density & 0.6 \\ +sigma\_abs & m\textasciicircum{}-1 & Absorption cross section density at 2200 m/s & 0.05 \\ +xwidth & m & horiz. dimension of sample, as a width & 0 \\ +yheight & m & vert . dimension of sample, as a height for cylinder/box & 0 \\ +zdepth & m & depth of sample & 0 \\ +radius & m & Outer radius of sample in (x,z) plane for cylinder/sphere & 0 \\ +target\_x & m & & 0 \\ +target\_y & m & position of target to focus at & 0 \\ +target\_z & m & & 6 \\ +target\_index & 1 & Relative index of component to focus at, e.g. next is +1 & 0 \\ +focus\_xw & m & horiz. dimension of a rectangular area & 0 \\ +focus\_yh & m & vert. dimension of a rectangular area & 0 \\ +focus\_aw & deg & horiz. angular dimension of a rectangular area & 0 \\ +focus\_ah & deg & vert. angular dimension of a rectangular area & 0 \\ +focus\_r & m & Detector (disk-shaped) radius & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/Sans_spheres.comp}{Source code} for \texttt{Sans\_spheres.comp}. + \item The test/example instrument \textless{}a href="../examples/SANS.instr"\textgreater{}SANS.instr\textless{}/a\textgreater{}. +\end{itemize} +\IfFileExists{Sans_spheres_static.tex}{\input{Sans_spheres_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/Sans_spheres_static.tex b/docs/manuals/mcstas/samples/Sans_spheres_static.tex new file mode 100644 index 0000000000..2446e4505a --- /dev/null +++ b/docs/manuals/mcstas/samples/Sans_spheres_static.tex @@ -0,0 +1,77 @@ +\section{Sans\_spheres: A sample of hard spheres for small-angle scattering} +\label{sans} +\index{Samples!Dilute colloid medium} +\index{Diffraction} +\index{Small angle scattering} + +%\component{Sans\_spheres}{(System); Lise Arleth, Veterinary University of Denmark}{$R$, $x_w$, $y_h$, $z_t$, $r$, $\sigma_a$, $\phi$, $\Delta \rho$, $R_\textrm{det}$, $d$}{}{} +%\mcdoccomp{samples/Sans_spheres.parms} + +The component \textbf{Sans\_spheres} models a sample of small independent +spheres of radius $R$, which are uniformly distributed +in a rectangular volume $x_w \times y_h \times z_t$ with a volume +fraction $\phi$. The absorption cross section density for the spheres +is $\sigma_a$ (in units of m$^{-1}$), specified +for neutrons at 2200 m/s. Absorption and incoherent scattering +from the medium is neglected. +The difference in scattering length density +(the contrast) between the hard spheres and the medium is called $\Delta \rho$. +$d$ denotes the distance to the (presumed circular) SANS detector of radius $R$. + +A usage example of this component can be found in the \verb+Neutron site/tests/SANS+ instrument from the \verb+mcgui+. + +\subsection{Small-angle scattering cross section} +The neutron intensity scattered into a solid angle $\Delta \Omega$ +for a flat isotropic SANS sample in transmission geometry +is given by \cite{ILLblue}: +\begin{equation} +I_s(q) = \Psi \Delta\Omega T A z_\textrm{max} \frac{d\sigma_v}{d\Omega}(q) , +\end{equation} +where $\Psi$ is the neutron flux, $T$ is the sample transmission, +$A$ is the illuminated sample area, and $z_\textrm{max}$ the length of +the neutron path through the sample. + +In this component, we consider only scattering from a thin solution +of monodisperse hard spheres of radius $R$, where the volume-specific +scattering cross section is given by \cite{ILLblue} +\begin{equation} +\frac{d\sigma_v}{d\Omega}(q) = + n (\Delta\rho)^2 V^2 f(q) , +\end{equation} +where $f(q) = \left( 3\frac{\sin(qR)-qR\cos(qR)}{(qR)^3} \right)^2$, +$n$ is the number density of spheres, and $V = 4 / 3 \pi R^3$ is the +sphere volume. (The density is thus $n = \phi/V$.) + +Multiple scattering is ignored. + +\subsection{Algorithm} +All neutrons, which hit the sample volume, are scattered. +(Hence, no direct beam is simulated.) +For scattered neutrons, the following steps are taken: +\begin{enumerate} +\item Choose a value of $q$ uniformly in the interval $[0;q_\textrm{max}]$. +\item Choose a polar angle, $\alpha$, + for the \textbf{q}-vector uniformly in $[0;\pi]$. +\item Scatter the neutron according to $(q,\alpha)$. +\item Calculate and apply the correct weight factor correction. +\end{enumerate} + +\subsection{Calculating the weight factor} +The scattering position is found by a Monte Carlo choice uniformly +along the whole (unscattered) beam path with the sample, length $l_\textrm{full}$, giving +$f_l = 1/l_\textrm{full}$. The direction focusing on the detector gives +(in an small angle approximation) $f_\Omega = d^2 / (\pi R_\textrm{det}^2)$. + +Hence, the total weight tranformation factor becomes % (more explanation to come) +\begin{equation} +\pi_j = l_\textrm{full} (\pi R_\textrm{det}^2 / d^2)/(4 \pi) + n (\Delta\rho)^2 V^2 f(q) \exp(-\mu_a l) , +\end{equation} +where $\mu_a$ is the linear attenuation factor due to absorption +and $l$ is the total neutron path length within the sample. + +This component does NOT simulate absolute intensities. This latter depends on the detector parameters. \index{Bugs} + +Some alternative implementations exist as contributed components. + +The \verb+SANS+ test/example instrument exists in the distribution for this component. diff --git a/docs/manuals/mcstas/samples/SasView_model.tex b/docs/manuals/mcstas/samples/SasView_model.tex new file mode 100644 index 0000000000..713b279623 --- /dev/null +++ b/docs/manuals/mcstas/samples/SasView_model.tex @@ -0,0 +1,2151 @@ +\section{The \texttt{SasView\_model} McStas Component} +This SANS sample exposes \textless{}a href="http://www.sasview.org"\textgreater{}SasView's\textless{}/a\textgreater{} scattering kernels to McStas. In this way SasView's monodisperse scattering kernels can be call from McStas. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jakob Garde, Torben Nielsen, Peter Willendrup + \item \textbf{Origin:} SasView, DTU, European Spallation Source ERIC + \item \textbf{Date:} 03.02.2016 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Sample for use in SANS instruments. The models describe mono disperse particles in thin solution. The sample geometry may have the shape: + +Shape: - A filled box with dimensions xwidth, yheight and zdepth. +- A cylinder with dimensions radius and yheight. +- A filled sphere given by radius. + +These parameters are mutually exclusive. + +Example using spheres in thin solution, with radius=200 AA and a delta_sld=0.6 fm/AA^3: +SasView_model(model_index=47, model_scale=1.0, model_pars={1, 7, 200}, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005,) + + +The algorithm of this component requires use of the ISO C standard c99, standard from McStas 2.7 and 3.0. + +The list of scattering models in SasView is called sasmodels. The list of McStas available SasView sasmodels are found in the table below. + +A few models may require manual documentation lookup using the above link to the SasView site. + +McStas does currently not support multiplication of formfactor models with structure factor models. + +The 2D scattering scattering kernels are denoted by modelname_xy. I.e. to evalulate scattering from aligned cylinders use model_index=10 to use cylinder_xy. + +MDOC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Model no.SasView nameParameters
0NoneNone
1barbell(sld, solvent_sld, bell_radius, radius, length)
2barbell_xy(sld, solvent_sld, bell_radius, radius, length, theta, phi)
3bcc_paracrystal(dnn, d_factor, radius, sld, solvent_sld)
4bcc_paracrystal_xy(dnn, d_factor, radius, sld, solvent_sld, theta, phi, psi)
5capped_cylinder(sld, solvent_sld, radius, cap_radius, length)
6capped_cylinder_xy(sld, solvent_sld, radius, cap_radius, length, theta, phi)
7core_shell_cylinder(core_sld, shell_sld, solvent_sld, radius, thickness, length)
8core_shell_cylinder_xy(core_sld, shell_sld, solvent_sld, radius, thickness, length, theta, phi)
9cylinder(sld, solvent_sld, radius, length)
10cylinder_xy(sld, solvent_sld, radius, length, theta, phi)
11dab(length)
12dab_xy(length)
13ellipsoid(sld, solvent_sld, rpolar, requatorial)
14ellipsoid_xy(sld, solvent_sld, rpolar, requatorial, theta, phi)
15fcc_paracrystal(dnn, d_factor, radius, sld, solvent_sld)
16fcc_paracrystal_xy(dnn, d_factor, radius, sld, solvent_sld, theta, phi, psi)
17flexible_cylinder_ex(length, kuhn_length, radius, axis_ratio, sld, solvent_sld)
18flexible_cylinder_ex_xy(length, kuhn_length, radius, axis_ratio, sld, solvent_sld)
19gaussian_peak(q0, sigma)
20gaussian_peak_xy(q0, sigma)
21guinier(rg)
22guinier_xy(rg)
23hardsphere(effect_radius, volfraction)
24hardsphere_xy(effect_radius, volfraction)
25HayterMSAsq(effect_radius, zz, VolFrac, Temp, csalt, dialec)
26HayterMSAsq_xy(effect_radius, charge, volfraction, temperature, saltconc, dielectconst)
27hollow_cylinder(radius, core_radius, length, sld, solvent_sld)
28hollow_cylinder_xy(radius, core_radius, length, sld, solvent_sld, theta, phi)
29lamellar(sld, solvent_sld, thickness)
30lamellar_xy(sld, solvent_sld, thickness)
31lamellar_FFHG(tail_length, head_length, sld, head_sld, solvent_sld)
32lamellar_FFHG_xy(tail_length, head_length, sld, head_sld, solvent_sld)
33lamellarCailleHG(tail_length, head_length, Nlayers, dd, Cp, tail_sld, head_sld, solvent_sld)
34lamellarCailleHG_xy(tail_length, head_length, Nlayers, spacing, Caille_parameter, sld, head_sld, solvent_sld)
35lamellarPC(th, Nlayers, davg, pd, sld, solvent_sld)
36lamellarPC_xy(thickness, Nlayers, spacing, spacing_polydisp, sld, solvent_sld)
37lamellarPS(del, Nlayers, dd, Cp, sld, solvent_sld)
38lamellarPS_xy(thickness, Nlayers, spacing, Caille_parameter, sld, solvent_sld)
39linear_pearls(radius, edge_sep, num_pearls, pearl_sld, solvent_sld)
40linear_pearls_xy(radius, edge_sep, num_pearls, pearl_sld, solvent_sld)
41lorentz(cor_length)
42lorentz_xy(cor_length)
43mass_fractal(radius, mass_dim, cutoff_length)
44mass_fractal_xy(radius, mass_dim, cutoff_length)
45mass_surface_fractal(mass_dim, surface_dim, cluster_rg, primary_rg)
46mass_surface_fractal_xy(mass_dim, surface_dim, cluster_rg, primary_rg)
47parallelepiped(sld, solvent_sld, a_side, b_side, c_side)
48parallelepiped_xy(sld, solvent_sld, a_side, b_side, c_side, theta, phi, psi)
49pearl_necklace(radius, edge_separation, string_thickness, number_of_pearls, sld, string_sld, solvent_sld)
50pearl_necklace_xy(radius, edge_separation, string_thickness, number_of_pearls, sld, string_sld, solvent_sld)
51sphere(sld, solvent_sld, radius)
52sphere_xy(sld, solvent_sld, radius)
53star_polymer(radius2, arms)
54star_polymer_xy(radius2, arms)
55stickyhardsphere(effect_radius, volfraction, perturb, stickiness)
56stickyhardsphere_xy(effect_radius, volfraction, perturb, stickiness)
57triaxial_ellipsoid(sld, solvent_sld, req_minor, req_major, rpolar)
58triaxial_ellipsoid_xy(sld, solvent_sld, req_minor, req_major, rpolar, theta, phi, psi)
+ + + +

Available SasView sasmodels - Extended parameters description

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sasmodels nameParameters UnitsRange
barbell { 4, 1, 40, 20, 400 }  
barbell_xy { 4, 1, 40, 20, 400, 60, 60 }  
    
 Parameters:  
 Barbell scattering length density4e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Spherical bell radiusAng[0, inf]
 Cylindrical bar radiusAng[0, inf]
 Cylinder bar lengthAng[0, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
bcc { 220, 0.06, 40, 4, 1 }  
bcc_xy { 220, 0.06, 40, 4, 1, 60, 60, 60 }  
    
 Parameters:  
 Nearest neighbour distanceAng[-inf, inf]
 Paracrystal distortion factor [-inf, inf]
 Particle radiusAng[0, inf]
 Particle scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
capped_cylinder { 4, 1, 20, 20, 400 }  
capped_cylinder_xy { 4, 1, 20, 20, 400, 60, 60 }  
    
 Parameters:  
 Cylinder scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Cylinder radiusAng[0, inf]
 Cap radiusAng[0, inf]
 Cylinder lengthAng[0, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
core_shell_cylinder { 4, 4, 1, 20, 20, 400 }  
core_shell_cylinder_xy { 4, 4, 1, 20, 20, 400, 60, 60 }  
    
 Parameters:  
 Cylinder core scattering length density1e-6/Ang^2[-inf, inf]
 Cylinder shell scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Cylinder core radiusAng[0, inf]
 Cylinder shell thicknessAng[0, inf]
 Cylinder lengthAng[0, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
cylinder { 4, 1, 20, 400 }  
cylinder_xy { 4, 1, 20, 400, 60, 60 }  
    
 Parameters:  
 Cylinder scattering length density4e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Cylinder radiusAng[0, inf]
 Cylinder lengthAng[0, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
dab { 50.0 }  
dab_xy { 50.0 }  
    
 Parameters:  
 correlation lengthAng[0, inf]
    
ellipsoid { 4, 1, 20, 400 }  
ellipsoid_xy { 4, 1, 20, 400, 60, 60 }  
    
 Parameters:  
 Ellipsoid scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Polar radiusAng[0, inf]
 Equatorial radiusAng[0, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
fcc { 220, 0.06, 40, 4, 1 }  
fcc_xy { 220, 0.06, 40, 4, 1, 60, 60, 60 }  
    
 Parameters:  
 Nearest neighbour distanceAng[-inf, inf]
 Paracrystal distortion factor [-inf, inf]
 Particle radiusAng[0, inf]
 Particle scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
flexible_cylinder_ex { 1000.0, 100.0, 20.0, 1.5, 1.0, 6.3 }  
flexible_cylinder_ex_xy { 1000.0, 100.0, 20.0, 1.5, 1.0, 6.3 }  
    
 Parameters:  
 Length of the flexible cylinderAng[0, inf]
 Kuhn length of the flexible cylinderAng[0, inf]
 Radius of the flexible cylinderAng[0, inf]
 Axis_ratio (major_radius/radius [0, inf]
 Cylinder scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
    
gaussian_peak { 0.05, 0.005 }  
gaussian_peak_xy { 0.05, 0.005 }  
    
 Parameters:  
 Peak position1/Ang[-inf, inf]
 Peak width (standard deviation)1/Ang[0, inf]
    
guinier { 60.0 }  
guinier_xy { 60.0 }  
    
 Parameters:  
 Radius of GyrationAng[0, inf]
    
hardsphere { 50.0, 0.2 }  
hardsphere_xy { 50.0, 0.2 }  
    
 Parameters:  
 effective radius of hard sphereAng[0, inf]
 volume fraction of hard spheres [0, 0.74]
    
HayterMSAsq { 20.75, 19.0, 0.0192, 318.16, 0.0, 71.08 }  
HayterMSAsq_xy { 20.75, 19.0, 0.0192, 318.16, 0.0, 71.08 }  
    
 Parameters:  
 effective radius of hard sphereAng[0, inf]
 charge on sphere (in electrons)e[0, inf]
 volume fraction of spheres [0, 0.74]
 temperature, in Kelvin, for Debye length calculationK[0, inf]
 conc of salt, 1:1 electolyte, for Debye lengthM[-inf, inf]
 dielectric constant of solvent (default water), for Debye length [-inf, inf]
    
hollow_cylinder { 30.0, 20.0, 400.0, 6.3, 1 }  
hollow_cylinder_xy { 30.0, 20.0, 400.0, 6.3, 1, 90, 0 }  
    
 Parameters:  
 Cylinder radiusAng[0, inf]
 Hollow core radiusAng[0, inf]
 Cylinder lengthAng[0, inf]
 Cylinder sld1/Ang^2[-inf, inf]
 Solvent sld1/Ang^2[-inf, inf]
 Theta angledegrees[-360, 360]
 Phi angledegrees[-360, 360]
    
lamellar { 1, 6, 50 }  
lamellar_xy { 1, 6, 50 }  
    
 Parameters:  
 Layer scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Bilayer thicknessAng[0, inf]
    
lamellarCaille { 30.0, 20, 400.0, 0.1, 6.3, 1.0 }  
lamellarCaille_xy { 30.0, 20, 400.0, 0.1, 6.3, 1.0 }  
    
 Parameters:  
 sheet thicknessAng[0, inf]
 Number of layers [0, inf]
 d-spacing of Caille S(Q)Ang[0.0, inf]
 Caille parameter1/Ang^2[0.0, 0.8]
 layer scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
    
lamellarCailleHG { 10, 2, 30, 40.0, 0.001, 0.4, 2.0, 6 }  
lamellarCailleHG_xy { 10, 2, 30, 40.0, 0.001, 0.4, 2.0, 6 }  
    
 Parameters:  
 Tail thicknessAng[0, inf]
 head thicknessAng[0, inf]
 Number of layers [0, inf]
 d-spacing of Caille S(Q)Ang[0.0, inf]
 Caille parameter [0.0, 0.8]
 Tail scattering length density1e-6/Ang^2[-inf, inf]
 Head scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
    
lamellarFFHG { 15, 10, 0.4, 3.0, 6 }  
lamellarFFHG_xy { 15, 10, 0.4, 3.0, 6 }  
    
 Parameters:  
 Tail thicknessAng[0, inf]
 head thicknessAng[0, inf]
 Tail scattering length density1e-6/Ang^2[-inf, inf]
 Head scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
    
lamellarPC { 33.0, 20, 250.0, 0.0, 1.0, 6.34 }  
lamellarPC_xy { 33.0, 20, 250.0, 0.0, 1.0, 6.34 }  
    
 Parameters:  
 sheet thicknessAng[0, inf]
 Number of layers [0, inf]
 d-spacing of paracrystal stackAng[0.0, inf]
 d-spacing polydispersityAng[0.0, inf]
 layer scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
    
linear_pearls { 80.0, 350.0, 3.0, 1.0, 6.3 }  
linear_pearls_xy { 80.0, 350.0, 3.0, 1.0, 6.3 }  
    
 Parameters:  
 Radius of the pearlsAng[0, inf]
 Length of the string segment - surface to surfaceAng[0, inf]
 Number of the pearls [0, inf]
 SLD of the pearl spheres1e-6/Ang^2[-inf, inf]
 SLD of the solvent1e-6/Ang^2[-inf, inf]
    
lorentz { 50.0 }  
lorentz_xy { 50.0 }  
    
 Parameters:  
 Screening lengthAng[0, inf]
    
mass_fractal { 10.0, 1.9, 100.0 }  
mass_fractal_xy { 10.0, 1.9, 100.0 }  
    
 Parameters:  
 Particle radiusAng[0.0, inf]
 Mass fractal dimension [1.0, 6.0]
 Cut-off lengthAng[0.0, inf]
    
mass_surface_fractal { 1.8, 2.3, 86.7, 4000.0 }  
mass_surface_fractal_xy { 1.8, 2.3, 86.7, 4000.0 }  
    
 Parameters:  
 Mass fractal dimension [1e-16, 6.0]
 Surface fractal dimension [1e-16, 6.0]
 Cluster radius of gyrationAng[0.0, inf]
 Primary particle radius of gyrationAng[0.0, inf]
    
parallelepiped { 4, 1, 35, 75, 400 }  
parallelepiped_xy { 4, 1, 35, 75, 400, 60, 60, 60 }  
    
 Parameters:  
 Parallelepiped scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Shorter side of the parallelepipedAng[0, inf]
 Second side of the parallelepipedAng[0, inf]
 Larger side of the parallelepipedAng[0, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
 Rotation angle around its own c axis against q planedegrees[-inf, inf]
    
pearl_necklace { 80.0, 350.0, 2.5, 3, 1.0, 1.0, 6.3 }  
pearl_necklace_xy { 80.0, 350.0, 2.5, 3, 1.0, 1.0, 6.3 }  
    
 Parameters:  
 Mean radius of the chained spheresAngstrom[0, inf]
 Mean separation of chained particlesAngstrom[0, inf]
 Thickness of the chain linkageAngstrom[0, inf]
 Mean number of pearls in each necklacenone[0, inf]
 Scattering length density of the chained spheresAngstrom^2[-inf, inf]
 Scattering length density of the chain linkageAngstrom^2[-inf, inf]
 Scattering length density of the solventAngstrom^2[-inf, inf]
    
sphere { 1, 6, 50 }  
sphere_xy { 1, 6, 50 }  
    
 Parameters:  
 Layer scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Sphere radiusAng[0, inf]
    
star_polymer { 100.0, 3 }  
star_polymer_xy { 100.0, 3 }  
    
 Parameters:  
 Ensemble radius of gyration squared of an armAng[0.0, inf]
 Number of arms in the model [1.0, 6.0]
    
stickyhardsphere { 50.0, 0.2, 0.05, 0.2 }  
stickyhardsphere_xy { 50.0, 0.2, 0.05, 0.2 }  
    
 Parameters:  
 effective radius of hard sphereAng[0, inf]
 volume fraction of hard spheres [0, 0.74]
 perturbation parameter, epsilon [0.01, 0.1]
 stickiness, tau [-inf, inf]
    
triaxial_ellipsoid { 4, 1, 20, 400, 10 }  
triaxial_ellipsoid_xy { 4, 1, 20, 400, 10, 60, 60, 60 }  
    
 Parameters:  
 Ellipsoid scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Minor equitorial radiusAng[0, inf]
 Major equatorial radiusAng[0, inf]
 Polar radiusAng[0, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
+

+

+

Name convention: SasView - sasmodels

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SasView namesasmodels name P(Q) S(Q)MultiplyMultiplicity
BarBellbarbell - - --
BCCrystalbcc - - --
CappedCylindercapped_cylinder - - --
CoreShellCylindercore_shell_cylinder - - --
Cylindercylinder - - --
DABdab - - --
Ellipsoidellipsoid - - --
FCCrystalfcc - - --
FlexCylEllipXflexible_cylinder_ex - - --
PeakGaussgaussian_peak - - --
Guinierguinier - - --
HardsphereStructurehardsphere - Y --
HayterMSAStructureHayterMSAsq - Y --
HollowCylinderhollow_cylinder - - --
Lamellarlamellar - - --
LamellarPSlamellarCaille - - --
LamellarPSHGlamellarCailleHG - - --
LamellarFFHGlamellarFFHG - - --
LamellarPCrystallamellarPC - - --
LinearPearlslinear_pearls - - --
Lorentzlorentz - - --
MassFractalmass_fractal - - --
MassSurfaceFractalmass_surface_fractal - - --
Parallelepipedparallelepiped - - --
PearlNecklacepearl_necklace - - --
Spheresphere - - --
StarPolymerstar_polymer - - --
StickyHSStructurestickyhardsphere - Y --
TriaxialEllipsoidtriaxial_ellipsoid - - --
+ + +MDOC_END +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +model\_index & & Index of the applied sasview model. Recompile instrument for changes to take effect. & 21 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_pars & & Model parameters are given as a set of comma-separated values enclosed by \{\}, e.g. \{60\} for the model index 21 (the guinier model). Consult the sasview docs for further info. & \{60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\} \\ +model\_abs & 1/m & Absorption cross section density at 2200 m/s & 0.5 \\ +xwidth & m & horiz. dimension of sample, as a width & 0 \\ +yheight & m & vert . dimension of sample, as a height for cylinder/box & 0 \\ +zdepth & m & depth of sample & 0 \\ +radius & m & Outer radius of sample in (x,z) plane for cylinder/sphere & 0 \\ +target\_x & m & relative focus target position & 0 \\ +target\_y & m & relative focus target position & 0 \\ +target\_z & m & relative focus target position & 6 \\ +target\_index & 1 & Relative index of component to focus at, e.g. next is +1 & 0 \\ +focus\_xw & m & horiz. dimension of a rectangular area & 0 \\ +focus\_yh & m & vert. dimension of a rectangular area & 0 \\ +focus\_aw & deg & horiz. angular dimension of a rectangular area & 0 \\ +focus\_ah & deg & vert. angular dimension of a rectangular area & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/SasView_model.comp}{Source code} for \texttt{SasView\_model.comp}. + \item http://www.sasview.org/sasview/user/models/model\_functions.html +\end{itemize} +\IfFileExists{SasView_model_static.tex}{\input{SasView_model_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/Single_crystal.tex b/docs/manuals/mcstas/samples/Single_crystal.tex index e3ab4fb04b..f166e8c35d 100644 --- a/docs/manuals/mcstas/samples/Single_crystal.tex +++ b/docs/manuals/mcstas/samples/Single_crystal.tex @@ -1,525 +1,207 @@ -\section{Single\_crystal: The single crystal component} -\label{s:Single_crystal} -\index{Samples!Single crystal diffraction} -\index{Diffraction} -\index{Incoherent elastic scattering} -\index{Multiple scattering} - -%\component{Single\_crystal}{Kristian Nielsen}{$x_{width}, y_{height}, z_{thick}$,$\vec a, \vec b, \vec c, \Delta d/d$, mosaic, reflections}{$\sigma_{abs}, \sigma_{inc}$, ...}{Partially validated, centered. Further validation undergoing. Known BUGS: The component is known not to work as a Bragg monochromator, likely the problem relates to the internal definition of the reciprocal space. Possibly related to this, the model of anistropic mosaic is broken - always use a non-zero isotropic mosaic. Also, always use a non-zero value of the $\Delta d/d$ parameter.} -\mcdoccomp{samples/Single_crystal.parms} - -The \textbf{Single\_crystal} component models a thick, flat single crystal -with multiple scattering and absorption with elastic coherent scattering. -An elastic incoherent background may also be simulated. -It may be used to describe samples for diffraction, -but also for accurate monochromator descriptions. -The component is currently under further review. The current documentation is outdated, especially with respect to the model of crystal mosaicity. - -The input parameters for the component are \textit{xwidth}, -\textit{yheight}, and \textit{zdepth} to define the dimensions of the -crystal in meters (area is centered); \textit{delta\_d\_d} to give the -value of $\Delta d/d$ (no unit); -$(\textit{ax}, \textit{ay}, \textit{az})$, $(\textit{bx}, \textit{by}, -\textit{bz})$, and $(\textit{cx}, \textit{cy}, \textit{cz})$ to define -the axes of the direct lattice of the crystal (the sides of the unit -cell) in units of {\AA}ngstr{\o}m; and \textit{reflections}, a string -giving the name of the file with the list of structure factors to -consider. -The mosaic is specified \emph{either} isotropically as -\textit{mosaic}, \emph{or} anisotropically as \textit{mosaic\_h} -(rotation around the $Y$ axis), \textit{mosaic\_v} (rotation around the -$Z$ axis), and \textit{mosaic\_n} (rotation around the $X$ axis); in all -cases in units of full-width-half-maximum minutes of arc. - -Optionally, the absorption cross-section at 2200 m/s and the incoherent -cross-section may be given as \textit{absorption} and -\textit{incoherent} (in barns), with default of zero; and -\textit{p\_transmit} may be assigned a fixed Monte Carlo probability for -transmission through the crystal without any interaction. - -The user must specify a list of reciprocal lattice vectors -$\boldsymbol{\tau}$ to consider along with their structure factors -$|F_{\boldsymbol{\tau}}|^2$. The user must also specify the coordinates -(in direct space) of the unit cell axes $\boldsymbol{a}$, -$\boldsymbol{b}$, and $\boldsymbol{c}$, from which the reciprocal lattice -will be computed. See section \ref{s:Single_crystal_implement} for file format specifications. - -In addition to coherent scattering, \textbf{Single\_crystal} also -handles incoherent scattering and absorption. The incoherent scattering -cross-section is supplied by the user as a constant -$\sigma_\textrm{inc}$. The absorption cross-section is supplied by the user at -2200~m/s, so the actual cross-section for a neutron of velocity $v$ is -$\sigma_\textrm{abs} = \sigma_{2200} \frac{\textrm{2200~m/s}}{v}$. - -\subsection{The physical model} - -The textbook expression for the scattering cross-section of a crystal -is~\cite[ch.3]{squires}: -\begin{equation} -\label{eq:sigma_coh_el} -\left(\frac{d\sigma}{d\Omega}\right)_\textrm{coh.el.} = - N\frac{(2\pi)^3}{V_0}\sum_{\boldsymbol{\tau}} - \delta(\boldsymbol{\tau} - \boldsymbol{\kappa})|F_{\boldsymbol{\tau}}|^2 -\end{equation} -Here $|F_{\boldsymbol{\tau}}|^2$ is the structure factor -(defined in section~\ref{powder}), $N$ is the -number of unit cells, $V_0$ is the volume of an -individual unit cell, and $\boldsymbol{\kappa} (= \textbf{k}_i - \textbf{k}_f)$ -is the scattering vector. $\delta(\boldsymbol{x})$ is a 3-dimensional delta -function in reciprocal space, -so for given incoming wave vector $\textbf{k}_i$ and lattice vector -${\boldsymbol{\tau}}$, only a single final wave vector $\textbf{k}_f$ is allowed. -In general, this wavevector will not fulfill the conditions for elastic -scattering $(k_f = k_i)$. -In a real crystal, however, reflections are not perfectly sharp. Because -of imperfection and finite-size effects, there will be a small region -around $\boldsymbol{\tau}$ in reciprocal space of possible scattering vectors. - -\textbf{Single\_crystal} simulates a crystal with a mosaic spread -$\eta$ and a lattice plane spacing uncertainty $\Delta d/d$. In such -crystals the reflections will not be completely sharp; -there will be a small region around each reciprocal lattice point of the -crystal that contains valid scattering vectors. - -We model the mosaicity and $\Delta d/d$ of the crystal with -3-dimensional Gaussian functions in reciprocal space (see -figure~\ref{fig:crystal-reciprocal-space}). Two of the axes of the -Gaussian are perpendicular to the reciprocal lattice vector $\boldsymbol{\tau}$ and model -the mosaicity. The third one is parallel to $\boldsymbol{\tau}$ and models -$\Delta d/d$. We assume that the -mosaicity is small so that the possible directions of the scattering -vector may be approximated with a Gaussian in rectangular -coordinates. -\begin{figure}[t] - \begin{center} - \psfrag{ki}[r][r]{$\boldsymbol{k}_\textrm{i}$} - \psfrag{kf}[l][l]{$\boldsymbol{k}_\textrm{f}$} - \psfrag{tau}[r][r]{$\boldsymbol{\tau}$} - \psfrag{mosaic}[l][l]{$\eta$} - \psfrag{del-d-d}[l][l]{$\Delta d/d$} - \psfrag{Ewald}[l][l]{Ewald} - \psfrag{Sphere}[l][l]{Sphere} - \includegraphics[width=0.7\textwidth]{figures/recip_space3} - \end{center} -\caption{Ewald sphere construction for a single neutron showing the - Gaussian broadening of reciprocal lattice points in their local - coordinate system.} -\label{fig:crystal-reciprocal-space} -\end{figure} - -If the mosaic is isotropic (the same in all directions), the two -Gaussian axes perpendicular to $\boldsymbol{\tau}$ are simply arbitrary -normal vectors of equal length given by the mosaic. But if the mosaic -is anisotropic, the two perpendicular axes will in general be different -for each scattering vector. In the absence of anything better, -\textbf{Single\_crystal} uses a model which is at least mathematically -plausible and which works as expected in the two common cases: -(1)~isotropic mosaic, and (2)~two mosaic directions (``horizontal and -vertical mosaic'') perpendicular to a scattering vector. - -The basis for the model is a three-dimensional Gaussian distribution in -Euler angles giving the orientation probability distribution for the -micro-crystals; that is, the misorientation is given by small rotations -around the $X$, $Y$, and $Z$ axes, with the rotation angles having (in -general different) Gaussian probability distributions. For given -scattering vector $\boldsymbol{\tau}$, a rotation of the micro-crystals -around an axis parallel to $\boldsymbol{\tau}$ has no effect on the -direction of the scattering vector. Suppose we form the intersection -between the three-dimensional Gaussian in Euler angles and a plane -through the origin perpendicular to $\boldsymbol{\tau}$. This gives a -two-dimensional Gaussian, say with axes defined by unit vectors -$\boldsymbol{g}_1$ and $\boldsymbol{g}_2$ and mosaic widths $\eta_1$ and -$\eta_2$. - -We now let the mosaic for $\boldsymbol{\tau}$ be defined by rotations -around $\boldsymbol{g}_1$ and $\boldsymbol{g}_2$ with angles having -Gaussian distributions of widths $\eta_1$ and $\eta_2$. Since -$\boldsymbol{g}_1$, $\boldsymbol{g}_2$, and $\boldsymbol{\tau}$ are -perpendicular, a small rotation of $\boldsymbol{\tau}$ around -$\boldsymbol{g}_1$ will change $\boldsymbol{\tau}$ in the direction of -$\boldsymbol{g}_2$. The two axes of the Gaussian mosaic in reciprocal -space that are perpendicular to $\boldsymbol{\tau}$ will thus be given -by $\tau\eta_2\boldsymbol{g}_1$ and $\tau\eta_1\boldsymbol{g}_2$. - -We now derive a quantitative expression for the scattering cross-section -of the crystal in the model. For this, we introduce a \emph{local - coordinate system} for each reciprocal lattice point -$\boldsymbol{\tau}$ and use $\boldsymbol{x}$ for vectors written in local -coordinates. The origin is $\boldsymbol{\tau}$, the first axis -is parallel to $\boldsymbol{\tau}$ and the other two axes are -perpendicular to $\boldsymbol{\tau}$. In the local coordinate system, -the 3-dimensional Gaussian is given by -\begin{equation} - \label{eq:crystal-gauss-1} - G(x_1,x_2,x_3) = \frac{1}{(\sqrt{2\pi})^3}\frac{1}{\sigma_1\sigma_2\sigma_3} - e^{-\frac{1}{2}(\frac{x_1^2}{\sigma_1^2} + - \frac{x_2^2}{\sigma_2^2} + \frac{x_3^2}{\sigma_3^2})} -\end{equation} -The axes of the Gaussian are $\sigma_1 = \tau\Delta d/d$ and $\sigma_2 = -\sigma_3 = \eta\tau$. Here we used the assumption that $\eta$ is small, -so that $\tan\eta \approx \eta$ (with $\eta$ given in radians). By -introducing the diagonal matrix -$$ -D = \left( - \begin{array}[c]{ccc} - \frac{1}{2}\sigma_1^2 & 0 & 0 \\ - 0 & \frac{1}{2}\sigma_2^2 & 0 \\ - 0 & 0 & \frac{1}{2}\sigma_3^2 - \end{array}\right) -$$ -equation~(\ref{eq:crystal-gauss-1}) can be written as -\begin{equation} - G(\boldsymbol{x}) = - \frac{1}{(\sqrt{2\pi})^3}\frac{1}{\sigma_1\sigma_2\sigma_3} - e^{-\boldsymbol{x}^\textrm{T} D \boldsymbol{x}} -\end{equation} -again with $\boldsymbol{x}=(x_1,x_2,x_3)$ written in local coordinates. - -To get an expression in the coordinates of the reciprocal lattice of the -crystal, we introduce a matrix $U$ such that if $\boldsymbol{y} = -(y_1,y_2,y_3)$ are the global coordinates of a point in the crystal -reciprocal lattice, then $U(\boldsymbol{y} + \boldsymbol{\tau})$ are the -coordinates in the local coordinate system for $\boldsymbol{\tau}$. The -matrix $U$ is given by -$$ U^\textrm{T} = (\hat{u}_1, \hat{u}_2, \hat{u}_3), $$ -where $\hat{u}_1$, $\hat{u}_2$, and $\hat{u}_3$ are the axes of the -local coordinate system, written in the global coordinates of the -reciprocal lattice. Thus -$\hat{u}_1 = \boldsymbol{\tau}/\tau$, and $\hat{u}_2$ and $\hat{u}_3$ are -unit vectors perpendicular to $\hat{u}_1$ and to each other. -The matrix $U$ is unitarian, that is -$U^{-1} = U^\textrm{T}$. The translation between global and local -coordinates is -$$ \boldsymbol{x} = U(\boldsymbol{y} + \boldsymbol{\tau}) \qquad - \boldsymbol{y} = U^\textrm{T} \boldsymbol{x} - \boldsymbol{\tau} $$ - -The expression for the 3-dimensional Gaussian in global coordinates is -\begin{equation} - G(\boldsymbol{y}) = - \frac{1}{(\sqrt{2\pi})^3}\frac{1}{\sigma_1\sigma_2\sigma_3} - e^{-(U(\boldsymbol{y}+\boldsymbol{\tau}))^\textrm{T} D (U(\boldsymbol{y}+\boldsymbol{\tau}))} -\end{equation} -The elastic coherent cross-section is then given by -\begin{equation} - \label{eq:crystal-cross-section} - \left(\frac{d\sigma}{d\Omega}\right)_\textrm{coh.el.} = - N\frac{(2\pi)^3}{V_0}\sum_{\boldsymbol{\tau}} - G(\boldsymbol{\tau} - \boldsymbol{\kappa}) - |F_{\boldsymbol{\tau}}|^2 -\end{equation} - -\subsection{The algorithm} - -The overview of the algorithm used in the Single\_crystal component is -as follows: -\begin{enumerate} -\item\label{enum:crystal-1} Check if the neutron intersects the - crystal. If not, no action is taken. -\item\label{enum:crystal-2} Search through a list of reciprocal lattice - points of interest, selecting those that are close enough to the Ewald - sphere to have a non-vanishing scattering probability. From these, - compute the total coherent cross-section $\sigma_\textrm{coh}$ (see - below), the absorption cross-section $\sigma_\textrm{abs} = \sigma_\textrm{ - 2200} \frac{\textrm{2200~m/s}}{v}$, and the total cross-section - $\sigma_\textrm{tot} = \sigma_\textrm{coh}+\sigma_\textrm{inc}+\sigma_\textrm{abs}$. -\item\label{enum:crystal-3} The transmission probability is - $\exp(- \frac{\sigma_\textrm{tot}}{V_0}\ell)$ where $\ell$ is the length of - the flight path through the crystal. A Monte Carlo choice is - performed to determine - whether the neutron is transmitted. Optionally, the user may - set a fixed Monte Carlo probability for the first scattering event, - for example to boost the statistics for a weak reflection. -\item\label{enum:crystal-4} For non-transmission, the position at which - the neutron will interact is selected from an exponential - distribution. A Monte Carlo choice is made of whether to scatter - coherently or incoherently. Absorption is treated by weight adjustment - (see below). -\item\label{enum:crystal-5} For incoherent scattering, the outgoing wave - vector $\boldsymbol{k}_\textrm{f}$ is selected with a random direction. -\item\label{enum:crystal-6} For coherent scattering, a reciprocal - lattice vector is selected by a Monte Carlo choice, and - $\boldsymbol{k}_\textrm{f}$ is found (see below). -\item\label{enum:crystal-7} Adjust the neutron weight as dictated by the - Monte Carlo choices made. -\item\label{enum:crystal-8} Repeat from~(\ref{enum:crystal-2}) until the - neutron is transmitted (to simulate multiple scattering). -\end{enumerate} - -For point~\ref{enum:crystal-2}, the distance -\textit{dist} between a reciprocal lattice point and the Ewald sphere is -considered small enough to allow scattering if it is less than five -times the maximum axis of the Gaussian, $\textit{dist} \leq -5\max(\sigma_1,\sigma_2,\sigma_3)$. - -\subsection{Choosing the outgoing wave vector} - -The final wave vector $\boldsymbol{k}_\textrm{f}$ must lie on the -intersection between the Ewald sphere and the Gaussian ellipsoid. Since -$\eta$ and $\Delta d/d$ are assumed small, the intersection can be -approximated with a plane tangential to the sphere, see -figure~\ref{fig:crystal-scattering-tri}. The tangential point is taken -to lie on the line between the center of the Ewald sphere -$-\boldsymbol{k}_\textrm{i}$ and the reciprocal lattice point -$\boldsymbol{\tau}$. Since the radius of the Ewald sphere is $k_\textrm{ - i}$, this point is -$$ \boldsymbol{o}=(k_\textrm{i}/\rho - 1)\boldsymbol{\rho} - \boldsymbol{\tau} $$ -where $\boldsymbol{\rho} = \boldsymbol{k}_\textrm{i} - \boldsymbol{\tau}$. -\begin{figure}[t] - \begin{center} - \psfrag{ki}[r][r]{$\boldsymbol{k}_\textrm{i}$} - \psfrag{kf}[l][l]{$\boldsymbol{k}_\textrm{f}$} - \psfrag{rho}[r][r]{$\boldsymbol{\rho}$} - \psfrag{tau}[r][r]{$\boldsymbol{\tau}$} - \psfrag{x}[l][l]{$\boldsymbol{x}$} - \psfrag{Ewald}[r][r]{Ewald} - \psfrag{Sphere}[r][r]{Sphere} - \psfrag{Tangential}[l][l]{Tangential} - \psfrag{plane}[l][l]{plane} - \includegraphics[width=0.7\textwidth]{figures/recip-detail} - \end{center} -\caption{The scattering triangle in the single crystal.} -\label{fig:crystal-scattering-tri} -\end{figure} - -The equation for the plane is -\begin{equation} - \label{eq:crystal-tangent-plane} - \boldsymbol{P}(\boldsymbol{t}) = \boldsymbol{o} + B \boldsymbol{t}, \qquad - \boldsymbol{t} \in \mathbb{R}^2 -\end{equation} -Here $B = (\boldsymbol{b}_1, \boldsymbol{b}_2)$ is a $3\times 2$ matrix -with the two generators for the plane $\boldsymbol{b}_1$ and -$\boldsymbol{b}_2$. These are (arbitrary) unit vectors in the plane, -being perpendicular to -each other and to the plane normal $\boldsymbol{n} = -\boldsymbol{\rho}/\rho$. - -Each $\boldsymbol{t}$ defines a potential final wave vector -$\boldsymbol{k}_\textrm{f}(\boldsymbol{t}) = \boldsymbol{k}_\textrm{i} + -\boldsymbol{P}(\boldsymbol{t})$. The value of the 3-dimensional Gaussian -for this $\boldsymbol{k}_\textrm{f}$ is -\begin{equation} - \label{eq:crystal-gauss-t-1} - G(\boldsymbol{x}(\boldsymbol{t})) = - \frac{1}{(\sqrt{2\pi})^3}\frac{1}{\sigma_1\sigma_2\sigma_3} - e^{-\boldsymbol{x}(\boldsymbol{t})^\textrm{T} D \boldsymbol{x}(\boldsymbol{t})} -\end{equation} -where $\boldsymbol{x}(\boldsymbol{t}) = \boldsymbol{\tau} - -(\boldsymbol{k}_\textrm{i} - \boldsymbol{k}_\textrm{f}(\boldsymbol{t}))$ is -given in local coordinates for $\boldsymbol{\tau}$. It can be shown that -equation~(\ref{eq:crystal-gauss-t-1}) can be re-written as -\begin{equation} - \label{eq:crystal-gauss-2} - G(\boldsymbol{x}(\boldsymbol{t})) = - \frac{1}{(\sqrt{2\pi})^3}\frac{1}{\sigma_1\sigma_2\sigma_3} e^{-\alpha} - e^{-(\boldsymbol{t}-\boldsymbol{t}_0)^\textrm{T} M - (\boldsymbol{t}-\boldsymbol{t}_0)} -\end{equation} -where $M = B^\textrm{T} D B$ is a $2 \times 2$ symmetric and positive -definite matrix, $\boldsymbol{t}_0 = -M^{-1}B^\textrm{T} D \boldsymbol{o}$ -is a 2-vector, and $\alpha = -\boldsymbol{t}_0^\textrm{T} M -\boldsymbol{t}_0 + \boldsymbol{o}^\textrm{T} D \boldsymbol{o}$ is a real -number. Note that this is a two-dimensional Gaussian (not necessarily -normalized) in $\boldsymbol{t}$ with center $\boldsymbol{t}_0$ and axis -defined by $M$. - -To choose $\boldsymbol{k}_\textrm{f}$ we sample $\boldsymbol{t}$ from the -2-dimensional Gaussian distribution~(\ref{eq:crystal-gauss-2}). To do -this, we first construct the Cholesky decomposition of the matrix -$(\frac{1}{2}M^{-1})$. This gives a $2\times 2$ matrix $L$ such that $L -L^\textrm{T} = \frac{1}{2}M^{-1}$ and is possible since $M$ is symmetric -and positive definite. It is given by -$$ - L = \left( - \begin{array}[c]{cc} - \sqrt{\nu_{11}} & 0 \\ - \frac{\nu_{12}}{\sqrt{\nu_{11}}} & \sqrt{\nu_{22} - \frac{\nu_{12}^2}{\nu_{11}}} - \end{array}\right) -\qquad\hbox{where } - \frac{1}{2}M^{-1} = \left( - \begin{array}[c]{cc} - \nu_{11} & \nu_{12} \\ - \nu_{12} & \nu_{22} - \end{array}\right) -$$ -Now let $\boldsymbol{g} = (g_1, g_2)$ be two random numbers drawn form a -Gaussian distribution with mean 0 and standard deviation 1, and let -$\boldsymbol{t} = L\boldsymbol{g} + \boldsymbol{t}_0$. The probability -of a particular $\boldsymbol{t}$ is then -\begin{eqnarray} - P(\boldsymbol{t})d\boldsymbol{t} - &=& \frac{1}{2\pi} - e^{-\frac{1}{2}\boldsymbol{g}^\textrm{T}\boldsymbol{g}} d\boldsymbol{g} \\ - &=& \frac{1}{2\pi}\frac{1}{\det L} - e^{-\frac{1}{2}(L^{-1}(\boldsymbol{t}-\boldsymbol{t}_0))^\textrm{T} - (L^{-1}(\boldsymbol{t}-\boldsymbol{t}_0))} d\boldsymbol{t} \\ - &=& \frac{1}{2\pi}\frac{1}{\det L} - e^{-(\boldsymbol{t}-\boldsymbol{t}_0)^\textrm{T} - M(\boldsymbol{t}-\boldsymbol{t}_0)} d\boldsymbol{t} - \label{eq:crystal-gauss-prob-1} -\end{eqnarray} -where we used that -$\boldsymbol{g}=L^{-1}(\boldsymbol{t}-\boldsymbol{t}_0)$ so that -$d\boldsymbol{g} = \frac{1}{\det L}d\boldsymbol{t}$. This is just the -normalized form of~(\ref{eq:crystal-gauss-2}). Finally we set -$\boldsymbol{k}'_\textrm{f} = \boldsymbol{k}_\textrm{i} + -\boldsymbol{P}(\boldsymbol{t})$ and -$\boldsymbol{k}_\textrm{f} = (k_\textrm{i}/k'_f)\boldsymbol{k}'_\textrm{f}$ to -normalize the length of $\boldsymbol{k}_\textrm{f}$ to correct for the -(small) error introduced by approximating the Ewald sphere with a plane. - -\subsection{Computing the total coherent cross-section} - -To determine the total coherent scattering cross-section, the differential -cross-section must be integrated over the Ewald sphere: -$$ -\sigma_\textrm{coh} = \int_\textrm{Ewald} -\left(\frac{d\sigma}{d\Omega}\right)_\textrm{coh.el.} d\Omega -$$ -For small mosaic we may approximate the sphere with the tangential -plane, and we thus get from~(\ref{eq:crystal-cross-section}) -and~(\ref{eq:crystal-gauss-2}): -\begin{eqnarray} - \label{eq:crystal-coh-cs} - \sigma_{\textrm{coh},\boldsymbol{\tau}} &=& \int N\frac{(2\pi)^3}{V_0} - G(\boldsymbol{\tau} - \boldsymbol{\kappa}) - |F_{\boldsymbol{\tau}}|^2 d\Omega \\ - &=& \frac{1}{\boldsymbol{k}_i^2} N\frac{(2\pi)^3}{V_0} - \frac{1}{(\sqrt{2\pi})^3}\frac{e^{-\alpha}}{\sigma_1\sigma_2\sigma_3} - |F_{\boldsymbol{\tau}}|^2 - \int e^{-(\boldsymbol{t}-\boldsymbol{t}_0)^\textrm{T} M - (\boldsymbol{t}-\boldsymbol{t}_0)} - d\boldsymbol{t} \\ - &=& \det(L) \frac{1}{\boldsymbol{k}_i^2} N\frac{(2\pi)^{3/2}}{V_0} - \frac{e^{-\alpha}}{\sigma_1\sigma_2\sigma_3} - |F_{\boldsymbol{\tau}}|^2 - \int e^{-\frac{1}{2}\boldsymbol{g}^\textrm{T}\boldsymbol{g}} - d\boldsymbol{g} \\ - &=& 2\pi\det(L) \frac{1}{\boldsymbol{k}_i^2} N\frac{(2\pi)^{3/2}}{V_0} - \frac{e^{-\alpha}}{\sigma_1\sigma_2\sigma_3} - |F_{\boldsymbol{\tau}}|^2 \\ - &=& \frac{\det(L)}{\boldsymbol{k}_i^2} N\frac{(2\pi)^{5/2}}{V_0} - \frac{e^{-\alpha}}{\sigma_1\sigma_2\sigma_3} - |F_{\boldsymbol{\tau}}|^2 \\ - \sigma_\textrm{coh} &=& \sum_{\boldsymbol{\tau}} \sigma_{\textrm{coh},\boldsymbol{\tau}} -\end{eqnarray} -As before, we let $\boldsymbol{g} = L^{-1}(\boldsymbol{t} - -\boldsymbol{t}_0)$ so that $d\boldsymbol{t} = \det(L) d\boldsymbol{g}$. - -\paragraph{Neutron weight factor adjustment} - -We now calculate the correct neutron weight adjustment for the Monte -Carlo choices made. In three cases is a Monte Carlo choice made with a -probability different from the probability of the corresponding physical -event: When deciding whether to transmit the neutron or not, when -simulating absorption, and when selecting the reciprocal lattice vector -$\boldsymbol{\tau}$ to scatter from. - -If the user has choosen a fixed transmission probability $f(\textrm{ - transmit}) = p_\textrm{transmit}$, the neutron weight must be adjusted by -$$ \pi(\textrm{transmit}) = \frac{P(\textrm{transmit})}{f(\textrm{transmit})} -$$ -where $P(\textrm{transmit}) = \exp(-\frac{\sigma_\textrm{tot}}{V_0}\ell)$ is -the physical transmission probability. Likewise, for non-transmission -the adjustment is -$$ \pi(\textrm{no~transmission}) = \frac{1-P(\textrm{transmit})}{1-f(\textrm{transmit})}. -$$ - -Absorption is never explicitly simulated, so the Monte Carlo probability -of coherent or incoherent scattering is -$f(\textrm{coh})+f(\textrm{inc}) = 1$. -The physical probability of coherent or incoherent scattering is -$$ P(\textrm{coh})+P(\textrm{inc}) = \frac{\sigma_\textrm{coh} + \sigma_\textrm{ - inc}}{\sigma_\textrm{tot}}, $$ -so again a weight adjustment $\pi(\textrm{coh}|\textrm{inc}) = \Pi(\textrm{ - coh}|\textrm{inc})/f(\textrm{coh}|\textrm{inc})$ is needed. - -When choosing the reciprocal lattice vector $\boldsymbol{\tau}$ to -scatter from, the relative probability for $\boldsymbol{\tau}$ is -$r_{\boldsymbol{\tau}} = \sigma_{\textrm{ - coh},\boldsymbol{\tau}}/|F_{\boldsymbol{\tau}}|^2$. This is done to -get better statistics for weak reflections. The Monte Carlo probability -for the reciprocal lattice vector $\boldsymbol{\tau}$ is thus -$$ f(\boldsymbol{\tau}) = -\frac{r_{\boldsymbol{\tau}}}{\sum_{\boldsymbol{\tau}} r_{\boldsymbol{\tau}}} -$$ -whereas the physical probability is $P(\boldsymbol{\tau}) = \sigma_{\textrm{ - coh},\boldsymbol{\tau}}/\sigma_\textrm{coh}$. A weight adjustment is -thus needed of -$$ -\pi(\boldsymbol{\tau}) = - \frac{P(\boldsymbol{\tau})}{f(\boldsymbol{\tau})} = - \frac{\sigma_{\textrm{coh},\boldsymbol{\tau}} - \sum_{\boldsymbol{\tau}} r_{\boldsymbol{\tau}}} - {\sigma_\textrm{coh} \; r_{\boldsymbol{\tau}}}.$$ - -In most cases, however, only one reflection is possible, whence $\pi=1$. - -\subsection{Implementation details} -\label{s:Single_crystal_implement} - -The equations describing \textbf{Single\_crystal} are quite -complex, and consequently the code is fairly sizeable. Most of it is -just the expansion of the vector and matrix equations in individual -coordinates, and should thus be straightforward to follow. - -The implementation pre-computes a lot of the necessary values in the -\texttt{INITIALIZE} section. It is thus actually very efficient despite -the complexity. If the list of reciprocal lattice points is big, -however, the search through the list will be slow. The precomputed data -is stored in the structures \texttt{hkl\_info} and in an array of -\texttt{hkl\_data} structures (one for each reciprocal lattice point in -the list). In addition, for every neutron event an array of -\texttt{tau\_data} is computed with one element for each reciprocal -lattice point close to the Ewald sphere. Except for the search for -possible $\boldsymbol{\tau}$ vectors, all computations are done in local -coordinates using the matrix $U$ to do the necessary transformations. - -The list of reciprocal lattice points is specified in an ASCII data -file. Each line contains seven numbers, separated by white space. The -first three numbers are the $(h,k,l)$ indices of the reciprocal lattice -point, and the last number is the value of the structure factor -$|F_{\boldsymbol{\tau}}|^2$, in barns. The middle three numbers are not -used and may be omitted; they are nevertheless recommended since this makes -the file format compatible with the output from the Crystallographica -program~\cite{crystallographica}. -Any line beginning with any character of \verb+#;/%+ is considered to be a -comment, and lines which can not be read as vectors/matrices are ignored. - -The column signification may also explicitely be set in the data file header using any of the lines: -\begin{lstlisting} - #column_h - #column_k - #column_l - #column_F2 - #column_F -\end{lstlisting} - -Other component parameters may as well be specified in the data file -header with lines e.g.: +\section{The \texttt{Single\_crystal} McStas Component} +Mosaic single crystal with multiple scattering vectors, optimised for speed +with large crystals and many reflections. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} December 1999 +\end{itemize} + +\subsection*{Description} \begin{lstlisting} - #sigma_abs - #sigma_inc - #Delta_d/d - #lattice_a - #lattice_a - #lattice_a - #lattice_aa - #lattice_bb - #lattice_cc +Single crystal with mosaic. Delta-D/D option for finite-size effects. +Rectangular geometry. Multiple scattering and secondary extinction included. +The mosaic may EITHER be specified isotropic by setting the mosaic input +parameter, OR anisotropic by setting the mosaic_a, mosaic_b, and mosaic_c +parameters. +The crystal lattice can be bent locally, keeping the external geometry unchanged. +Curvature is spherical along vertical and horizontal axes. + +Speed/stat optimisation using SPLIT +In order to dramatically improve the simulation efficiency, we recommend to +use a SPLIT keyword on this component (or prior to it), as well as to disable +the multiple scattering handling by setting order=1. This is especially powerful +for large reflection lists such as with macromolecular proteins. When an incoming +particle is identical to the preceeding, reciprocal space initialisation is +skipped, and a Monte Carlo choice is done on available reflections from the last +repciprocal space calculation! To assist the user in choosing a "relevant" value +of the SPLIT, a rolling average of the number of available reflections is +calculated and presented in the component output. + +Mosacitiy modes: +The component features three independent ways of parametrising mosaicity: +a) The original algorithm where mosaicity is implemented by extending each +reflection by a Gaussian "cigar" in reciprocal space, characterised by +the parameters mosaic and delta_d_d. +(Also known as "isotropic mosaicity".) +b) A similar mode where mosaicities can be non-isotropic and given as the +parameters mosaic_a, mosaic_b and mosaic_c, around the unit cell axes. +(Also known as "anisotropic mosaicity".) +c) Given two "macroscopically"/experimentally measured width/mosaicities +of two independent reflections, parametrised by the list +mosaic_AB = {mos_a, mos_b, a_h, a_k, a_l, b_h, b_k, b_l}, a set of +microscopic mosaicities as in b) are estimated (internally) and applied. +(Also known as "phenomenological mosaicity".) + +Powder- and PG-mode +When these two modes are used (powder=1 or PG=1), a randomised transformation +of the particle direction is made before and after scattering, thereby letting +the single crystal behave as a crystallite of either a powder (crystallite +orientation fully randomised) or pyrolytic graphite (crystallite randomised around +the c-axis). + +Curved crystal mode +The component features a method to curve the lattice planes slightly with respect +to the outer geometry of the crystal. The method is implemented as a transformation +on the particle direction vector, and should be used only in cases where +a) The reflection lattice vector is ~ orthogonal to the crystal surface +b) The modelled curvarture is "small" with respect to the crystal surface + +Sample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth +cylinder: radius x yheight +sphere: radius (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the PLY, OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends on the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Crystal definition file format +Crystal structure is specified with an ascii data file. Each line contains +4 or more numbers, separated by white spaces: + +h k l ... F2 + +The first three numbers are the (h,k,l) indices of the reciprocal lattice +point, and the 7-th number is the value of the structure factor |F|**2, in +barns. The rest of the numbers are not used; the file is in the format +output by the Crystallographica program. +The reflection list should be ordered by decreasing d-spacing values. +Lines begining by '#' are read as comments (ignored). Most sample parameters +may be defined from the data file header, following the same mechanism as +PowderN. + +Current data file header keywords include, for data format specification: +#column_h +#column_k +#column_l +#column_F2 +#column_F +and for material specification: +#sigma_abs +#sigma_inc +#Delta_d/d +#lattice_a +#lattice_b +#lattice_c +#lattice_aa +#lattice_bb +#lattice_cc + +Last, CIF, FullProf and ShelX files can be read, and converted to F2(hkl) lists +if 'cif2hkl' is installed. The CIF2HKL env variable can be used to point to a +proper executable, else the McCode, then the system installed versions are used. + +See the Component Manual for more defails. + +Example: Single_crystal(xwidth=0.01, yheight=0.01, zdepth=0.01, mosaic = 5, reflections="YBaCuO.lau") + +A PG graphite crystal plate, cut for (002) reflections +Single_crystal(xwidth = 0.002, yheight = 0.1, zdepth = 0.1, +mosaic = 30, reflections = "C_graphite.lau", +ax=0, ay=2.14, az=-1.24, +bx = 0, by = 0, bz = 2.47, +cx = 6.71, cy = 0, cz = 0) + +A leucine protein, without multiple scattering +Single_crystal(xwidth=0.005, yheight=0.005, zdepth=0.005, +mosaic = 5, reflections="leucine.lau", order=1) + +A Vanadium incoherent elastic scattering with multiple scattering +Single_crystal(xwidth=0.01, yheight=0.01, zdepth=0.01, +reflections="", sigma_abs=5.08, sigma_inc=4.935, +ax=3.0282, by=3.0282, cz=3.0282/2) + +Also, always use a non-zero value of delta_d_d. + +%VALIDATION: +This component has been validated. + +This sample component can advantageously benefit from the SPLIT feature, e.g. +SPLIT COMPONENT sx = Single_crystal(...) \end{lstlisting} -Example data \verb+*.lau+ files are given in directory \verb+MCSTAS/data+. - -These files contain an extensive self-documented header defining most the sample parameters, so that only the file name and mosaicity should be given to the component: -\begin{lstlisting} - Single_crystal(xwidth=0.01, yheight=0.01, zdepth=0.01, - mosaic = 5, reflections="YBaCuO.lau") -\end{lstlisting} - -Powder files from ICSD/LAZY \cite{icsd_ill} and Fullprof \cite{Fullprof} -may also be used (see Table \ref{t:powders-data}, page \pageref{t:powders-data}). -We do not recommend to use these as the equivalent $\vec q$ vectors are superposed, not -all Bragg spots will be simulated, and the intensity will not be scaled by the -multiplicity for each spot. - +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflections & string & File name containing structure factors of reflections (LAZ LAU CIF, FullProf, ShelX). Use empty ("") or NULL for incoherent scattering only & 0 \\ +geometry & str & Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust & 0 \\ +mosaic\_AB & arc\_minutes, arc\_minutes,1, 1, 1, 1, 1, 1 & In Plane mosaic rotation and plane vectors (anisotropic), mosaic\_A, mosaic\_B, A\_h,A\_k,A\_l, B\_h,B\_k,B\_l. Puts the crystal in the in-plane mosaic state. Vectors A and B define plane in which the crystal roation is defined, and mosaic\_A, mosaic\_B, denotes the resp. mosaicities (gaussian RMS) with respect to the two reflections chosen by A and B (Miller indices). & \{0,0, 0,0,0, 0,0,0\} \\ +xwidth & m & Width of crystal & 0 \\ +yheight & m & Height of crystal & 0 \\ +zdepth & m & Depth of crystal (no extinction simulated) & 0 \\ +radius & m & Outer radius of sample in (x,z) plane & 0 \\ +delta\_d\_d & 1 & Lattice spacing variance, gaussian RMS & 1e-4 \\ +mosaic & arc minutes & Crystal mosaic (isotropic), gaussian RMS. Puts the crystal in the isotropic mosaic model state, thus disregarding other mosaicity parameters. & -1 \\ +mosaic\_a & arc minutes & Horizontal (rotation around lattice vector a) mosaic (anisotropic), gaussian RMS. Put the crystal in the anisotropic crystal vector state. I.e. model mosaicity through rotation around the crystal lattice vectors. Has precedence over in-plane mosaic model. & -1 \\ +mosaic\_b & arc minutes & Vertical (rotation around lattice vector b) mosaic (anisotropic), gaussian RMS. & -1 \\ +mosaic\_c & arc minutes & Out-of-plane (Rotation around lattice vector c) mosaic (anisotropic), gaussian RMS & -1 \\ +recip\_cell & 1 & Choice of direct/reciprocal (0/1) unit cell definition & 0 \\ +barns & 1 & Flag to indicate if |F|\textasciicircum{}2 from 'reflections' is in barns or fm\textasciicircum{}2. barns=1 for laz and isotropic constant elastic scattering (reflections=NULL), barns=0 for lau type files & 0 \\ +ax & AA or AA\textasciicircum{}-1 & Coordinates of first (direct/recip) unit cell vector & 0 \\ +ay & & a on y axis & 0 \\ +az & & a on z axis & 0 \\ +bx & AA or AA\textasciicircum{}-1 & Coordinates of second (direct/recip) unit cell vector & 0 \\ +by & & b on y axis & 0 \\ +bz & & b on z axis & 0 \\ +cx & AA or AA\textasciicircum{}-1 & Coordinates of third (direct/recip) unit cell vector & 0 \\ +cy & & c on y axis & 0 \\ +cz & & c on z axis & 0 \\ +p\_transmit & 1 & Monte Carlo probability for neutrons to be transmitted without any scattering. Used to improve statistics from weak reflections & 0.001 \\ +sigma\_abs & barns & Absorption cross-section per unit cell at 2200 m/s & 0 \\ +sigma\_inc & barns & Incoherent scattering cross-section per unit cell Use -1 to inactivate & 0 \\ +aa & deg & Unit cell angles alpha, beta and gamma. Then uses norms of vectors a,b and c as lattice parameters & 0 \\ +bb & deg & Beta angle & 0 \\ +cc & deg & Gamma angle & 0 \\ +order & 1 & Limit multiple scattering up to given order (0: all, 1: first, 2: second, ...) & 0 \\ +extra\_order & 1 & When using order, allow additional multiple scattering without coherent scattering, sensible with very large unit cells (0: disable, 1: one extra, 2: two extra, ...) & 0 \\ +RX & m & Radius of horizontal along X lattice curvature. flat for 0 & 0 \\ +RY & m & Radius of vertical along Y lattice curvature. flat for 0 & 0 \\ +powder & 1 & Flag to indicate powder mode, for simulation of Debye-Scherrer cones via random crystallite orientation. A powder texture can be approximated with 0\textless{}powder\textless{}1 & 0 \\ +PG & 1 & Flag to indicate "Pyrolytic Graphite" mode, only meaningful with choice of Graphite.lau, models PG crystal. A powder texture can be approximated with 0\textless{}PG\textless{}1 with main axis on 'c' & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/Single_crystal.comp}{Source code} for \texttt{Single\_crystal.comp}. + \item See \textless{}a href="http://icsd.ill.fr"\textgreater{}ICSD\textless{}/a\textgreater{} Inorganic Crystal Structure Database + \item \textless{}a href="http://www.ncnr.nist.gov/resources/n-lengths/"\textgreater{}Cross sections for single elements\textless{}/a\textgreater{} + \item \textless{}a href="http://www.ncnr.nist.gov/resources/sldcalc.html\textgreater{}Cross sections for compounds\textless{}/a\textgreater{} + \item \textless{}a href="http://www.webelements.com/"\textgreater{}Web Elements\textless{}/a\textgreater{} + \item \textless{}a href="http://www.ill.eu/sites/fullprof/index.html"\textgreater{}Fullprof\textless{}/a\textgreater{} powder refinement + \item \textless{}a href="http://www.crystallographica.com/"\textgreater{}Crystallographica\textless{}/a\textgreater{} software + \item \textless{}a href="http://www.geomview.org"\textgreater{}Geomview and Object File Format (OFF)\textless{}/a\textgreater{} + \item Java version of Geomview (display only) \textless{}a href="http://www.holmes3d.net/graphics/roffview/"\textgreater{}jroff.jar\textless{}/a\textgreater{} + \item \textless{}a href="http://qhull.org"\textgreater{}qhull\textless{}/a\textgreater{} + \item \textless{}a href="http://www.cs.ucdavis.edu/\textasciitilde{}amenta/powercrust.html"\textgreater{}powercrust\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Single_crystal_static.tex}{\input{Single_crystal_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/Single_crystal_static.tex b/docs/manuals/mcstas/samples/Single_crystal_static.tex new file mode 100644 index 0000000000..7fb3763f05 --- /dev/null +++ b/docs/manuals/mcstas/samples/Single_crystal_static.tex @@ -0,0 +1,525 @@ +\section{Single\_crystal: The single crystal component} +\label{s:Single_crystal} +\index{Samples!Single crystal diffraction} +\index{Diffraction} +\index{Incoherent elastic scattering} +\index{Multiple scattering} + +%\component{Single\_crystal}{Kristian Nielsen}{$x_{width}, y_{height}, z_{thick}$,$\vec a, \vec b, \vec c, \Delta d/d$, mosaic, reflections}{$\sigma_{abs}, \sigma_{inc}$, ...}{Partially validated, centered. Further validation undergoing. Known BUGS: The component is known not to work as a Bragg monochromator, likely the problem relates to the internal definition of the reciprocal space. Possibly related to this, the model of anistropic mosaic is broken - always use a non-zero isotropic mosaic. Also, always use a non-zero value of the $\Delta d/d$ parameter.} +%\mcdoccomp{samples/Single_crystal.parms} + +The \textbf{Single\_crystal} component models a thick, flat single crystal +with multiple scattering and absorption with elastic coherent scattering. +An elastic incoherent background may also be simulated. +It may be used to describe samples for diffraction, +but also for accurate monochromator descriptions. +The component is currently under further review. The current documentation is outdated, especially with respect to the model of crystal mosaicity. + +The input parameters for the component are \textit{xwidth}, +\textit{yheight}, and \textit{zdepth} to define the dimensions of the +crystal in meters (area is centered); \textit{delta\_d\_d} to give the +value of $\Delta d/d$ (no unit); +$(\textit{ax}, \textit{ay}, \textit{az})$, $(\textit{bx}, \textit{by}, +\textit{bz})$, and $(\textit{cx}, \textit{cy}, \textit{cz})$ to define +the axes of the direct lattice of the crystal (the sides of the unit +cell) in units of {\AA}ngstr{\o}m; and \textit{reflections}, a string +giving the name of the file with the list of structure factors to +consider. +The mosaic is specified \emph{either} isotropically as +\textit{mosaic}, \emph{or} anisotropically as \textit{mosaic\_h} +(rotation around the $Y$ axis), \textit{mosaic\_v} (rotation around the +$Z$ axis), and \textit{mosaic\_n} (rotation around the $X$ axis); in all +cases in units of full-width-half-maximum minutes of arc. + +Optionally, the absorption cross-section at 2200 m/s and the incoherent +cross-section may be given as \textit{absorption} and +\textit{incoherent} (in barns), with default of zero; and +\textit{p\_transmit} may be assigned a fixed Monte Carlo probability for +transmission through the crystal without any interaction. + +The user must specify a list of reciprocal lattice vectors +$\boldsymbol{\tau}$ to consider along with their structure factors +$|F_{\boldsymbol{\tau}}|^2$. The user must also specify the coordinates +(in direct space) of the unit cell axes $\boldsymbol{a}$, +$\boldsymbol{b}$, and $\boldsymbol{c}$, from which the reciprocal lattice +will be computed. See section \ref{s:Single_crystal_implement} for file format specifications. + +In addition to coherent scattering, \textbf{Single\_crystal} also +handles incoherent scattering and absorption. The incoherent scattering +cross-section is supplied by the user as a constant +$\sigma_\textrm{inc}$. The absorption cross-section is supplied by the user at +2200~m/s, so the actual cross-section for a neutron of velocity $v$ is +$\sigma_\textrm{abs} = \sigma_{2200} \frac{\textrm{2200~m/s}}{v}$. + +\subsection{The physical model} + +The textbook expression for the scattering cross-section of a crystal +is~\cite[ch.3]{squires}: +\begin{equation} +\label{eq:sigma_coh_el} +\left(\frac{d\sigma}{d\Omega}\right)_\textrm{coh.el.} = + N\frac{(2\pi)^3}{V_0}\sum_{\boldsymbol{\tau}} + \delta(\boldsymbol{\tau} - \boldsymbol{\kappa})|F_{\boldsymbol{\tau}}|^2 +\end{equation} +Here $|F_{\boldsymbol{\tau}}|^2$ is the structure factor +(defined in section~\ref{powder}), $N$ is the +number of unit cells, $V_0$ is the volume of an +individual unit cell, and $\boldsymbol{\kappa} (= \textbf{k}_i - \textbf{k}_f)$ +is the scattering vector. $\delta(\boldsymbol{x})$ is a 3-dimensional delta +function in reciprocal space, +so for given incoming wave vector $\textbf{k}_i$ and lattice vector +${\boldsymbol{\tau}}$, only a single final wave vector $\textbf{k}_f$ is allowed. +In general, this wavevector will not fulfill the conditions for elastic +scattering $(k_f = k_i)$. +In a real crystal, however, reflections are not perfectly sharp. Because +of imperfection and finite-size effects, there will be a small region +around $\boldsymbol{\tau}$ in reciprocal space of possible scattering vectors. + +\textbf{Single\_crystal} simulates a crystal with a mosaic spread +$\eta$ and a lattice plane spacing uncertainty $\Delta d/d$. In such +crystals the reflections will not be completely sharp; +there will be a small region around each reciprocal lattice point of the +crystal that contains valid scattering vectors. + +We model the mosaicity and $\Delta d/d$ of the crystal with +3-dimensional Gaussian functions in reciprocal space (see +figure~\ref{fig:crystal-reciprocal-space}). Two of the axes of the +Gaussian are perpendicular to the reciprocal lattice vector $\boldsymbol{\tau}$ and model +the mosaicity. The third one is parallel to $\boldsymbol{\tau}$ and models +$\Delta d/d$. We assume that the +mosaicity is small so that the possible directions of the scattering +vector may be approximated with a Gaussian in rectangular +coordinates. +\begin{figure}[t] + \begin{center} + \psfrag{ki}[r][r]{$\boldsymbol{k}_\textrm{i}$} + \psfrag{kf}[l][l]{$\boldsymbol{k}_\textrm{f}$} + \psfrag{tau}[r][r]{$\boldsymbol{\tau}$} + \psfrag{mosaic}[l][l]{$\eta$} + \psfrag{del-d-d}[l][l]{$\Delta d/d$} + \psfrag{Ewald}[l][l]{Ewald} + \psfrag{Sphere}[l][l]{Sphere} + \includegraphics[width=0.7\textwidth]{figures/recip_space3} + \end{center} +\caption{Ewald sphere construction for a single neutron showing the + Gaussian broadening of reciprocal lattice points in their local + coordinate system.} +\label{fig:crystal-reciprocal-space} +\end{figure} + +If the mosaic is isotropic (the same in all directions), the two +Gaussian axes perpendicular to $\boldsymbol{\tau}$ are simply arbitrary +normal vectors of equal length given by the mosaic. But if the mosaic +is anisotropic, the two perpendicular axes will in general be different +for each scattering vector. In the absence of anything better, +\textbf{Single\_crystal} uses a model which is at least mathematically +plausible and which works as expected in the two common cases: +(1)~isotropic mosaic, and (2)~two mosaic directions (``horizontal and +vertical mosaic'') perpendicular to a scattering vector. + +The basis for the model is a three-dimensional Gaussian distribution in +Euler angles giving the orientation probability distribution for the +micro-crystals; that is, the misorientation is given by small rotations +around the $X$, $Y$, and $Z$ axes, with the rotation angles having (in +general different) Gaussian probability distributions. For given +scattering vector $\boldsymbol{\tau}$, a rotation of the micro-crystals +around an axis parallel to $\boldsymbol{\tau}$ has no effect on the +direction of the scattering vector. Suppose we form the intersection +between the three-dimensional Gaussian in Euler angles and a plane +through the origin perpendicular to $\boldsymbol{\tau}$. This gives a +two-dimensional Gaussian, say with axes defined by unit vectors +$\boldsymbol{g}_1$ and $\boldsymbol{g}_2$ and mosaic widths $\eta_1$ and +$\eta_2$. + +We now let the mosaic for $\boldsymbol{\tau}$ be defined by rotations +around $\boldsymbol{g}_1$ and $\boldsymbol{g}_2$ with angles having +Gaussian distributions of widths $\eta_1$ and $\eta_2$. Since +$\boldsymbol{g}_1$, $\boldsymbol{g}_2$, and $\boldsymbol{\tau}$ are +perpendicular, a small rotation of $\boldsymbol{\tau}$ around +$\boldsymbol{g}_1$ will change $\boldsymbol{\tau}$ in the direction of +$\boldsymbol{g}_2$. The two axes of the Gaussian mosaic in reciprocal +space that are perpendicular to $\boldsymbol{\tau}$ will thus be given +by $\tau\eta_2\boldsymbol{g}_1$ and $\tau\eta_1\boldsymbol{g}_2$. + +We now derive a quantitative expression for the scattering cross-section +of the crystal in the model. For this, we introduce a \emph{local + coordinate system} for each reciprocal lattice point +$\boldsymbol{\tau}$ and use $\boldsymbol{x}$ for vectors written in local +coordinates. The origin is $\boldsymbol{\tau}$, the first axis +is parallel to $\boldsymbol{\tau}$ and the other two axes are +perpendicular to $\boldsymbol{\tau}$. In the local coordinate system, +the 3-dimensional Gaussian is given by +\begin{equation} + \label{eq:crystal-gauss-1} + G(x_1,x_2,x_3) = \frac{1}{(\sqrt{2\pi})^3}\frac{1}{\sigma_1\sigma_2\sigma_3} + e^{-\frac{1}{2}(\frac{x_1^2}{\sigma_1^2} + + \frac{x_2^2}{\sigma_2^2} + \frac{x_3^2}{\sigma_3^2})} +\end{equation} +The axes of the Gaussian are $\sigma_1 = \tau\Delta d/d$ and $\sigma_2 = +\sigma_3 = \eta\tau$. Here we used the assumption that $\eta$ is small, +so that $\tan\eta \approx \eta$ (with $\eta$ given in radians). By +introducing the diagonal matrix +$$ +D = \left( + \begin{array}[c]{ccc} + \frac{1}{2}\sigma_1^2 & 0 & 0 \\ + 0 & \frac{1}{2}\sigma_2^2 & 0 \\ + 0 & 0 & \frac{1}{2}\sigma_3^2 + \end{array}\right) +$$ +equation~(\ref{eq:crystal-gauss-1}) can be written as +\begin{equation} + G(\boldsymbol{x}) = + \frac{1}{(\sqrt{2\pi})^3}\frac{1}{\sigma_1\sigma_2\sigma_3} + e^{-\boldsymbol{x}^\textrm{T} D \boldsymbol{x}} +\end{equation} +again with $\boldsymbol{x}=(x_1,x_2,x_3)$ written in local coordinates. + +To get an expression in the coordinates of the reciprocal lattice of the +crystal, we introduce a matrix $U$ such that if $\boldsymbol{y} = +(y_1,y_2,y_3)$ are the global coordinates of a point in the crystal +reciprocal lattice, then $U(\boldsymbol{y} + \boldsymbol{\tau})$ are the +coordinates in the local coordinate system for $\boldsymbol{\tau}$. The +matrix $U$ is given by +$$ U^\textrm{T} = (\hat{u}_1, \hat{u}_2, \hat{u}_3), $$ +where $\hat{u}_1$, $\hat{u}_2$, and $\hat{u}_3$ are the axes of the +local coordinate system, written in the global coordinates of the +reciprocal lattice. Thus +$\hat{u}_1 = \boldsymbol{\tau}/\tau$, and $\hat{u}_2$ and $\hat{u}_3$ are +unit vectors perpendicular to $\hat{u}_1$ and to each other. +The matrix $U$ is unitarian, that is +$U^{-1} = U^\textrm{T}$. The translation between global and local +coordinates is +$$ \boldsymbol{x} = U(\boldsymbol{y} + \boldsymbol{\tau}) \qquad + \boldsymbol{y} = U^\textrm{T} \boldsymbol{x} - \boldsymbol{\tau} $$ + +The expression for the 3-dimensional Gaussian in global coordinates is +\begin{equation} + G(\boldsymbol{y}) = + \frac{1}{(\sqrt{2\pi})^3}\frac{1}{\sigma_1\sigma_2\sigma_3} + e^{-(U(\boldsymbol{y}+\boldsymbol{\tau}))^\textrm{T} D (U(\boldsymbol{y}+\boldsymbol{\tau}))} +\end{equation} +The elastic coherent cross-section is then given by +\begin{equation} + \label{eq:crystal-cross-section} + \left(\frac{d\sigma}{d\Omega}\right)_\textrm{coh.el.} = + N\frac{(2\pi)^3}{V_0}\sum_{\boldsymbol{\tau}} + G(\boldsymbol{\tau} - \boldsymbol{\kappa}) + |F_{\boldsymbol{\tau}}|^2 +\end{equation} + +\subsection{The algorithm} + +The overview of the algorithm used in the Single\_crystal component is +as follows: +\begin{enumerate} +\item\label{enum:crystal-1} Check if the neutron intersects the + crystal. If not, no action is taken. +\item\label{enum:crystal-2} Search through a list of reciprocal lattice + points of interest, selecting those that are close enough to the Ewald + sphere to have a non-vanishing scattering probability. From these, + compute the total coherent cross-section $\sigma_\textrm{coh}$ (see + below), the absorption cross-section $\sigma_\textrm{abs} = \sigma_\textrm{ + 2200} \frac{\textrm{2200~m/s}}{v}$, and the total cross-section + $\sigma_\textrm{tot} = \sigma_\textrm{coh}+\sigma_\textrm{inc}+\sigma_\textrm{abs}$. +\item\label{enum:crystal-3} The transmission probability is + $\exp(- \frac{\sigma_\textrm{tot}}{V_0}\ell)$ where $\ell$ is the length of + the flight path through the crystal. A Monte Carlo choice is + performed to determine + whether the neutron is transmitted. Optionally, the user may + set a fixed Monte Carlo probability for the first scattering event, + for example to boost the statistics for a weak reflection. +\item\label{enum:crystal-4} For non-transmission, the position at which + the neutron will interact is selected from an exponential + distribution. A Monte Carlo choice is made of whether to scatter + coherently or incoherently. Absorption is treated by weight adjustment + (see below). +\item\label{enum:crystal-5} For incoherent scattering, the outgoing wave + vector $\boldsymbol{k}_\textrm{f}$ is selected with a random direction. +\item\label{enum:crystal-6} For coherent scattering, a reciprocal + lattice vector is selected by a Monte Carlo choice, and + $\boldsymbol{k}_\textrm{f}$ is found (see below). +\item\label{enum:crystal-7} Adjust the neutron weight as dictated by the + Monte Carlo choices made. +\item\label{enum:crystal-8} Repeat from~(\ref{enum:crystal-2}) until the + neutron is transmitted (to simulate multiple scattering). +\end{enumerate} + +For point~\ref{enum:crystal-2}, the distance +\textit{dist} between a reciprocal lattice point and the Ewald sphere is +considered small enough to allow scattering if it is less than five +times the maximum axis of the Gaussian, $\textit{dist} \leq +5\max(\sigma_1,\sigma_2,\sigma_3)$. + +\subsection{Choosing the outgoing wave vector} + +The final wave vector $\boldsymbol{k}_\textrm{f}$ must lie on the +intersection between the Ewald sphere and the Gaussian ellipsoid. Since +$\eta$ and $\Delta d/d$ are assumed small, the intersection can be +approximated with a plane tangential to the sphere, see +figure~\ref{fig:crystal-scattering-tri}. The tangential point is taken +to lie on the line between the center of the Ewald sphere +$-\boldsymbol{k}_\textrm{i}$ and the reciprocal lattice point +$\boldsymbol{\tau}$. Since the radius of the Ewald sphere is $k_\textrm{ + i}$, this point is +$$ \boldsymbol{o}=(k_\textrm{i}/\rho - 1)\boldsymbol{\rho} - \boldsymbol{\tau} $$ +where $\boldsymbol{\rho} = \boldsymbol{k}_\textrm{i} - \boldsymbol{\tau}$. +\begin{figure}[t] + \begin{center} + \psfrag{ki}[r][r]{$\boldsymbol{k}_\textrm{i}$} + \psfrag{kf}[l][l]{$\boldsymbol{k}_\textrm{f}$} + \psfrag{rho}[r][r]{$\boldsymbol{\rho}$} + \psfrag{tau}[r][r]{$\boldsymbol{\tau}$} + \psfrag{x}[l][l]{$\boldsymbol{x}$} + \psfrag{Ewald}[r][r]{Ewald} + \psfrag{Sphere}[r][r]{Sphere} + \psfrag{Tangential}[l][l]{Tangential} + \psfrag{plane}[l][l]{plane} + \includegraphics[width=0.7\textwidth]{figures/recip-detail} + \end{center} +\caption{The scattering triangle in the single crystal.} +\label{fig:crystal-scattering-tri} +\end{figure} + +The equation for the plane is +\begin{equation} + \label{eq:crystal-tangent-plane} + \boldsymbol{P}(\boldsymbol{t}) = \boldsymbol{o} + B \boldsymbol{t}, \qquad + \boldsymbol{t} \in \mathbb{R}^2 +\end{equation} +Here $B = (\boldsymbol{b}_1, \boldsymbol{b}_2)$ is a $3\times 2$ matrix +with the two generators for the plane $\boldsymbol{b}_1$ and +$\boldsymbol{b}_2$. These are (arbitrary) unit vectors in the plane, +being perpendicular to +each other and to the plane normal $\boldsymbol{n} = +\boldsymbol{\rho}/\rho$. + +Each $\boldsymbol{t}$ defines a potential final wave vector +$\boldsymbol{k}_\textrm{f}(\boldsymbol{t}) = \boldsymbol{k}_\textrm{i} + +\boldsymbol{P}(\boldsymbol{t})$. The value of the 3-dimensional Gaussian +for this $\boldsymbol{k}_\textrm{f}$ is +\begin{equation} + \label{eq:crystal-gauss-t-1} + G(\boldsymbol{x}(\boldsymbol{t})) = + \frac{1}{(\sqrt{2\pi})^3}\frac{1}{\sigma_1\sigma_2\sigma_3} + e^{-\boldsymbol{x}(\boldsymbol{t})^\textrm{T} D \boldsymbol{x}(\boldsymbol{t})} +\end{equation} +where $\boldsymbol{x}(\boldsymbol{t}) = \boldsymbol{\tau} - +(\boldsymbol{k}_\textrm{i} - \boldsymbol{k}_\textrm{f}(\boldsymbol{t}))$ is +given in local coordinates for $\boldsymbol{\tau}$. It can be shown that +equation~(\ref{eq:crystal-gauss-t-1}) can be re-written as +\begin{equation} + \label{eq:crystal-gauss-2} + G(\boldsymbol{x}(\boldsymbol{t})) = + \frac{1}{(\sqrt{2\pi})^3}\frac{1}{\sigma_1\sigma_2\sigma_3} e^{-\alpha} + e^{-(\boldsymbol{t}-\boldsymbol{t}_0)^\textrm{T} M + (\boldsymbol{t}-\boldsymbol{t}_0)} +\end{equation} +where $M = B^\textrm{T} D B$ is a $2 \times 2$ symmetric and positive +definite matrix, $\boldsymbol{t}_0 = -M^{-1}B^\textrm{T} D \boldsymbol{o}$ +is a 2-vector, and $\alpha = -\boldsymbol{t}_0^\textrm{T} M +\boldsymbol{t}_0 + \boldsymbol{o}^\textrm{T} D \boldsymbol{o}$ is a real +number. Note that this is a two-dimensional Gaussian (not necessarily +normalized) in $\boldsymbol{t}$ with center $\boldsymbol{t}_0$ and axis +defined by $M$. + +To choose $\boldsymbol{k}_\textrm{f}$ we sample $\boldsymbol{t}$ from the +2-dimensional Gaussian distribution~(\ref{eq:crystal-gauss-2}). To do +this, we first construct the Cholesky decomposition of the matrix +$(\frac{1}{2}M^{-1})$. This gives a $2\times 2$ matrix $L$ such that $L +L^\textrm{T} = \frac{1}{2}M^{-1}$ and is possible since $M$ is symmetric +and positive definite. It is given by +$$ + L = \left( + \begin{array}[c]{cc} + \sqrt{\nu_{11}} & 0 \\ + \frac{\nu_{12}}{\sqrt{\nu_{11}}} & \sqrt{\nu_{22} - \frac{\nu_{12}^2}{\nu_{11}}} + \end{array}\right) +\qquad\hbox{where } + \frac{1}{2}M^{-1} = \left( + \begin{array}[c]{cc} + \nu_{11} & \nu_{12} \\ + \nu_{12} & \nu_{22} + \end{array}\right) +$$ +Now let $\boldsymbol{g} = (g_1, g_2)$ be two random numbers drawn form a +Gaussian distribution with mean 0 and standard deviation 1, and let +$\boldsymbol{t} = L\boldsymbol{g} + \boldsymbol{t}_0$. The probability +of a particular $\boldsymbol{t}$ is then +\begin{eqnarray} + P(\boldsymbol{t})d\boldsymbol{t} + &=& \frac{1}{2\pi} + e^{-\frac{1}{2}\boldsymbol{g}^\textrm{T}\boldsymbol{g}} d\boldsymbol{g} \\ + &=& \frac{1}{2\pi}\frac{1}{\det L} + e^{-\frac{1}{2}(L^{-1}(\boldsymbol{t}-\boldsymbol{t}_0))^\textrm{T} + (L^{-1}(\boldsymbol{t}-\boldsymbol{t}_0))} d\boldsymbol{t} \\ + &=& \frac{1}{2\pi}\frac{1}{\det L} + e^{-(\boldsymbol{t}-\boldsymbol{t}_0)^\textrm{T} + M(\boldsymbol{t}-\boldsymbol{t}_0)} d\boldsymbol{t} + \label{eq:crystal-gauss-prob-1} +\end{eqnarray} +where we used that +$\boldsymbol{g}=L^{-1}(\boldsymbol{t}-\boldsymbol{t}_0)$ so that +$d\boldsymbol{g} = \frac{1}{\det L}d\boldsymbol{t}$. This is just the +normalized form of~(\ref{eq:crystal-gauss-2}). Finally we set +$\boldsymbol{k}'_\textrm{f} = \boldsymbol{k}_\textrm{i} + +\boldsymbol{P}(\boldsymbol{t})$ and +$\boldsymbol{k}_\textrm{f} = (k_\textrm{i}/k'_f)\boldsymbol{k}'_\textrm{f}$ to +normalize the length of $\boldsymbol{k}_\textrm{f}$ to correct for the +(small) error introduced by approximating the Ewald sphere with a plane. + +\subsection{Computing the total coherent cross-section} + +To determine the total coherent scattering cross-section, the differential +cross-section must be integrated over the Ewald sphere: +$$ +\sigma_\textrm{coh} = \int_\textrm{Ewald} +\left(\frac{d\sigma}{d\Omega}\right)_\textrm{coh.el.} d\Omega +$$ +For small mosaic we may approximate the sphere with the tangential +plane, and we thus get from~(\ref{eq:crystal-cross-section}) +and~(\ref{eq:crystal-gauss-2}): +\begin{eqnarray} + \label{eq:crystal-coh-cs} + \sigma_{\textrm{coh},\boldsymbol{\tau}} &=& \int N\frac{(2\pi)^3}{V_0} + G(\boldsymbol{\tau} - \boldsymbol{\kappa}) + |F_{\boldsymbol{\tau}}|^2 d\Omega \\ + &=& \frac{1}{\boldsymbol{k}_i^2} N\frac{(2\pi)^3}{V_0} + \frac{1}{(\sqrt{2\pi})^3}\frac{e^{-\alpha}}{\sigma_1\sigma_2\sigma_3} + |F_{\boldsymbol{\tau}}|^2 + \int e^{-(\boldsymbol{t}-\boldsymbol{t}_0)^\textrm{T} M + (\boldsymbol{t}-\boldsymbol{t}_0)} + d\boldsymbol{t} \\ + &=& \det(L) \frac{1}{\boldsymbol{k}_i^2} N\frac{(2\pi)^{3/2}}{V_0} + \frac{e^{-\alpha}}{\sigma_1\sigma_2\sigma_3} + |F_{\boldsymbol{\tau}}|^2 + \int e^{-\frac{1}{2}\boldsymbol{g}^\textrm{T}\boldsymbol{g}} + d\boldsymbol{g} \\ + &=& 2\pi\det(L) \frac{1}{\boldsymbol{k}_i^2} N\frac{(2\pi)^{3/2}}{V_0} + \frac{e^{-\alpha}}{\sigma_1\sigma_2\sigma_3} + |F_{\boldsymbol{\tau}}|^2 \\ + &=& \frac{\det(L)}{\boldsymbol{k}_i^2} N\frac{(2\pi)^{5/2}}{V_0} + \frac{e^{-\alpha}}{\sigma_1\sigma_2\sigma_3} + |F_{\boldsymbol{\tau}}|^2 \\ + \sigma_\textrm{coh} &=& \sum_{\boldsymbol{\tau}} \sigma_{\textrm{coh},\boldsymbol{\tau}} +\end{eqnarray} +As before, we let $\boldsymbol{g} = L^{-1}(\boldsymbol{t} - +\boldsymbol{t}_0)$ so that $d\boldsymbol{t} = \det(L) d\boldsymbol{g}$. + +\paragraph{Neutron weight factor adjustment} + +We now calculate the correct neutron weight adjustment for the Monte +Carlo choices made. In three cases is a Monte Carlo choice made with a +probability different from the probability of the corresponding physical +event: When deciding whether to transmit the neutron or not, when +simulating absorption, and when selecting the reciprocal lattice vector +$\boldsymbol{\tau}$ to scatter from. + +If the user has choosen a fixed transmission probability $f(\textrm{ + transmit}) = p_\textrm{transmit}$, the neutron weight must be adjusted by +$$ \pi(\textrm{transmit}) = \frac{P(\textrm{transmit})}{f(\textrm{transmit})} +$$ +where $P(\textrm{transmit}) = \exp(-\frac{\sigma_\textrm{tot}}{V_0}\ell)$ is +the physical transmission probability. Likewise, for non-transmission +the adjustment is +$$ \pi(\textrm{no~transmission}) = \frac{1-P(\textrm{transmit})}{1-f(\textrm{transmit})}. +$$ + +Absorption is never explicitly simulated, so the Monte Carlo probability +of coherent or incoherent scattering is +$f(\textrm{coh})+f(\textrm{inc}) = 1$. +The physical probability of coherent or incoherent scattering is +$$ P(\textrm{coh})+P(\textrm{inc}) = \frac{\sigma_\textrm{coh} + \sigma_\textrm{ + inc}}{\sigma_\textrm{tot}}, $$ +so again a weight adjustment $\pi(\textrm{coh}|\textrm{inc}) = \Pi(\textrm{ + coh}|\textrm{inc})/f(\textrm{coh}|\textrm{inc})$ is needed. + +When choosing the reciprocal lattice vector $\boldsymbol{\tau}$ to +scatter from, the relative probability for $\boldsymbol{\tau}$ is +$r_{\boldsymbol{\tau}} = \sigma_{\textrm{ + coh},\boldsymbol{\tau}}/|F_{\boldsymbol{\tau}}|^2$. This is done to +get better statistics for weak reflections. The Monte Carlo probability +for the reciprocal lattice vector $\boldsymbol{\tau}$ is thus +$$ f(\boldsymbol{\tau}) = +\frac{r_{\boldsymbol{\tau}}}{\sum_{\boldsymbol{\tau}} r_{\boldsymbol{\tau}}} +$$ +whereas the physical probability is $P(\boldsymbol{\tau}) = \sigma_{\textrm{ + coh},\boldsymbol{\tau}}/\sigma_\textrm{coh}$. A weight adjustment is +thus needed of +$$ +\pi(\boldsymbol{\tau}) = + \frac{P(\boldsymbol{\tau})}{f(\boldsymbol{\tau})} = + \frac{\sigma_{\textrm{coh},\boldsymbol{\tau}} + \sum_{\boldsymbol{\tau}} r_{\boldsymbol{\tau}}} + {\sigma_\textrm{coh} \; r_{\boldsymbol{\tau}}}.$$ + +In most cases, however, only one reflection is possible, whence $\pi=1$. + +\subsection{Implementation details} +\label{s:Single_crystal_implement} + +The equations describing \textbf{Single\_crystal} are quite +complex, and consequently the code is fairly sizeable. Most of it is +just the expansion of the vector and matrix equations in individual +coordinates, and should thus be straightforward to follow. + +The implementation pre-computes a lot of the necessary values in the +\texttt{INITIALIZE} section. It is thus actually very efficient despite +the complexity. If the list of reciprocal lattice points is big, +however, the search through the list will be slow. The precomputed data +is stored in the structures \texttt{hkl\_info} and in an array of +\texttt{hkl\_data} structures (one for each reciprocal lattice point in +the list). In addition, for every neutron event an array of +\texttt{tau\_data} is computed with one element for each reciprocal +lattice point close to the Ewald sphere. Except for the search for +possible $\boldsymbol{\tau}$ vectors, all computations are done in local +coordinates using the matrix $U$ to do the necessary transformations. + +The list of reciprocal lattice points is specified in an ASCII data +file. Each line contains seven numbers, separated by white space. The +first three numbers are the $(h,k,l)$ indices of the reciprocal lattice +point, and the last number is the value of the structure factor +$|F_{\boldsymbol{\tau}}|^2$, in barns. The middle three numbers are not +used and may be omitted; they are nevertheless recommended since this makes +the file format compatible with the output from the Crystallographica +program~\cite{crystallographica}. +Any line beginning with any character of \verb+#;/%+ is considered to be a +comment, and lines which can not be read as vectors/matrices are ignored. + +The column signification may also explicitely be set in the data file header using any of the lines: +\begin{lstlisting} + #column_h + #column_k + #column_l + #column_F2 + #column_F +\end{lstlisting} + +Other component parameters may as well be specified in the data file +header with lines e.g.: +\begin{lstlisting} + #sigma_abs + #sigma_inc + #Delta_d/d + #lattice_a + #lattice_a + #lattice_a + #lattice_aa + #lattice_bb + #lattice_cc +\end{lstlisting} + +Example data \verb+*.lau+ files are given in directory \verb+MCSTAS/data+. + +These files contain an extensive self-documented header defining most the sample parameters, so that only the file name and mosaicity should be given to the component: +\begin{lstlisting} + Single_crystal(xwidth=0.01, yheight=0.01, zdepth=0.01, + mosaic = 5, reflections="YBaCuO.lau") +\end{lstlisting} + +Powder files from ICSD/LAZY \cite{icsd_ill} and Fullprof \cite{Fullprof} +may also be used (see Table \ref{t:powders-data}, page \pageref{t:powders-data}). +We do not recommend to use these as the equivalent $\vec q$ vectors are superposed, not +all Bragg spots will be simulated, and the intensity will not be scaled by the +multiplicity for each spot. + diff --git a/docs/manuals/mcstas/samples/Single_magnetic_crystal.tex b/docs/manuals/mcstas/samples/Single_magnetic_crystal.tex new file mode 100644 index 0000000000..16a0a61f93 --- /dev/null +++ b/docs/manuals/mcstas/samples/Single_magnetic_crystal.tex @@ -0,0 +1,98 @@ +\section{The \texttt{Single\_magnetic\_crystal} McStas Component} +Release: McStas 2.6 + +Mosaic magnetic single crystal with multiple scattering vectors. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Erik B Knudsen and Linda Udby + \item \textbf{Origin:} DTU Physics + \item \textbf{Date:} Jan 2020 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +WARNING: This is an experimental component - no experimental validation has yet been done + +Single magnetic crystal with mosaic. Delta-D/D option for finite-size effects. +Multiple scattering and secondary extinction included. +The mosaic may EITHER be specified isotropic by setting the mosaic input +parameter, OR anisotropic by setting the mosaic_h, mosaic_v, and mosaic_n +parameters. + +The scattering is computed solely in an spin up-down configuration. That is the +scattering is considered in relation to the externally defined vector (mx,my,mz), where it +can be either SF or NSF. +Simplifications and comments : +Lande splitting factor is assumed to be g=2 +Magnetic form factors are set =1 + +Sample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth +cylinder: radius x yheight +sphere: radius (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using qhull/powercrust, and +viewed with geomview +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Also, always use a non-zero value of delta_d_d. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +atom\_sites & str & File name containing the atoms present in the unit cell. Use empty ("") or NULL for sigma\_inc scattering only & 0 \\ +geometry & str & Name of an Object File Format (OFF) file for complex geometry. The OFF file may be generated from XYZ coordinates using qhull/powercrust & NULL \\ +xwidth & m & Width of crystal & 0 \\ +yheight & m & Height of crystal & 0 \\ +zdepth & m & Depth of crystal (no extinction simulated) & 0 \\ +radius & m & Outer radius of sample in (x,z) plane & 0 \\ +delta\_d\_d & 1 & Lattice spacing variance, gaussian RMS & 1e-4 \\ +mosaic & arcmin & Crystal mosaic (isotropic), gaussian RMS & -1 \\ +mosaic\_h & arcmin & Horizontal (rotation around Y) mosaic (anisotropic), gaussian RMS & -1 \\ +mosaic\_v & arcmin & Vertical (rotation around Z) mosaic (anisotropic), gaussian RMS & -1 \\ +mosaic\_n & arcmin & Out-of-plane (Rotation around X) mosaic (anisotropic), gaussian RMS & -1 \\ +recip\_cell & 1 & Choice of direct/reciprocal (0/1) unit cell definition & 0 \\ +q\_min & AA\textasciicircum{}-1 & lower boundary of momentum transfer range to generate hkls in & 0 \\ +q\_max & AA\textasciicircum{}-1 & upper boundary of momentum transfer range to generate hkls in & -1 \\ +mx & 1 & & 0 \\ +my & 1 & Coordinates of vector defining the SF/NSF direction & 1 \\ +mz & 1 & & 0 \\ +na & 1 & & 1 \\ +nb & 1 & Unit cell multipliers. The specified unit cell vectors are scaled by these factors. Note that the mulitpliers are applied directly to the raw input data. I.e. if recip. cell vectors are given, multipliers should be \textless{}1 (= 1/n). F.i. used to specify a magnetic unit cell which is larger than the chemical unit cell. & 1 \\ +nc & 1 & & 1 \\ +ax & AA or AA\textasciicircum{}-1 & & 0 \\ +ay & AA or AA\textasciicircum{}-1 & Coordinates of first (direct/recip) unit cell vector & 0 \\ +az & AA or AA\textasciicircum{}-1 & & 0 \\ +bx & AA or AA\textasciicircum{}-1 & & 0 \\ +by & AA or AA\textasciicircum{}-1 & Coordinates of second (direct/recip) unit cell vector & 0 \\ +bz & AA or AA\textasciicircum{}-1 & & 0 \\ +cx & AA or AA\textasciicircum{}-1 & & 0 \\ +cy & AA or AA\textasciicircum{}-1 & Coordinates of third (direct/recip) unit cell vector & 0 \\ +cz & AA or AA\textasciicircum{}-1 & & 0 \\ +p\_transmit & 1 & Monte Carlo probability for neutrons to be transmitted without any scattering. Used to improve statistics from weak reflections & -1 \\ +sigma\_abs & barns & absorption cross-section per unit cell at 2200 m/s & 0 \\ +sigma\_inc & barns & incoherent scattering cross-section per unit cell & 0 \\ +order & 1 & limit multiple scattering up to given order (0: all, 1: first, 2: second, ...) & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/Single_magnetic_crystal.comp}{Source code} for \texttt{Single\_magnetic\_crystal.comp}. +\end{itemize} +\IfFileExists{Single_magnetic_crystal_static.tex}{\input{Single_magnetic_crystal_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/TOFRes_sample.tex b/docs/manuals/mcstas/samples/TOFRes_sample.tex new file mode 100644 index 0000000000..d94ea4fddc --- /dev/null +++ b/docs/manuals/mcstas/samples/TOFRes_sample.tex @@ -0,0 +1,75 @@ +\section{The \texttt{TOFRes\_sample} McStas Component} +Sample for TOF resolution function calculation. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} KL, 10 October 2004 + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 1999 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +An inelastic sample with completely uniform scattering in both solid angle +and energy. This sample is used together with the TOFRes_monitor component +and (optionally) the mcresplot front-end to compute the resolution +function of all time-of-flight instruments. +The method of time focusing is used to optimize the simulations. + +The shape of the sample is either: +1. Hollow cylinder (Please note that the cylinder **must** be specified with both +a radius and a wall-thickness!) +2. A massive, rectangular box specified with dimensions xwidth, yheight, zdepth. +(i.e. **withouht** a thickness) + +hollow cylinder shape **must** be specified with both a radius and a wall-thickness. +The box is + +The scattered neutrons will have directions towards a given target and +detector arrival time in an interval of time_width centered on time_bin. +This target area is default disk shaped, but may also be rectangular +if specified focus_xw and focus_yh +or focus_aw and focus_ah, respectively in meters and degrees. +The target itself is either situated according to given coordinates (x,y,z), +or setting the relative target_index of the component to focus at +(next is +1). This target position will be set to its AT position. +When targeting to centered components, such as spheres or cylinders, +define an Arm component where to focus at. + +Example: TOFRes_sample(thickness=0.001, radius=0.01, yheight=0.04, focus_xw=0.025, focus_yh=0.025, time_bin=3e4, time_width=200, target_x=0, target_y=0, target_z=1) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +thickness & m & Thickness of hollow cylinder in (x,z) plane & 0 \\ +radius & m & Outer radius of hollow cylinder & 0.01 \\ +yheight & m & vert. dimension of sample, as a height & 0.05 \\ +focus\_r & m & Radius of sphere containing target & 0.05 \\ +time\_bin & us & position of time bin & 20000 \\ +time\_width & us & width of time bin & 10 \\ +f & 1 & Adaptive time-shortening factor & 50 \\ +target\_x & & & 0 \\ +target\_y & m & position of target to focus at & 0 \\ +target\_z & & & .5 \\ +focus\_xw & m & horiz. dimension of a rectangular area & 0 \\ +focus\_yh & m & vert. dimension of a rectangular area & 0 \\ +focus\_aw & deg & horiz. angular dimension of a rectangular area & 0 \\ +focus\_ah & deg & vert. angular dimension of a rectangular area & 0 \\ +xwidth & m & horiz. dimension of sample, as a width & 0 \\ +zdepth & m & depth of sample & 0 \\ +target\_index & 1 & relative index of component to focus at, e.g. next is +1 & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/TOFRes_sample.comp}{Source code} for \texttt{TOFRes\_sample.comp}. +\end{itemize} +\IfFileExists{TOFRes_sample_static.tex}{\input{TOFRes_sample_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/Tunneling_sample.tex b/docs/manuals/mcstas/samples/Tunneling_sample.tex index c8441c3c7d..8095a03cdc 100644 --- a/docs/manuals/mcstas/samples/Tunneling_sample.tex +++ b/docs/manuals/mcstas/samples/Tunneling_sample.tex @@ -1,66 +1,77 @@ -\section{Tunneling\_sample: An incoherent inelastic scatterer} -\label{s:Tunneling_sample} -\index{Samples!Incoherent inelastic scatterer} -\index{Incoherent inelastic scattering} +\section{The \texttt{Tunneling\_sample} McStas Component} +A Double-cylinder shaped all-incoherent scatterer +with elastic, quasielastic (Lorentzian), and tunneling (sharp) +components. -%\component{Tunneling\_sample}{System}{$r_\textrm{i}$, $r_\textrm{o}$, $h$, $r_\textrm{foc}$, $x_\textrm{target}$, $y_\textrm{target}$, $z_\textrm{target}$}{$w_x$, $h_y$, $t_z$, $w_\textrm{focus}, h_\textrm{focus}$, $w_\textrm{foc, angle}$, $h_\textrm{foc, angle}$, $\sigma_\textrm{abs}$, $\sigma_\textrm{inc}$, $V_0$, $f_\textrm{pack}$, $f_\textrm{QE}$, $f_\textrm{tun}$, $\Gamma$, $E_\textrm{tun}$, target\_index}{not validated} +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 10.05.07 +\end{itemize} -\mcdoccomp{samples/Tunneling_sample.parms} +\subsection*{Description} +\begin{lstlisting} +A Double-cylinder shaped all-incoherent scatterer +with both elastic, quasielastic (Lorentzian), and tunneling (sharp) +components. No multiple scattering. Absorbtion included. +The shape of the sample may be a box with dimensions xwidth, yheight, zdepth. +The area to scatter to is a disk of radius 'focus_r' situated at the target. +This target area may also be rectangular if specified focus_xw and focus_yh +or focus_aw and focus_ah, respectively in meters and degrees. +The target itself is either situated according to given coordinates (x,y,z), +or defined with the relative target_index of the component to focus +to (next is +1). +This target position will be set to its AT position. When targeting to +centered components, such as spheres or cylinders, define an Arm component +where to focus to. -The component \textbf{Tunneling\_sample} -displays incoherent inelastic scattering as found in a number of systems, {\em e.g.} -containing mobile hydrogen. +The outgoing polarization is calculated as for nuclear spin incoherence: +P' = 1/3*P-2/3P = -1/3P +As above multiple scattering is ignored . -For the sample geometry, we default use a -hollow cylinder (which has the solid cylinder as a limiting case). -The sample dimensions are: Inner radius $r_\textrm{i}$, -outer radius $r_\textrm{o}$, and height $h$. This geometry is the same as -the default for \textbf{V\_sample}, see figure \ref{f:v-sample}. +Example: Tunneling_sample(thickness=0.001,radius=0.01,yheight=0.02,focus_r=0.035, +target_index=1) +\end{lstlisting} -As for \textbf{V\_sample}, the sample geometry can be made rectangular -by specifying the width, $w_x$, the height, $h_y$, and the thickness, $t_z$. +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. -Also the focusing properties are the same as for \textbf{V\_sample}. -For the focusing is performed as a uniform distribution on -a target sphere of radius $r_\textrm{foc}$, at the position -$(x_\textrm{target},y_\textrm{target},z_\textrm{target})$ -in the local coordinate system. -The focusing can alternatively be performed on a rectangle with dimensions -$w_\textrm{focus}$, $h_\textrm{focus}$, or uniformly in angular space -(in a small-angle approximation), -using $w_\textrm{foc, angle}$, $h_\textrm{foc, angle}$. -The focusing location can be picked to be a downstream component by -specifying \verb+target_index+. - -The incoherent and absorption cross sections for V are default -for the component. For other choices, the -parameters $\sigma_\textrm{inc}$, $\sigma_\textrm{abs}$, -and the unit cell volume $V_0$ should be specified. -For a loosely packed sample, also the packing factor, $f_\textrm{pack}$ -can be specified (default value of 1). - -The inelastic scattering takes place as a quasielastic (Lorentzian) -component, which is chosen with probability $f_\textrm{QE}$. -The broadening of the signal is given by $\Gamma$ (HWHM). -In addition, a tunneling signal is present with a probability of $f_\textrm{tun}$ -and a tunneling energy of $\pm E_\textrm{tun}$. -The tunneling peaks are weighted by the usual factor $k_\textrm{f}/k_\textrm{i}$. - -The total scattering cross section is given by -\begin{eqnarray} -\lefteqn{\frac{d^2\sigma}{d\Omega dE_\textrm{f}}(q,\omega) = \frac{\sigma_\textrm{inc}}{4\pi} -\times \left\{ (1-f_\textrm{QE}-f_\textrm{inel}) \delta(\hbar \omega) \right. } \\ - &+& f_\textrm{QE} \frac{\Gamma}{(\hbar\omega)^2+\Gamma^2} - + \left.\frac{f_\textrm{inel}}{2} \frac{k_\textrm{f}}{f_\textrm{i}} - \left[\delta(\hbar\omega-E_\textrm{tun}) + \delta(\hbar\omega+E_\textrm{tun}) \right] \right\} \nonumber -\end{eqnarray} - -The component takes care that -$f_\textrm{QE} + f_\textrm{tun} \leq 1$, otherwise an error is returned. - -The component accounts for absorption, -but not multiple scattering. To obtain -intensities similar to real measured ones, we therefore do not -take attenuation from scattering into account for the outgoing -neutron ray. +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +thickness & m & Thickness of cylindrical sample in (x,z) plane & 0 \\ +radius & m & Outer radius of sample in (x,z) plane & 0.01 \\ +focus\_r & m & Radius of disk containing target. Use 0 for full space & 0 \\ +p\_interact & 1 & MC Probability for scattering the ray; otherwise transmit & 1 \\ +f\_QE & 1 & Fraction of quasielastic scattering & 0 \\ +f\_tun & 1 & Fraction of tunneling scattering (f\_QE+f\_tun \textless{} 1) & 0 \\ +gamma & meV & Lorentzian width of quasielastic broadening (HWHM) & 0 \\ +E\_tun & meV & Tunneling energy & 0 \\ +target\_x & m & X-position of target to focus at & 0 \\ +target\_y & m & Y-position of target to focus at & 0 \\ +target\_z & m & Z-position of target to focus at & 0.235 \\ +focus\_xw & m & horiz. dimension of a rectangular area & 0 \\ +focus\_yh & m & vert. dimension of a rectangular area & 0 \\ +focus\_aw & deg & horiz. angular dimension of a rectangular area & 0 \\ +focus\_ah & deg & vert. angular dimension of a rectangular area & 0 \\ +xwidth & m & horiz. dimension of sample, as a width & 0 \\ +yheight & m & vert. dimension of sample, as a height & 0.05 \\ +zdepth & m & depth of sample & 0 \\ +sigma\_abs & barns & Absorbtion cross section pr. unit cell & 5.08 \\ +sigma\_inc & barns & Total incoherent scattering cross section pr. unit cell & 4.935 \\ +Vc & AA\textasciicircum{}3 & Unit cell volume & 13.827 \\ +target\_index & 1 & relative index of component to focus at, e.g. next is +1 & 0 \\ +\bottomrule +\end{longtable} +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/samples/Tunneling_sample.comp}{Source code} for \texttt{Tunneling\_sample.comp}. + \item \textless{}A HREF="http://neutron.risoe.dk/mcstas/components/tests/v\_sample/"\textgreater{}Test + \item results\textless{}/A\textgreater{} (not up-to-date). +\end{itemize} +\IfFileExists{Tunneling_sample_static.tex}{\input{Tunneling_sample_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/samples/Tunneling_sample_static.tex b/docs/manuals/mcstas/samples/Tunneling_sample_static.tex new file mode 100644 index 0000000000..2bcfc6663e --- /dev/null +++ b/docs/manuals/mcstas/samples/Tunneling_sample_static.tex @@ -0,0 +1,66 @@ +\section{Tunneling\_sample: An incoherent inelastic scatterer} +\label{s:Tunneling_sample} +\index{Samples!Incoherent inelastic scatterer} +\index{Incoherent inelastic scattering} + +%\component{Tunneling\_sample}{System}{$r_\textrm{i}$, $r_\textrm{o}$, $h$, $r_\textrm{foc}$, $x_\textrm{target}$, $y_\textrm{target}$, $z_\textrm{target}$}{$w_x$, $h_y$, $t_z$, $w_\textrm{focus}, h_\textrm{focus}$, $w_\textrm{foc, angle}$, $h_\textrm{foc, angle}$, $\sigma_\textrm{abs}$, $\sigma_\textrm{inc}$, $V_0$, $f_\textrm{pack}$, $f_\textrm{QE}$, $f_\textrm{tun}$, $\Gamma$, $E_\textrm{tun}$, target\_index}{not validated} + +%\mcdoccomp{samples/Tunneling_sample.parms} + +The component \textbf{Tunneling\_sample} +displays incoherent inelastic scattering as found in a number of systems, {\em e.g.} +containing mobile hydrogen. + +For the sample geometry, we default use a +hollow cylinder (which has the solid cylinder as a limiting case). +The sample dimensions are: Inner radius $r_\textrm{i}$, +outer radius $r_\textrm{o}$, and height $h$. This geometry is the same as +the default for \textbf{V\_sample}, see figure \ref{f:v-sample}. + +As for \textbf{V\_sample}, the sample geometry can be made rectangular +by specifying the width, $w_x$, the height, $h_y$, and the thickness, $t_z$. + +Also the focusing properties are the same as for \textbf{V\_sample}. +For the focusing is performed as a uniform distribution on +a target sphere of radius $r_\textrm{foc}$, at the position +$(x_\textrm{target},y_\textrm{target},z_\textrm{target})$ +in the local coordinate system. +The focusing can alternatively be performed on a rectangle with dimensions +$w_\textrm{focus}$, $h_\textrm{focus}$, or uniformly in angular space +(in a small-angle approximation), +using $w_\textrm{foc, angle}$, $h_\textrm{foc, angle}$. +The focusing location can be picked to be a downstream component by +specifying \verb+target_index+. + +The incoherent and absorption cross sections for V are default +for the component. For other choices, the +parameters $\sigma_\textrm{inc}$, $\sigma_\textrm{abs}$, +and the unit cell volume $V_0$ should be specified. +For a loosely packed sample, also the packing factor, $f_\textrm{pack}$ +can be specified (default value of 1). + +The inelastic scattering takes place as a quasielastic (Lorentzian) +component, which is chosen with probability $f_\textrm{QE}$. +The broadening of the signal is given by $\Gamma$ (HWHM). +In addition, a tunneling signal is present with a probability of $f_\textrm{tun}$ +and a tunneling energy of $\pm E_\textrm{tun}$. +The tunneling peaks are weighted by the usual factor $k_\textrm{f}/k_\textrm{i}$. + +The total scattering cross section is given by +\begin{eqnarray} +\lefteqn{\frac{d^2\sigma}{d\Omega dE_\textrm{f}}(q,\omega) = \frac{\sigma_\textrm{inc}}{4\pi} +\times \left\{ (1-f_\textrm{QE}-f_\textrm{inel}) \delta(\hbar \omega) \right. } \\ + &+& f_\textrm{QE} \frac{\Gamma}{(\hbar\omega)^2+\Gamma^2} + + \left.\frac{f_\textrm{inel}}{2} \frac{k_\textrm{f}}{f_\textrm{i}} + \left[\delta(\hbar\omega-E_\textrm{tun}) + \delta(\hbar\omega+E_\textrm{tun}) \right] \right\} \nonumber +\end{eqnarray} + +The component takes care that +$f_\textrm{QE} + f_\textrm{tun} \leq 1$, otherwise an error is returned. + +The component accounts for absorption, +but not multiple scattering. To obtain +intensities similar to real measured ones, we therefore do not +take attenuation from scattering into account for the outgoing +neutron ray. + diff --git a/docs/manuals/mcstas/sasmodels/SasView_adsorbed_layer.tex b/docs/manuals/mcstas/sasmodels/SasView_adsorbed_layer.tex new file mode 100644 index 0000000000..11e4d129f4 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_adsorbed_layer.tex @@ -0,0 +1,62 @@ +\section{The \texttt{SasView\_adsorbed\_layer} McStas Component} +SasView adsorbed\_layer model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_adsorbed_layer component, generated from adsorbed_layer.c in sasmodels. + +Example: +SasView_adsorbed_layer(second_moment, adsorbed_amount, density_shell, radius, volfraction, sld_shell, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +second\_moment & Ang & ([0.0, inf]) Second moment of polymer distribution. & 23.0 \\ +adsorbed\_amount & mg/m\textasciicircum{}2 & ([0.0, inf]) Adsorbed amount of polymer. & 1.9 \\ +density\_shell & g/cm\textasciicircum{}3 & ([0.0, inf]) Bulk density of polymer in the shell. & 0.7 \\ +radius & Ang & ([0.0, inf]) Core particle radius. & 500.0 \\ +volfraction & None & ([0.0, inf]) Core particle volume fraction. & 0.14 \\ +sld\_shell & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Polymer shell SLD. & 1.5 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent SLD. & 6.3 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_adsorbed_layer.comp}{Source code} for \texttt{SasView\_adsorbed\_layer.comp}. +\end{itemize} +\IfFileExists{SasView_adsorbed_layer_static.tex}{\input{SasView_adsorbed_layer_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_barbell.tex b/docs/manuals/mcstas/sasmodels/SasView_barbell.tex new file mode 100644 index 0000000000..d62ca8d0b1 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_barbell.tex @@ -0,0 +1,62 @@ +\section{The \texttt{SasView\_barbell} McStas Component} +SasView barbell model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_barbell component, generated from barbell.c in sasmodels. + +Example: +SasView_barbell(sld, sld_solvent, radius_bell, radius, length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_bell=0.0, pd_radius=0.0, pd_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Barbell scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +radius\_bell & Ang & ([0, inf]) Spherical bell radius. & 40 \\ +radius & Ang & ([0, inf]) Cylindrical bar radius. & 20 \\ +length & Ang & ([0, inf]) Cylinder bar length. & 400 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_bell & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_barbell.comp}{Source code} for \texttt{SasView\_barbell.comp}. +\end{itemize} +\IfFileExists{SasView_barbell_static.tex}{\input{SasView_barbell_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_barbell_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_barbell_aniso.tex new file mode 100644 index 0000000000..f10355638d --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_barbell_aniso.tex @@ -0,0 +1,66 @@ +\section{The \texttt{SasView\_barbell\_aniso} McStas Component} +SasView barbell model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_barbell component, generated from barbell.c in sasmodels. + +Example: +SasView_barbell_aniso(sld, sld_solvent, radius_bell, radius, length, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_bell=0.0, pd_radius=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Barbell scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +radius\_bell & Ang & ([0, inf]) Spherical bell radius. & 40 \\ +radius & Ang & ([0, inf]) Cylindrical bar radius. & 20 \\ +length & Ang & ([0, inf]) Cylinder bar length. & 400 \\ +theta & & & 60 \\ +phi & & & 60 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_bell & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_barbell_aniso.comp}{Source code} for \texttt{SasView\_barbell\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_barbell_aniso_static.tex}{\input{SasView_barbell_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_bcc_paracrystal.tex b/docs/manuals/mcstas/sasmodels/SasView_bcc_paracrystal.tex new file mode 100644 index 0000000000..b3695cba3b --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_bcc_paracrystal.tex @@ -0,0 +1,60 @@ +\section{The \texttt{SasView\_bcc\_paracrystal} McStas Component} +SasView bcc\_paracrystal model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_bcc_paracrystal component, generated from bcc_paracrystal.c in sasmodels. + +Example: +SasView_bcc_paracrystal(dnn, d_factor, radius, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +dnn & Ang & ([-inf, inf]) Nearest neighbour distance. & 220 \\ +d\_factor & & ([-inf, inf]) Paracrystal distortion factor. & 0.06 \\ +radius & Ang & ([0, inf]) Particle radius. & 40 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Particle scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_bcc_paracrystal.comp}{Source code} for \texttt{SasView\_bcc\_paracrystal.comp}. +\end{itemize} +\IfFileExists{SasView_bcc_paracrystal_static.tex}{\input{SasView_bcc_paracrystal_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_bcc_paracrystal_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_bcc_paracrystal_aniso.tex new file mode 100644 index 0000000000..6f84b4f07b --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_bcc_paracrystal_aniso.tex @@ -0,0 +1,66 @@ +\section{The \texttt{SasView\_bcc\_paracrystal\_aniso} McStas Component} +SasView bcc\_paracrystal model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_bcc_paracrystal component, generated from bcc_paracrystal.c in sasmodels. + +Example: +SasView_bcc_paracrystal_aniso(dnn, d_factor, radius, sld, sld_solvent, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +dnn & Ang & ([-inf, inf]) Nearest neighbour distance. & 220 \\ +d\_factor & & ([-inf, inf]) Paracrystal distortion factor. & 0.06 \\ +radius & Ang & ([0, inf]) Particle radius. & 40 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Particle scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +theta & & & 60 \\ +phi & & & 60 \\ +Psi & & & 60 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_Psi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_bcc_paracrystal_aniso.comp}{Source code} for \texttt{SasView\_bcc\_paracrystal\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_bcc_paracrystal_aniso_static.tex}{\input{SasView_bcc_paracrystal_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_binary_hard_sphere.tex b/docs/manuals/mcstas/sasmodels/SasView_binary_hard_sphere.tex new file mode 100644 index 0000000000..7c932a70f8 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_binary_hard_sphere.tex @@ -0,0 +1,63 @@ +\section{The \texttt{SasView\_binary\_hard\_sphere} McStas Component} +SasView binary\_hard\_sphere model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_binary_hard_sphere component, generated from binary_hard_sphere.c in sasmodels. + +Example: +SasView_binary_hard_sphere(radius_lg, radius_sm, volfraction_lg, volfraction_sm, sld_lg, sld_sm, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_lg=0.0, pd_radius_sm=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius\_lg & Ang & ([0, inf]) radius of large particle. & 100 \\ +radius\_sm & Ang & ([0, inf]) radius of small particle. & 25 \\ +volfraction\_lg & & ([0, 1]) volume fraction of large particle. & 0.1 \\ +volfraction\_sm & & ([0, 1]) volume fraction of small particle. & 0.2 \\ +sld\_lg & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) scattering length density of large particle. & 3.5 \\ +sld\_sm & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) scattering length density of small particle. & 0.5 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6.36 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_lg & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius\_sm & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_binary_hard_sphere.comp}{Source code} for \texttt{SasView\_binary\_hard\_sphere.comp}. +\end{itemize} +\IfFileExists{SasView_binary_hard_sphere_static.tex}{\input{SasView_binary_hard_sphere_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_broad_peak.tex b/docs/manuals/mcstas/sasmodels/SasView_broad_peak.tex new file mode 100644 index 0000000000..157915cfa3 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_broad_peak.tex @@ -0,0 +1,62 @@ +\section{The \texttt{SasView\_broad\_peak} McStas Component} +SasView broad\_peak model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_broad_peak component, generated from broad_peak.c in sasmodels. + +Example: +SasView_broad_peak(porod_scale, porod_exp, peak_scale, correlation_length, peak_pos, width_exp, shape_exp, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_correlation_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +porod\_scale & & ([-inf, inf]) Power law scale factor. & 1e-05 \\ +porod\_exp & & ([-inf, inf]) Exponent of power law. & 3.0 \\ +peak\_scale & & ([-inf, inf]) Scale factor for broad peak. & 10.0 \\ +correlation\_length & Ang & ([-inf, inf]) screening length. & 50.0 \\ +peak\_pos & 1/Ang & ([-inf, inf]) Peak position in q. & 0.1 \\ +width\_exp & & ([-inf, inf]) Exponent of peak width. & 2.0 \\ +shape\_exp & & ([-inf, inf]) Exponent of peak shape. & 1.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_correlation\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_broad_peak.comp}{Source code} for \texttt{SasView\_broad\_peak.comp}. +\end{itemize} +\IfFileExists{SasView_broad_peak_static.tex}{\input{SasView_broad_peak_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_capped_cylinder.tex b/docs/manuals/mcstas/sasmodels/SasView_capped_cylinder.tex new file mode 100644 index 0000000000..17d5f70122 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_capped_cylinder.tex @@ -0,0 +1,62 @@ +\section{The \texttt{SasView\_capped\_cylinder} McStas Component} +SasView capped\_cylinder model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_capped_cylinder component, generated from capped_cylinder.c in sasmodels. + +Example: +SasView_capped_cylinder(sld, sld_solvent, radius, radius_cap, length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_radius_cap=0.0, pd_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +radius & Ang & ([0, inf]) Cylinder radius. & 20 \\ +radius\_cap & Ang & ([0, inf]) Cap radius. & 20 \\ +length & Ang & ([0, inf]) Cylinder length. & 400 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius\_cap & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_capped_cylinder.comp}{Source code} for \texttt{SasView\_capped\_cylinder.comp}. +\end{itemize} +\IfFileExists{SasView_capped_cylinder_static.tex}{\input{SasView_capped_cylinder_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_capped_cylinder_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_capped_cylinder_aniso.tex new file mode 100644 index 0000000000..daadb89483 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_capped_cylinder_aniso.tex @@ -0,0 +1,66 @@ +\section{The \texttt{SasView\_capped\_cylinder\_aniso} McStas Component} +SasView capped\_cylinder model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_capped_cylinder component, generated from capped_cylinder.c in sasmodels. + +Example: +SasView_capped_cylinder_aniso(sld, sld_solvent, radius, radius_cap, length, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_radius_cap=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +radius & Ang & ([0, inf]) Cylinder radius. & 20 \\ +radius\_cap & Ang & ([0, inf]) Cap radius. & 20 \\ +length & Ang & ([0, inf]) Cylinder length. & 400 \\ +theta & & & 60 \\ +phi & & & 60 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius\_cap & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_capped_cylinder_aniso.comp}{Source code} for \texttt{SasView\_capped\_cylinder\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_capped_cylinder_aniso_static.tex}{\input{SasView_capped_cylinder_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_core_multi_shell.tex b/docs/manuals/mcstas/sasmodels/SasView_core_multi_shell.tex new file mode 100644 index 0000000000..021698f385 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_core_multi_shell.tex @@ -0,0 +1,39 @@ +\section{The \texttt{SasView\_core\_multi\_shell} McStas Component} +SasView core\_multi\_shell model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_core_multi_shell component, generated from core_multi_shell.c in sasmodels. + +Example: +SasView_core_multi_shell(sld_core, radius, sld_solvent, n, sld[n], thickness[n], +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness[n]=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_core_multi_shell.comp}{Source code} for \texttt{SasView\_core\_multi\_shell.comp}. +\end{itemize} +\IfFileExists{SasView_core_multi_shell_static.tex}{\input{SasView_core_multi_shell_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle.tex b/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle.tex new file mode 100644 index 0000000000..ab2a27e2ce --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle.tex @@ -0,0 +1,66 @@ +\section{The \texttt{SasView\_core\_shell\_bicelle} McStas Component} +SasView core\_shell\_bicelle model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_core_shell_bicelle component, generated from core_shell_bicelle.c in sasmodels. + +Example: +SasView_core_shell_bicelle(radius, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0, inf]) Cylinder core radius. & 80 \\ +thick\_rim & Ang & ([0, inf]) Rim shell thickness. & 10 \\ +thick\_face & Ang & ([0, inf]) Cylinder face thickness. & 10 \\ +length & Ang & ([0, inf]) Cylinder length. & 50 \\ +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder core scattering length density. & 1 \\ +sld\_face & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder face scattering length density. & 4 \\ +sld\_rim & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder rim scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_rim & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_face & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_core_shell_bicelle.comp}{Source code} for \texttt{SasView\_core\_shell\_bicelle.comp}. +\end{itemize} +\IfFileExists{SasView_core_shell_bicelle_static.tex}{\input{SasView_core_shell_bicelle_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_aniso.tex new file mode 100644 index 0000000000..1742267638 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_aniso.tex @@ -0,0 +1,70 @@ +\section{The \texttt{SasView\_core\_shell\_bicelle\_aniso} McStas Component} +SasView core\_shell\_bicelle model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_core_shell_bicelle component, generated from core_shell_bicelle.c in sasmodels. + +Example: +SasView_core_shell_bicelle_aniso(radius, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0, inf]) Cylinder core radius. & 80 \\ +thick\_rim & Ang & ([0, inf]) Rim shell thickness. & 10 \\ +thick\_face & Ang & ([0, inf]) Cylinder face thickness. & 10 \\ +length & Ang & ([0, inf]) Cylinder length. & 50 \\ +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder core scattering length density. & 1 \\ +sld\_face & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder face scattering length density. & 4 \\ +sld\_rim & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder rim scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +theta & & & 90 \\ +phi & & & 0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_rim & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_face & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_core_shell_bicelle_aniso.comp}{Source code} for \texttt{SasView\_core\_shell\_bicelle\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_core_shell_bicelle_aniso_static.tex}{\input{SasView_core_shell_bicelle_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_elliptical.tex b/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_elliptical.tex new file mode 100644 index 0000000000..a66d58b9b9 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_elliptical.tex @@ -0,0 +1,67 @@ +\section{The \texttt{SasView\_core\_shell\_bicelle\_elliptical} McStas Component} +SasView core\_shell\_bicelle\_elliptical model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_core_shell_bicelle_elliptical component, generated from core_shell_bicelle_elliptical.c in sasmodels. + +Example: +SasView_core_shell_bicelle_elliptical(radius, x_core, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0, inf]) Cylinder core radius r\_minor. & 30 \\ +x\_core & None & ([0, inf]) Axial ratio of core, X = r\_major/r\_minor. & 3 \\ +thick\_rim & Ang & ([0, inf]) Rim shell thickness. & 8 \\ +thick\_face & Ang & ([0, inf]) Cylinder face thickness. & 14 \\ +length & Ang & ([0, inf]) Cylinder length. & 50 \\ +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder core scattering length density. & 4 \\ +sld\_face & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder face scattering length density. & 7 \\ +sld\_rim & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder rim scattering length density. & 1 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_rim & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_face & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical.comp}{Source code} for \texttt{SasView\_core\_shell\_bicelle\_elliptical.comp}. +\end{itemize} +\IfFileExists{SasView_core_shell_bicelle_elliptical_static.tex}{\input{SasView_core_shell_bicelle_elliptical_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_elliptical_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_elliptical_aniso.tex new file mode 100644 index 0000000000..eb93065937 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_elliptical_aniso.tex @@ -0,0 +1,73 @@ +\section{The \texttt{SasView\_core\_shell\_bicelle\_elliptical\_aniso} McStas Component} +SasView core\_shell\_bicelle\_elliptical model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_core_shell_bicelle_elliptical component, generated from core_shell_bicelle_elliptical.c in sasmodels. + +Example: +SasView_core_shell_bicelle_elliptical_aniso(radius, x_core, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0, inf]) Cylinder core radius r\_minor. & 30 \\ +x\_core & None & ([0, inf]) Axial ratio of core, X = r\_major/r\_minor. & 3 \\ +thick\_rim & Ang & ([0, inf]) Rim shell thickness. & 8 \\ +thick\_face & Ang & ([0, inf]) Cylinder face thickness. & 14 \\ +length & Ang & ([0, inf]) Cylinder length. & 50 \\ +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder core scattering length density. & 4 \\ +sld\_face & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder face scattering length density. & 7 \\ +sld\_rim & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder rim scattering length density. & 1 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6 \\ +theta & & & 90.0 \\ +phi & & & 0 \\ +Psi & & & 0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_rim & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_face & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_Psi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical_aniso.comp}{Source code} for \texttt{SasView\_core\_shell\_bicelle\_elliptical\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_core_shell_bicelle_elliptical_aniso_static.tex}{\input{SasView_core_shell_bicelle_elliptical_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough.tex b/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough.tex new file mode 100644 index 0000000000..a7a983fa86 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough.tex @@ -0,0 +1,68 @@ +\section{The \texttt{SasView\_core\_shell\_bicelle\_elliptical\_belt\_rough} McStas Component} +SasView core\_shell\_bicelle\_elliptical\_belt\_rough model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_core_shell_bicelle_elliptical_belt_rough component, generated from core_shell_bicelle_elliptical_belt_rough.c in sasmodels. + +Example: +SasView_core_shell_bicelle_elliptical_belt_rough(radius, x_core, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, sigma, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0, inf]) Cylinder core radius r\_minor. & 30 \\ +x\_core & None & ([0, inf]) Axial ratio of core, X = r\_major/r\_minor. & 3 \\ +thick\_rim & Ang & ([0, inf]) Rim or belt shell thickness. & 8 \\ +thick\_face & Ang & ([0, inf]) Cylinder face thickness. & 14 \\ +length & Ang & ([0, inf]) Cylinder length. & 50 \\ +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder core scattering length density. & 4 \\ +sld\_face & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder face scattering length density. & 7 \\ +sld\_rim & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder rim scattering length density. & 1 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6 \\ +sigma & Ang & ([0, inf]) Interfacial roughness. & 0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_rim & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_face & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough.comp}{Source code} for \texttt{SasView\_core\_shell\_bicelle\_elliptical\_belt\_rough.comp}. +\end{itemize} +\IfFileExists{SasView_core_shell_bicelle_elliptical_belt_rough_static.tex}{\input{SasView_core_shell_bicelle_elliptical_belt_rough_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough_aniso.tex new file mode 100644 index 0000000000..8204ff86a2 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough_aniso.tex @@ -0,0 +1,74 @@ +\section{The \texttt{SasView\_core\_shell\_bicelle\_elliptical\_belt\_rough\_aniso} McStas Component} +SasView core\_shell\_bicelle\_elliptical\_belt\_rough model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_core_shell_bicelle_elliptical_belt_rough component, generated from core_shell_bicelle_elliptical_belt_rough.c in sasmodels. + +Example: +SasView_core_shell_bicelle_elliptical_belt_rough_aniso(radius, x_core, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, sigma, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0, inf]) Cylinder core radius r\_minor. & 30 \\ +x\_core & None & ([0, inf]) Axial ratio of core, X = r\_major/r\_minor. & 3 \\ +thick\_rim & Ang & ([0, inf]) Rim or belt shell thickness. & 8 \\ +thick\_face & Ang & ([0, inf]) Cylinder face thickness. & 14 \\ +length & Ang & ([0, inf]) Cylinder length. & 50 \\ +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder core scattering length density. & 4 \\ +sld\_face & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder face scattering length density. & 7 \\ +sld\_rim & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder rim scattering length density. & 1 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6 \\ +sigma & Ang & ([0, inf]) Interfacial roughness. & 0 \\ +theta & & & 90.0 \\ +phi & & & 0 \\ +Psi & & & 0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_rim & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_face & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_Psi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough_aniso.comp}{Source code} for \texttt{SasView\_core\_shell\_bicelle\_elliptical\_belt\_rough\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_core_shell_bicelle_elliptical_belt_rough_aniso_static.tex}{\input{SasView_core_shell_bicelle_elliptical_belt_rough_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_core_shell_cylinder.tex b/docs/manuals/mcstas/sasmodels/SasView_core_shell_cylinder.tex new file mode 100644 index 0000000000..ae9411e761 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_core_shell_cylinder.tex @@ -0,0 +1,63 @@ +\section{The \texttt{SasView\_core\_shell\_cylinder} McStas Component} +SasView core\_shell\_cylinder model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_core_shell_cylinder component, generated from core_shell_cylinder.c in sasmodels. + +Example: +SasView_core_shell_cylinder(sld_core, sld_shell, sld_solvent, radius, thickness, length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder core scattering length density. & 4 \\ +sld\_shell & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder shell scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +radius & Ang & ([0, inf]) Cylinder core radius. & 20 \\ +thickness & Ang & ([0, inf]) Cylinder shell thickness. & 20 \\ +length & Ang & ([0, inf]) Cylinder length. & 400 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thickness & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_core_shell_cylinder.comp}{Source code} for \texttt{SasView\_core\_shell\_cylinder.comp}. +\end{itemize} +\IfFileExists{SasView_core_shell_cylinder_static.tex}{\input{SasView_core_shell_cylinder_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_core_shell_cylinder_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_core_shell_cylinder_aniso.tex new file mode 100644 index 0000000000..edb556a245 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_core_shell_cylinder_aniso.tex @@ -0,0 +1,67 @@ +\section{The \texttt{SasView\_core\_shell\_cylinder\_aniso} McStas Component} +SasView core\_shell\_cylinder model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_core_shell_cylinder component, generated from core_shell_cylinder.c in sasmodels. + +Example: +SasView_core_shell_cylinder_aniso(sld_core, sld_shell, sld_solvent, radius, thickness, length, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder core scattering length density. & 4 \\ +sld\_shell & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder shell scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +radius & Ang & ([0, inf]) Cylinder core radius. & 20 \\ +thickness & Ang & ([0, inf]) Cylinder shell thickness. & 20 \\ +length & Ang & ([0, inf]) Cylinder length. & 400 \\ +theta & & & 60 \\ +phi & & & 60 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thickness & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_core_shell_cylinder_aniso.comp}{Source code} for \texttt{SasView\_core\_shell\_cylinder\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_core_shell_cylinder_aniso_static.tex}{\input{SasView_core_shell_cylinder_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_core_shell_ellipsoid.tex b/docs/manuals/mcstas/sasmodels/SasView_core_shell_ellipsoid.tex new file mode 100644 index 0000000000..035654ba1c --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_core_shell_ellipsoid.tex @@ -0,0 +1,63 @@ +\section{The \texttt{SasView\_core\_shell\_ellipsoid} McStas Component} +SasView core\_shell\_ellipsoid model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_core_shell_ellipsoid component, generated from core_shell_ellipsoid.c in sasmodels. + +Example: +SasView_core_shell_ellipsoid(radius_equat_core, x_core, thick_shell, x_polar_shell, sld_core, sld_shell, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_equat_core=0.0, pd_thick_shell=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius\_equat\_core & Ang & ([0, inf]) Equatorial radius of core. & 20 \\ +x\_core & None & ([0, inf]) axial ratio of core, X = r\_polar/r\_equatorial. & 3 \\ +thick\_shell & Ang & ([0, inf]) thickness of shell at equator. & 30 \\ +x\_polar\_shell & & ([0, inf]) ratio of thickness of shell at pole to that at equator. & 1 \\ +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Core scattering length density. & 2 \\ +sld\_shell & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Shell scattering length density. & 1 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6.3 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_equat\_core & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_shell & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_core_shell_ellipsoid.comp}{Source code} for \texttt{SasView\_core\_shell\_ellipsoid.comp}. +\end{itemize} +\IfFileExists{SasView_core_shell_ellipsoid_static.tex}{\input{SasView_core_shell_ellipsoid_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_core_shell_ellipsoid_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_core_shell_ellipsoid_aniso.tex new file mode 100644 index 0000000000..d96000d421 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_core_shell_ellipsoid_aniso.tex @@ -0,0 +1,67 @@ +\section{The \texttt{SasView\_core\_shell\_ellipsoid\_aniso} McStas Component} +SasView core\_shell\_ellipsoid model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_core_shell_ellipsoid component, generated from core_shell_ellipsoid.c in sasmodels. + +Example: +SasView_core_shell_ellipsoid_aniso(radius_equat_core, x_core, thick_shell, x_polar_shell, sld_core, sld_shell, sld_solvent, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_equat_core=0.0, pd_thick_shell=0.0, pd_theta=0.0, pd_phi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius\_equat\_core & Ang & ([0, inf]) Equatorial radius of core. & 20 \\ +x\_core & None & ([0, inf]) axial ratio of core, X = r\_polar/r\_equatorial. & 3 \\ +thick\_shell & Ang & ([0, inf]) thickness of shell at equator. & 30 \\ +x\_polar\_shell & & ([0, inf]) ratio of thickness of shell at pole to that at equator. & 1 \\ +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Core scattering length density. & 2 \\ +sld\_shell & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Shell scattering length density. & 1 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6.3 \\ +theta & & & 0 \\ +phi & & & 0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_equat\_core & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_shell & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_core_shell_ellipsoid_aniso.comp}{Source code} for \texttt{SasView\_core\_shell\_ellipsoid\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_core_shell_ellipsoid_aniso_static.tex}{\input{SasView_core_shell_ellipsoid_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_core_shell_parallelepiped.tex b/docs/manuals/mcstas/sasmodels/SasView_core_shell_parallelepiped.tex new file mode 100644 index 0000000000..e46098466b --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_core_shell_parallelepiped.tex @@ -0,0 +1,71 @@ +\section{The \texttt{SasView\_core\_shell\_parallelepiped} McStas Component} +SasView core\_shell\_parallelepiped model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_core_shell_parallelepiped component, generated from core_shell_parallelepiped.c in sasmodels. + +Example: +SasView_core_shell_parallelepiped(sld_core, sld_a, sld_b, sld_c, sld_solvent, length_a, length_b, length_c, thick_rim_a, thick_rim_b, thick_rim_c, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_length_b=0.0, pd_length_c=0.0, pd_thick_rim_a=0.0, pd_thick_rim_b=0.0, pd_thick_rim_c=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Parallelepiped core scattering length density. & 1 \\ +sld\_a & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Parallelepiped A rim scattering length density. & 2 \\ +sld\_b & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Parallelepiped B rim scattering length density. & 4 \\ +sld\_c & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Parallelepiped C rim scattering length density. & 2 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6 \\ +length\_a & Ang & ([0, inf]) Shorter side of the parallelepiped. & 35 \\ +length\_b & Ang & ([0, inf]) Second side of the parallelepiped. & 75 \\ +length\_c & Ang & ([0, inf]) Larger side of the parallelepiped. & 400 \\ +thick\_rim\_a & Ang & ([0, inf]) Thickness of A rim. & 10 \\ +thick\_rim\_b & Ang & ([0, inf]) Thickness of B rim. & 10 \\ +thick\_rim\_c & Ang & ([0, inf]) Thickness of C rim. & 10 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_length\_a & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length\_b & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length\_c & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_rim\_a & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_rim\_b & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_rim\_c & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_core_shell_parallelepiped.comp}{Source code} for \texttt{SasView\_core\_shell\_parallelepiped.comp}. +\end{itemize} +\IfFileExists{SasView_core_shell_parallelepiped_static.tex}{\input{SasView_core_shell_parallelepiped_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_core_shell_parallelepiped_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_core_shell_parallelepiped_aniso.tex new file mode 100644 index 0000000000..43e949ce7a --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_core_shell_parallelepiped_aniso.tex @@ -0,0 +1,77 @@ +\section{The \texttt{SasView\_core\_shell\_parallelepiped\_aniso} McStas Component} +SasView core\_shell\_parallelepiped model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_core_shell_parallelepiped component, generated from core_shell_parallelepiped.c in sasmodels. + +Example: +SasView_core_shell_parallelepiped_aniso(sld_core, sld_a, sld_b, sld_c, sld_solvent, length_a, length_b, length_c, thick_rim_a, thick_rim_b, thick_rim_c, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_length_b=0.0, pd_length_c=0.0, pd_thick_rim_a=0.0, pd_thick_rim_b=0.0, pd_thick_rim_c=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Parallelepiped core scattering length density. & 1 \\ +sld\_a & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Parallelepiped A rim scattering length density. & 2 \\ +sld\_b & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Parallelepiped B rim scattering length density. & 4 \\ +sld\_c & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Parallelepiped C rim scattering length density. & 2 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6 \\ +length\_a & Ang & ([0, inf]) Shorter side of the parallelepiped. & 35 \\ +length\_b & Ang & ([0, inf]) Second side of the parallelepiped. & 75 \\ +length\_c & Ang & ([0, inf]) Larger side of the parallelepiped. & 400 \\ +thick\_rim\_a & Ang & ([0, inf]) Thickness of A rim. & 10 \\ +thick\_rim\_b & Ang & ([0, inf]) Thickness of B rim. & 10 \\ +thick\_rim\_c & Ang & ([0, inf]) Thickness of C rim. & 10 \\ +theta & & & 0 \\ +phi & & & 0 \\ +Psi & & & 0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_length\_a & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length\_b & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length\_c & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_rim\_a & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_rim\_b & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_rim\_c & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_Psi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_core_shell_parallelepiped_aniso.comp}{Source code} for \texttt{SasView\_core\_shell\_parallelepiped\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_core_shell_parallelepiped_aniso_static.tex}{\input{SasView_core_shell_parallelepiped_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_core_shell_sphere.tex b/docs/manuals/mcstas/sasmodels/SasView_core_shell_sphere.tex new file mode 100644 index 0000000000..75b6ee3bb4 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_core_shell_sphere.tex @@ -0,0 +1,61 @@ +\section{The \texttt{SasView\_core\_shell\_sphere} McStas Component} +SasView core\_shell\_sphere model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_core_shell_sphere component, generated from core_shell_sphere.c in sasmodels. + +Example: +SasView_core_shell_sphere(radius, thickness, sld_core, sld_shell, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0, inf]) Sphere core radius. & 60.0 \\ +thickness & Ang & ([0, inf]) Sphere shell thickness. & 10.0 \\ +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) core scattering length density. & 1.0 \\ +sld\_shell & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) shell scattering length density. & 2.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 3.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thickness & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_core_shell_sphere.comp}{Source code} for \texttt{SasView\_core\_shell\_sphere.comp}. +\end{itemize} +\IfFileExists{SasView_core_shell_sphere_static.tex}{\input{SasView_core_shell_sphere_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_correlation_length.tex b/docs/manuals/mcstas/sasmodels/SasView_correlation_length.tex new file mode 100644 index 0000000000..f53cdf3aea --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_correlation_length.tex @@ -0,0 +1,60 @@ +\section{The \texttt{SasView\_correlation\_length} McStas Component} +SasView correlation\_length model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_correlation_length component, generated from correlation_length.c in sasmodels. + +Example: +SasView_correlation_length(lorentz_scale, porod_scale, cor_length, porod_exp, lorentz_exp, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_cor_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +lorentz\_scale & & ([0, inf]) Lorentzian Scaling Factor. & 10.0 \\ +porod\_scale & & ([0, inf]) Porod Scaling Factor. & 1e-06 \\ +cor\_length & Ang & ([0, inf]) Correlation length, xi, in Lorentzian. & 50.0 \\ +porod\_exp & & ([0, inf]) Porod Exponent, n, in q\textasciicircum{}-n. & 3.0 \\ +lorentz\_exp & & ([0, inf]) Lorentzian Exponent, m, in 1/( 1 + (q.xi)\textasciicircum{}m). & 2.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_cor\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_correlation_length.comp}{Source code} for \texttt{SasView\_correlation\_length.comp}. +\end{itemize} +\IfFileExists{SasView_correlation_length_static.tex}{\input{SasView_correlation_length_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_cylinder.tex b/docs/manuals/mcstas/sasmodels/SasView_cylinder.tex new file mode 100644 index 0000000000..3664a116a5 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_cylinder.tex @@ -0,0 +1,60 @@ +\section{The \texttt{SasView\_cylinder} McStas Component} +SasView cylinder model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_cylinder component, generated from cylinder.c in sasmodels. + +Example: +SasView_cylinder(sld, sld_solvent, radius, length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +radius & Ang & ([0, inf]) Cylinder radius. & 20 \\ +length & Ang & ([0, inf]) Cylinder length. & 400 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_cylinder.comp}{Source code} for \texttt{SasView\_cylinder.comp}. +\end{itemize} +\IfFileExists{SasView_cylinder_static.tex}{\input{SasView_cylinder_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_cylinder_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_cylinder_aniso.tex new file mode 100644 index 0000000000..5bb3fffc8a --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_cylinder_aniso.tex @@ -0,0 +1,64 @@ +\section{The \texttt{SasView\_cylinder\_aniso} McStas Component} +SasView cylinder model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_cylinder component, generated from cylinder.c in sasmodels. + +Example: +SasView_cylinder_aniso(sld, sld_solvent, radius, length, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +radius & Ang & ([0, inf]) Cylinder radius. & 20 \\ +length & Ang & ([0, inf]) Cylinder length. & 400 \\ +theta & & & 60 \\ +phi & & & 60 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_cylinder_aniso.comp}{Source code} for \texttt{SasView\_cylinder\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_cylinder_aniso_static.tex}{\input{SasView_cylinder_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_dab.tex b/docs/manuals/mcstas/sasmodels/SasView_dab.tex new file mode 100644 index 0000000000..3c5a7cbdbb --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_dab.tex @@ -0,0 +1,56 @@ +\section{The \texttt{SasView\_dab} McStas Component} +SasView dab model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_dab component, generated from dab.c in sasmodels. + +Example: +SasView_dab(cor_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_cor_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +cor\_length & Ang & ([0, inf]) correlation length. & 50.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_cor\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_dab.comp}{Source code} for \texttt{SasView\_dab.comp}. +\end{itemize} +\IfFileExists{SasView_dab_static.tex}{\input{SasView_dab_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_ellipsoid.tex b/docs/manuals/mcstas/sasmodels/SasView_ellipsoid.tex new file mode 100644 index 0000000000..b7c5ed0a05 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_ellipsoid.tex @@ -0,0 +1,60 @@ +\section{The \texttt{SasView\_ellipsoid} McStas Component} +SasView ellipsoid model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_ellipsoid component, generated from ellipsoid.c in sasmodels. + +Example: +SasView_ellipsoid(sld, sld_solvent, radius_polar, radius_equatorial, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_polar=0.0, pd_radius_equatorial=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Ellipsoid scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +radius\_polar & Ang & ([0, inf]) Polar radius. & 20 \\ +radius\_equatorial & Ang & ([0, inf]) Equatorial radius. & 400 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_polar & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius\_equatorial & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_ellipsoid.comp}{Source code} for \texttt{SasView\_ellipsoid.comp}. +\end{itemize} +\IfFileExists{SasView_ellipsoid_static.tex}{\input{SasView_ellipsoid_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_ellipsoid_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_ellipsoid_aniso.tex new file mode 100644 index 0000000000..309995c0a8 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_ellipsoid_aniso.tex @@ -0,0 +1,64 @@ +\section{The \texttt{SasView\_ellipsoid\_aniso} McStas Component} +SasView ellipsoid model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_ellipsoid component, generated from ellipsoid.c in sasmodels. + +Example: +SasView_ellipsoid_aniso(sld, sld_solvent, radius_polar, radius_equatorial, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_polar=0.0, pd_radius_equatorial=0.0, pd_theta=0.0, pd_phi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Ellipsoid scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +radius\_polar & Ang & ([0, inf]) Polar radius. & 20 \\ +radius\_equatorial & Ang & ([0, inf]) Equatorial radius. & 400 \\ +theta & & & 60 \\ +phi & & & 60 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_polar & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius\_equatorial & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_ellipsoid_aniso.comp}{Source code} for \texttt{SasView\_ellipsoid\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_ellipsoid_aniso_static.tex}{\input{SasView_ellipsoid_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_elliptical_cylinder.tex b/docs/manuals/mcstas/sasmodels/SasView_elliptical_cylinder.tex new file mode 100644 index 0000000000..9d083d095e --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_elliptical_cylinder.tex @@ -0,0 +1,61 @@ +\section{The \texttt{SasView\_elliptical\_cylinder} McStas Component} +SasView elliptical\_cylinder model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_elliptical_cylinder component, generated from elliptical_cylinder.c in sasmodels. + +Example: +SasView_elliptical_cylinder(radius_minor, r_ratio, length, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_minor=0.0, pd_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius\_minor & Ang & ([0, inf]) Ellipse minor radius. & 20.0 \\ +r\_ratio & & ([1, inf]) Ratio of major radius over minor radius. & 1.5 \\ +length & Ang & ([1, inf]) Length of the cylinder. & 400.0 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder scattering length density. & 4.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_minor & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_elliptical_cylinder.comp}{Source code} for \texttt{SasView\_elliptical\_cylinder.comp}. +\end{itemize} +\IfFileExists{SasView_elliptical_cylinder_static.tex}{\input{SasView_elliptical_cylinder_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_elliptical_cylinder_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_elliptical_cylinder_aniso.tex new file mode 100644 index 0000000000..9726ceb7de --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_elliptical_cylinder_aniso.tex @@ -0,0 +1,67 @@ +\section{The \texttt{SasView\_elliptical\_cylinder\_aniso} McStas Component} +SasView elliptical\_cylinder model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_elliptical_cylinder component, generated from elliptical_cylinder.c in sasmodels. + +Example: +SasView_elliptical_cylinder_aniso(radius_minor, r_ratio, length, sld, sld_solvent, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_minor=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius\_minor & Ang & ([0, inf]) Ellipse minor radius. & 20.0 \\ +r\_ratio & & ([1, inf]) Ratio of major radius over minor radius. & 1.5 \\ +length & Ang & ([1, inf]) Length of the cylinder. & 400.0 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder scattering length density. & 4.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1.0 \\ +theta & & & 90.0 \\ +phi & & & 0 \\ +Psi & & & 0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_minor & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_Psi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_elliptical_cylinder_aniso.comp}{Source code} for \texttt{SasView\_elliptical\_cylinder\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_elliptical_cylinder_aniso_static.tex}{\input{SasView_elliptical_cylinder_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_fcc_paracrystal.tex b/docs/manuals/mcstas/sasmodels/SasView_fcc_paracrystal.tex new file mode 100644 index 0000000000..85e9aa40f9 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_fcc_paracrystal.tex @@ -0,0 +1,60 @@ +\section{The \texttt{SasView\_fcc\_paracrystal} McStas Component} +SasView fcc\_paracrystal model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_fcc_paracrystal component, generated from fcc_paracrystal.c in sasmodels. + +Example: +SasView_fcc_paracrystal(dnn, d_factor, radius, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +dnn & Ang & ([-inf, inf]) Nearest neighbour distance. & 220 \\ +d\_factor & & ([-inf, inf]) Paracrystal distortion factor. & 0.06 \\ +radius & Ang & ([0, inf]) Particle radius. & 40 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Particle scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_fcc_paracrystal.comp}{Source code} for \texttt{SasView\_fcc\_paracrystal.comp}. +\end{itemize} +\IfFileExists{SasView_fcc_paracrystal_static.tex}{\input{SasView_fcc_paracrystal_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_fcc_paracrystal_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_fcc_paracrystal_aniso.tex new file mode 100644 index 0000000000..8cc901025f --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_fcc_paracrystal_aniso.tex @@ -0,0 +1,66 @@ +\section{The \texttt{SasView\_fcc\_paracrystal\_aniso} McStas Component} +SasView fcc\_paracrystal model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_fcc_paracrystal component, generated from fcc_paracrystal.c in sasmodels. + +Example: +SasView_fcc_paracrystal_aniso(dnn, d_factor, radius, sld, sld_solvent, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +dnn & Ang & ([-inf, inf]) Nearest neighbour distance. & 220 \\ +d\_factor & & ([-inf, inf]) Paracrystal distortion factor. & 0.06 \\ +radius & Ang & ([0, inf]) Particle radius. & 40 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Particle scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +theta & & & 60 \\ +phi & & & 60 \\ +Psi & & & 60 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_Psi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_fcc_paracrystal_aniso.comp}{Source code} for \texttt{SasView\_fcc\_paracrystal\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_fcc_paracrystal_aniso_static.tex}{\input{SasView_fcc_paracrystal_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_flexible_cylinder.tex b/docs/manuals/mcstas/sasmodels/SasView_flexible_cylinder.tex new file mode 100644 index 0000000000..eb2fbbb460 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_flexible_cylinder.tex @@ -0,0 +1,62 @@ +\section{The \texttt{SasView\_flexible\_cylinder} McStas Component} +SasView flexible\_cylinder model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_flexible_cylinder component, generated from flexible_cylinder.c in sasmodels. + +Example: +SasView_flexible_cylinder(length, kuhn_length, radius, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length=0.0, pd_kuhn_length=0.0, pd_radius=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +length & Ang & ([0, inf]) Length of the flexible cylinder. & 1000.0 \\ +kuhn\_length & Ang & ([0, inf]) Kuhn length of the flexible cylinder. & 100.0 \\ +radius & Ang & ([0, inf]) Radius of the flexible cylinder. & 20.0 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder scattering length density. & 1.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6.3 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_kuhn\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_flexible_cylinder.comp}{Source code} for \texttt{SasView\_flexible\_cylinder.comp}. +\end{itemize} +\IfFileExists{SasView_flexible_cylinder_static.tex}{\input{SasView_flexible_cylinder_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_flexible_cylinder_elliptical.tex b/docs/manuals/mcstas/sasmodels/SasView_flexible_cylinder_elliptical.tex new file mode 100644 index 0000000000..44596fbb6c --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_flexible_cylinder_elliptical.tex @@ -0,0 +1,63 @@ +\section{The \texttt{SasView\_flexible\_cylinder\_elliptical} McStas Component} +SasView flexible\_cylinder\_elliptical model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_flexible_cylinder_elliptical component, generated from flexible_cylinder_elliptical.c in sasmodels. + +Example: +SasView_flexible_cylinder_elliptical(length, kuhn_length, radius, axis_ratio, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length=0.0, pd_kuhn_length=0.0, pd_radius=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +length & Ang & ([0, inf]) Length of the flexible cylinder. & 1000.0 \\ +kuhn\_length & Ang & ([0, inf]) Kuhn length of the flexible cylinder. & 100.0 \\ +radius & Ang & ([1, inf]) Radius of the flexible cylinder. & 20.0 \\ +axis\_ratio & & ([0, inf]) Axis\_ratio (major\_radius/minor\_radius. & 1.5 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder scattering length density. & 1.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6.3 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_kuhn\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_flexible_cylinder_elliptical.comp}{Source code} for \texttt{SasView\_flexible\_cylinder\_elliptical.comp}. +\end{itemize} +\IfFileExists{SasView_flexible_cylinder_elliptical_static.tex}{\input{SasView_flexible_cylinder_elliptical_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_fractal.tex b/docs/manuals/mcstas/sasmodels/SasView_fractal.tex new file mode 100644 index 0000000000..1ad2216281 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_fractal.tex @@ -0,0 +1,62 @@ +\section{The \texttt{SasView\_fractal} McStas Component} +SasView fractal model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_fractal component, generated from fractal.c in sasmodels. + +Example: +SasView_fractal(volfraction, radius, fractal_dim, cor_length, sld_block, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_cor_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +volfraction & & ([0.0, 1]) volume fraction of blocks. & 0.05 \\ +radius & Ang & ([0.0, inf]) radius of particles. & 5.0 \\ +fractal\_dim & & ([0.0, 6.0]) fractal dimension. & 2.0 \\ +cor\_length & Ang & ([0.0, inf]) cluster correlation length. & 100.0 \\ +sld\_block & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) scattering length density of particles. & 2.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) scattering length density of solvent. & 6.4 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_cor\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_fractal.comp}{Source code} for \texttt{SasView\_fractal.comp}. +\end{itemize} +\IfFileExists{SasView_fractal_static.tex}{\input{SasView_fractal_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_fractal_core_shell.tex b/docs/manuals/mcstas/sasmodels/SasView_fractal_core_shell.tex new file mode 100644 index 0000000000..5e21a096c9 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_fractal_core_shell.tex @@ -0,0 +1,65 @@ +\section{The \texttt{SasView\_fractal\_core\_shell} McStas Component} +SasView fractal\_core\_shell model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_fractal_core_shell component, generated from fractal_core_shell.c in sasmodels. + +Example: +SasView_fractal_core_shell(radius, thickness, sld_core, sld_shell, sld_solvent, volfraction, fractal_dim, cor_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_cor_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0.0, inf]) Sphere core radius. & 60.0 \\ +thickness & Ang & ([0.0, inf]) Sphere shell thickness. & 10.0 \\ +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Sphere core scattering length density. & 1.0 \\ +sld\_shell & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Sphere shell scattering length density. & 2.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 3.0 \\ +volfraction & & ([0.0, inf]) Volume fraction of building block spheres. & 0.05 \\ +fractal\_dim & & ([0.0, 6.0]) Fractal dimension. & 2.0 \\ +cor\_length & Ang & ([0.0, inf]) Correlation length of fractal-like aggregates. & 100.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thickness & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_cor\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_fractal_core_shell.comp}{Source code} for \texttt{SasView\_fractal\_core\_shell.comp}. +\end{itemize} +\IfFileExists{SasView_fractal_core_shell_static.tex}{\input{SasView_fractal_core_shell_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_fuzzy_sphere.tex b/docs/manuals/mcstas/sasmodels/SasView_fuzzy_sphere.tex new file mode 100644 index 0000000000..0c7deabe89 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_fuzzy_sphere.tex @@ -0,0 +1,59 @@ +\section{The \texttt{SasView\_fuzzy\_sphere} McStas Component} +SasView fuzzy\_sphere model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_fuzzy_sphere component, generated from fuzzy_sphere.c in sasmodels. + +Example: +SasView_fuzzy_sphere(sld, sld_solvent, radius, fuzziness, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Particle scattering length density. & 1 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 3 \\ +radius & Ang & ([0, inf]) Sphere radius. & 60 \\ +fuzziness & Ang & ([0, inf]) std deviation of Gaussian convolution for interface (must be \textless{}\textless{} radius). & 10 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_fuzzy_sphere.comp}{Source code} for \texttt{SasView\_fuzzy\_sphere.comp}. +\end{itemize} +\IfFileExists{SasView_fuzzy_sphere_static.tex}{\input{SasView_fuzzy_sphere_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_gauss_lorentz_gel.tex b/docs/manuals/mcstas/sasmodels/SasView_gauss_lorentz_gel.tex new file mode 100644 index 0000000000..3cf7bea1a1 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_gauss_lorentz_gel.tex @@ -0,0 +1,60 @@ +\section{The \texttt{SasView\_gauss\_lorentz\_gel} McStas Component} +SasView gauss\_lorentz\_gel model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_gauss_lorentz_gel component, generated from gauss_lorentz_gel.c in sasmodels. + +Example: +SasView_gauss_lorentz_gel(gauss_scale, cor_length_static, lorentz_scale, cor_length_dynamic, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_cor_length_static=0.0, pd_cor_length_dynamic=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +gauss\_scale & & ([-inf, inf]) Gauss scale factor. & 100.0 \\ +cor\_length\_static & Ang & ([0, inf]) Static correlation length. & 100.0 \\ +lorentz\_scale & & ([-inf, inf]) Lorentzian scale factor. & 50.0 \\ +cor\_length\_dynamic & Ang & ([0, inf]) Dynamic correlation length. & 20.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_cor\_length\_static & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_cor\_length\_dynamic & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_gauss_lorentz_gel.comp}{Source code} for \texttt{SasView\_gauss\_lorentz\_gel.comp}. +\end{itemize} +\IfFileExists{SasView_gauss_lorentz_gel_static.tex}{\input{SasView_gauss_lorentz_gel_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_gaussian_peak.tex b/docs/manuals/mcstas/sasmodels/SasView_gaussian_peak.tex new file mode 100644 index 0000000000..9f4b50b238 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_gaussian_peak.tex @@ -0,0 +1,56 @@ +\section{The \texttt{SasView\_gaussian\_peak} McStas Component} +SasView gaussian\_peak model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_gaussian_peak component, generated from gaussian_peak.c in sasmodels. + +Example: +SasView_gaussian_peak(peak_pos, sigma, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +peak\_pos & 1/Ang & ([-inf, inf]) Peak position. & 0.05 \\ +sigma & 1/Ang & ([0, inf]) Peak width (standard deviation). & 0.005 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_gaussian_peak.comp}{Source code} for \texttt{SasView\_gaussian\_peak.comp}. +\end{itemize} +\IfFileExists{SasView_gaussian_peak_static.tex}{\input{SasView_gaussian_peak_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_gel_fit.tex b/docs/manuals/mcstas/sasmodels/SasView_gel_fit.tex new file mode 100644 index 0000000000..b059da3d35 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_gel_fit.tex @@ -0,0 +1,61 @@ +\section{The \texttt{SasView\_gel\_fit} McStas Component} +SasView gel\_fit model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_gel_fit component, generated from gel_fit.c in sasmodels. + +Example: +SasView_gel_fit(guinier_scale, lorentz_scale, rg, fractal_dim, cor_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0, pd_cor_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +guinier\_scale & cm\textasciicircum{}-1 & ([-inf, inf]) Guinier term scale. & 1.7 \\ +lorentz\_scale & cm\textasciicircum{}-1 & ([-inf, inf]) Lorentz term scale. & 3.5 \\ +rg & Ang & ([2, inf]) Radius of gyration. & 104.0 \\ +fractal\_dim & & ([0, inf]) Fractal exponent. & 2.0 \\ +cor\_length & Ang & ([0, inf]) Correlation length. & 16.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_rg & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_cor\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_gel_fit.comp}{Source code} for \texttt{SasView\_gel\_fit.comp}. +\end{itemize} +\IfFileExists{SasView_gel_fit_static.tex}{\input{SasView_gel_fit_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_guinier.tex b/docs/manuals/mcstas/sasmodels/SasView_guinier.tex new file mode 100644 index 0000000000..d79b945c1a --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_guinier.tex @@ -0,0 +1,56 @@ +\section{The \texttt{SasView\_guinier} McStas Component} +SasView guinier model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_guinier component, generated from guinier.c in sasmodels. + +Example: +SasView_guinier(rg, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +rg & Ang & ([-inf, inf]) Radius of Gyration. & 60.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_rg & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_guinier.comp}{Source code} for \texttt{SasView\_guinier.comp}. +\end{itemize} +\IfFileExists{SasView_guinier_static.tex}{\input{SasView_guinier_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_guinier_porod.tex b/docs/manuals/mcstas/sasmodels/SasView_guinier_porod.tex new file mode 100644 index 0000000000..42bca66b8e --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_guinier_porod.tex @@ -0,0 +1,58 @@ +\section{The \texttt{SasView\_guinier\_porod} McStas Component} +SasView guinier\_porod model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_guinier_porod component, generated from guinier_porod.c in sasmodels. + +Example: +SasView_guinier_porod(rg, s, porod_exp, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +rg & Ang & ([0, inf]) Radius of gyration. & 60.0 \\ +s & & ([0, inf]) Dimension variable. & 1.0 \\ +porod\_exp & & ([0, inf]) Porod exponent. & 3.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_rg & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_guinier_porod.comp}{Source code} for \texttt{SasView\_guinier\_porod.comp}. +\end{itemize} +\IfFileExists{SasView_guinier_porod_static.tex}{\input{SasView_guinier_porod_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_hardsphere.tex b/docs/manuals/mcstas/sasmodels/SasView_hardsphere.tex new file mode 100644 index 0000000000..29d8fe35b7 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_hardsphere.tex @@ -0,0 +1,57 @@ +\section{The \texttt{SasView\_hardsphere} McStas Component} +SasView hardsphere model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_hardsphere component, generated from hardsphere.c in sasmodels. + +Example: +SasView_hardsphere(radius_effective, volfraction, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_effective=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius\_effective & Ang & ([0, inf]) effective radius of hard sphere. & 50.0 \\ +volfraction & & ([0, 0.74]) volume fraction of hard spheres. & 0.2 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_effective & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_hardsphere.comp}{Source code} for \texttt{SasView\_hardsphere.comp}. +\end{itemize} +\IfFileExists{SasView_hardsphere_static.tex}{\input{SasView_hardsphere_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_hayter_msa.tex b/docs/manuals/mcstas/sasmodels/SasView_hayter_msa.tex new file mode 100644 index 0000000000..114687bd4b --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_hayter_msa.tex @@ -0,0 +1,62 @@ +\section{The \texttt{SasView\_hayter\_msa} McStas Component} +SasView hayter\_msa model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_hayter_msa component, generated from hayter_msa.c in sasmodels. + +Example: +SasView_hayter_msa(radius_effective, volfraction, charge, temperature, concentration_salt, dielectconst, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_effective=0.0, pd_charge=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius\_effective & Ang & ([0, inf]) effective radius of charged sphere. & 20.75 \\ +volfraction & None & ([0, 0.74]) volume fraction of spheres. & 0.0192 \\ +charge & e & ([1e-06, 200]) charge on sphere (in electrons). & 19.0 \\ +temperature & K & ([0, 450]) temperature, in Kelvin, for Debye length calculation. & 318.16 \\ +concentration\_salt & M & ([0, inf]) conc of salt, moles/litre, 1:1 electolyte, for Debye length. & 0.0 \\ +dielectconst & None & ([-inf, inf]) dielectric constant (relative permittivity) of solvent, kappa, default water, for Debye length. & 71.08 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_effective & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_charge & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_hayter_msa.comp}{Source code} for \texttt{SasView\_hayter\_msa.comp}. +\end{itemize} +\IfFileExists{SasView_hayter_msa_static.tex}{\input{SasView_hayter_msa_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_hollow_cylinder.tex b/docs/manuals/mcstas/sasmodels/SasView_hollow_cylinder.tex new file mode 100644 index 0000000000..a059353fbb --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_hollow_cylinder.tex @@ -0,0 +1,62 @@ +\section{The \texttt{SasView\_hollow\_cylinder} McStas Component} +SasView hollow\_cylinder model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_hollow_cylinder component, generated from hollow_cylinder.c in sasmodels. + +Example: +SasView_hollow_cylinder(radius, thickness, length, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0, inf]) Cylinder core radius. & 20.0 \\ +thickness & Ang & ([0, inf]) Cylinder wall thickness. & 10.0 \\ +length & Ang & ([0, inf]) Cylinder total length. & 400.0 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder sld. & 6.3 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent sld. & 1 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thickness & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_hollow_cylinder.comp}{Source code} for \texttt{SasView\_hollow\_cylinder.comp}. +\end{itemize} +\IfFileExists{SasView_hollow_cylinder_static.tex}{\input{SasView_hollow_cylinder_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_hollow_cylinder_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_hollow_cylinder_aniso.tex new file mode 100644 index 0000000000..1d840da2fb --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_hollow_cylinder_aniso.tex @@ -0,0 +1,66 @@ +\section{The \texttt{SasView\_hollow\_cylinder\_aniso} McStas Component} +SasView hollow\_cylinder model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_hollow_cylinder component, generated from hollow_cylinder.c in sasmodels. + +Example: +SasView_hollow_cylinder_aniso(radius, thickness, length, sld, sld_solvent, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0, inf]) Cylinder core radius. & 20.0 \\ +thickness & Ang & ([0, inf]) Cylinder wall thickness. & 10.0 \\ +length & Ang & ([0, inf]) Cylinder total length. & 400.0 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Cylinder sld. & 6.3 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent sld. & 1 \\ +theta & & & 90 \\ +phi & & & 0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thickness & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_hollow_cylinder_aniso.comp}{Source code} for \texttt{SasView\_hollow\_cylinder\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_hollow_cylinder_aniso_static.tex}{\input{SasView_hollow_cylinder_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_hollow_rectangular_prism.tex b/docs/manuals/mcstas/sasmodels/SasView_hollow_rectangular_prism.tex new file mode 100644 index 0000000000..6779f7d1ac --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_hollow_rectangular_prism.tex @@ -0,0 +1,62 @@ +\section{The \texttt{SasView\_hollow\_rectangular\_prism} McStas Component} +SasView hollow\_rectangular\_prism model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_hollow_rectangular_prism component, generated from hollow_rectangular_prism.c in sasmodels. + +Example: +SasView_hollow_rectangular_prism(sld, sld_solvent, length_a, b2a_ratio, c2a_ratio, thickness, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_thickness=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Parallelepiped scattering length density. & 6.3 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +length\_a & Ang & ([0, inf]) Shortest, external, size of the parallelepiped. & 35 \\ +b2a\_ratio & Ang & ([0, inf]) Ratio sides b/a. & 1 \\ +c2a\_ratio & Ang & ([0, inf]) Ratio sides c/a. & 1 \\ +thickness & Ang & ([0, inf]) Thickness of parallelepiped. & 1 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_length\_a & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thickness & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_hollow_rectangular_prism.comp}{Source code} for \texttt{SasView\_hollow\_rectangular\_prism.comp}. +\end{itemize} +\IfFileExists{SasView_hollow_rectangular_prism_static.tex}{\input{SasView_hollow_rectangular_prism_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_hollow_rectangular_prism_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_hollow_rectangular_prism_aniso.tex new file mode 100644 index 0000000000..61347aad4d --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_hollow_rectangular_prism_aniso.tex @@ -0,0 +1,68 @@ +\section{The \texttt{SasView\_hollow\_rectangular\_prism\_aniso} McStas Component} +SasView hollow\_rectangular\_prism model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_hollow_rectangular_prism component, generated from hollow_rectangular_prism.c in sasmodels. + +Example: +SasView_hollow_rectangular_prism_aniso(sld, sld_solvent, length_a, b2a_ratio, c2a_ratio, thickness, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_thickness=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Parallelepiped scattering length density. & 6.3 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +length\_a & Ang & ([0, inf]) Shortest, external, size of the parallelepiped. & 35 \\ +b2a\_ratio & Ang & ([0, inf]) Ratio sides b/a. & 1 \\ +c2a\_ratio & Ang & ([0, inf]) Ratio sides c/a. & 1 \\ +thickness & Ang & ([0, inf]) Thickness of parallelepiped. & 1 \\ +theta & & & 0 \\ +phi & & & 0 \\ +Psi & & & 0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_length\_a & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thickness & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_Psi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_hollow_rectangular_prism_aniso.comp}{Source code} for \texttt{SasView\_hollow\_rectangular\_prism\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_hollow_rectangular_prism_aniso_static.tex}{\input{SasView_hollow_rectangular_prism_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_hollow_rectangular_prism_thin_walls.tex b/docs/manuals/mcstas/sasmodels/SasView_hollow_rectangular_prism_thin_walls.tex new file mode 100644 index 0000000000..cc887b86fa --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_hollow_rectangular_prism_thin_walls.tex @@ -0,0 +1,60 @@ +\section{The \texttt{SasView\_hollow\_rectangular\_prism\_thin\_walls} McStas Component} +SasView hollow\_rectangular\_prism\_thin\_walls model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_hollow_rectangular_prism_thin_walls component, generated from hollow_rectangular_prism_thin_walls.c in sasmodels. + +Example: +SasView_hollow_rectangular_prism_thin_walls(sld, sld_solvent, length_a, b2a_ratio, c2a_ratio, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Parallelepiped scattering length density. & 6.3 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +length\_a & Ang & ([0, inf]) Shorter side of the parallelepiped. & 35 \\ +b2a\_ratio & Ang & ([0, inf]) Ratio sides b/a. & 1 \\ +c2a\_ratio & Ang & ([0, inf]) Ratio sides c/a. & 1 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_length\_a & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_hollow_rectangular_prism_thin_walls.comp}{Source code} for \texttt{SasView\_hollow\_rectangular\_prism\_thin\_walls.comp}. +\end{itemize} +\IfFileExists{SasView_hollow_rectangular_prism_thin_walls_static.tex}{\input{SasView_hollow_rectangular_prism_thin_walls_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_lamellar_hg.tex b/docs/manuals/mcstas/sasmodels/SasView_lamellar_hg.tex new file mode 100644 index 0000000000..6bc7d9edd4 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_lamellar_hg.tex @@ -0,0 +1,61 @@ +\section{The \texttt{SasView\_lamellar\_hg} McStas Component} +SasView lamellar\_hg model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_lamellar_hg component, generated from lamellar_hg.c in sasmodels. + +Example: +SasView_lamellar_hg(length_tail, length_head, sld, sld_head, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_tail=0.0, pd_length_head=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +length\_tail & Ang & ([0, inf]) Tail thickness ( total = H+T+T+H). & 15 \\ +length\_head & Ang & ([0, inf]) Head thickness. & 10 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Tail scattering length density. & 0.4 \\ +sld\_head & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Head scattering length density. & 3.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_length\_tail & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length\_head & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_lamellar_hg.comp}{Source code} for \texttt{SasView\_lamellar\_hg.comp}. +\end{itemize} +\IfFileExists{SasView_lamellar_hg_static.tex}{\input{SasView_lamellar_hg_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_lamellar_hg_stack_caille.tex b/docs/manuals/mcstas/sasmodels/SasView_lamellar_hg_stack_caille.tex new file mode 100644 index 0000000000..9a365d9fe8 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_lamellar_hg_stack_caille.tex @@ -0,0 +1,64 @@ +\section{The \texttt{SasView\_lamellar\_hg\_stack\_caille} McStas Component} +SasView lamellar\_hg\_stack\_caille model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_lamellar_hg_stack_caille component, generated from lamellar_hg_stack_caille.c in sasmodels. + +Example: +SasView_lamellar_hg_stack_caille(length_tail, length_head, Nlayers, d_spacing, Caille_parameter, sld, sld_head, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_tail=0.0, pd_length_head=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +length\_tail & Ang & ([0, inf]) Tail thickness. & 10 \\ +length\_head & Ang & ([0, inf]) head thickness. & 2 \\ +Nlayers & & ([1, inf]) Number of layers. & 30 \\ +d\_spacing & Ang & ([0.0, inf]) lamellar d-spacing of Caille S(Q). & 40.0 \\ +Caille\_parameter & & ([0.0, 0.8]) Caille parameter. & 0.001 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Tail scattering length density. & 0.4 \\ +sld\_head & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Head scattering length density. & 2.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_length\_tail & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length\_head & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_lamellar_hg_stack_caille.comp}{Source code} for \texttt{SasView\_lamellar\_hg\_stack\_caille.comp}. +\end{itemize} +\IfFileExists{SasView_lamellar_hg_stack_caille_static.tex}{\input{SasView_lamellar_hg_stack_caille_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_lamellar_stack_caille.tex b/docs/manuals/mcstas/sasmodels/SasView_lamellar_stack_caille.tex new file mode 100644 index 0000000000..73ab758cd1 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_lamellar_stack_caille.tex @@ -0,0 +1,61 @@ +\section{The \texttt{SasView\_lamellar\_stack\_caille} McStas Component} +SasView lamellar\_stack\_caille model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_lamellar_stack_caille component, generated from lamellar_stack_caille.c in sasmodels. + +Example: +SasView_lamellar_stack_caille(thickness, Nlayers, d_spacing, Caille_parameter, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_thickness=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +thickness & Ang & ([0, inf]) sheet thickness. & 30.0 \\ +Nlayers & & ([1, inf]) Number of layers. & 20 \\ +d\_spacing & Ang & ([0.0, inf]) lamellar d-spacing of Caille S(Q). & 400.0 \\ +Caille\_parameter & 1/Ang\textasciicircum{}2 & ([0.0, 0.8]) Caille parameter. & 0.1 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) layer scattering length density. & 6.3 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_thickness & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_lamellar_stack_caille.comp}{Source code} for \texttt{SasView\_lamellar\_stack\_caille.comp}. +\end{itemize} +\IfFileExists{SasView_lamellar_stack_caille_static.tex}{\input{SasView_lamellar_stack_caille_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_lamellar_stack_paracrystal.tex b/docs/manuals/mcstas/sasmodels/SasView_lamellar_stack_paracrystal.tex new file mode 100644 index 0000000000..86eebb2b11 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_lamellar_stack_paracrystal.tex @@ -0,0 +1,61 @@ +\section{The \texttt{SasView\_lamellar\_stack\_paracrystal} McStas Component} +SasView lamellar\_stack\_paracrystal model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_lamellar_stack_paracrystal component, generated from lamellar_stack_paracrystal.c in sasmodels. + +Example: +SasView_lamellar_stack_paracrystal(thickness, Nlayers, d_spacing, sigma_d, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_thickness=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +thickness & Ang & ([0, inf]) sheet thickness. & 33.0 \\ +Nlayers & & ([1, inf]) Number of layers. & 20 \\ +d\_spacing & Ang & ([0.0, inf]) lamellar spacing of paracrystal stack. & 250.0 \\ +sigma\_d & Ang & ([0.0, inf]) Sigma (polydispersity) of the lamellar spacing. & 0.0 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) layer scattering length density. & 1.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6.34 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_thickness & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_lamellar_stack_paracrystal.comp}{Source code} for \texttt{SasView\_lamellar\_stack\_paracrystal.comp}. +\end{itemize} +\IfFileExists{SasView_lamellar_stack_paracrystal_static.tex}{\input{SasView_lamellar_stack_paracrystal_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_line.tex b/docs/manuals/mcstas/sasmodels/SasView_line.tex new file mode 100644 index 0000000000..dd9fd1e546 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_line.tex @@ -0,0 +1,56 @@ +\section{The \texttt{SasView\_line} McStas Component} +SasView line model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_line component, generated from line.c in sasmodels. + +Example: +SasView_line(intercept, slope, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +intercept & 1/cm & ([-inf, inf]) intercept in linear model. & 1.0 \\ +slope & Ang/cm & ([-inf, inf]) slope in linear model. & 1.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_line.comp}{Source code} for \texttt{SasView\_line.comp}. +\end{itemize} +\IfFileExists{SasView_line_static.tex}{\input{SasView_line_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_linear_pearls.tex b/docs/manuals/mcstas/sasmodels/SasView_linear_pearls.tex new file mode 100644 index 0000000000..71066a5621 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_linear_pearls.tex @@ -0,0 +1,60 @@ +\section{The \texttt{SasView\_linear\_pearls} McStas Component} +SasView linear\_pearls model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_linear_pearls component, generated from linear_pearls.c in sasmodels. + +Example: +SasView_linear_pearls(radius, edge_sep, num_pearls, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0, inf]) Radius of the pearls. & 80.0 \\ +edge\_sep & Ang & ([0, inf]) Length of the string segment - surface to surface. & 350.0 \\ +num\_pearls & & ([1, inf]) Number of the pearls. & 3.0 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) SLD of the pearl spheres. & 1.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) SLD of the solvent. & 6.3 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_linear_pearls.comp}{Source code} for \texttt{SasView\_linear\_pearls.comp}. +\end{itemize} +\IfFileExists{SasView_linear_pearls_static.tex}{\input{SasView_linear_pearls_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_lorentz.tex b/docs/manuals/mcstas/sasmodels/SasView_lorentz.tex new file mode 100644 index 0000000000..0fc9101c51 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_lorentz.tex @@ -0,0 +1,56 @@ +\section{The \texttt{SasView\_lorentz} McStas Component} +SasView lorentz model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_lorentz component, generated from lorentz.c in sasmodels. + +Example: +SasView_lorentz(cor_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_cor_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +cor\_length & Ang & ([0, inf]) Screening length. & 50.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_cor\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_lorentz.comp}{Source code} for \texttt{SasView\_lorentz.comp}. +\end{itemize} +\IfFileExists{SasView_lorentz_static.tex}{\input{SasView_lorentz_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_mass_fractal.tex b/docs/manuals/mcstas/sasmodels/SasView_mass_fractal.tex new file mode 100644 index 0000000000..4df68384f4 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_mass_fractal.tex @@ -0,0 +1,59 @@ +\section{The \texttt{SasView\_mass\_fractal} McStas Component} +SasView mass\_fractal model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_mass_fractal component, generated from mass_fractal.c in sasmodels. + +Example: +SasView_mass_fractal(radius, fractal_dim_mass, cutoff_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_cutoff_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0.0, inf]) Particle radius. & 10.0 \\ +fractal\_dim\_mass & & ([1.0, 6.0]) Mass fractal dimension. & 1.9 \\ +cutoff\_length & Ang & ([0.0, inf]) Cut-off length. & 100.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_cutoff\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_mass_fractal.comp}{Source code} for \texttt{SasView\_mass\_fractal.comp}. +\end{itemize} +\IfFileExists{SasView_mass_fractal_static.tex}{\input{SasView_mass_fractal_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_mass_surface_fractal.tex b/docs/manuals/mcstas/sasmodels/SasView_mass_surface_fractal.tex new file mode 100644 index 0000000000..ea750e74d1 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_mass_surface_fractal.tex @@ -0,0 +1,60 @@ +\section{The \texttt{SasView\_mass\_surface\_fractal} McStas Component} +SasView mass\_surface\_fractal model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_mass_surface_fractal component, generated from mass_surface_fractal.c in sasmodels. + +Example: +SasView_mass_surface_fractal(fractal_dim_mass, fractal_dim_surf, rg_cluster, rg_primary, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg_cluster=0.0, pd_rg_primary=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +fractal\_dim\_mass & & ([0.0, 6.0]) Mass fractal dimension. & 1.8 \\ +fractal\_dim\_surf & & ([0.0, 6.0]) Surface fractal dimension. & 2.3 \\ +rg\_cluster & Ang & ([0.0, inf]) Cluster radius of gyration. & 4000.0 \\ +rg\_primary & Ang & ([0.0, inf]) Primary particle radius of gyration. & 86.7 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_rg\_cluster & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_rg\_primary & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_mass_surface_fractal.comp}{Source code} for \texttt{SasView\_mass\_surface\_fractal.comp}. +\end{itemize} +\IfFileExists{SasView_mass_surface_fractal_static.tex}{\input{SasView_mass_surface_fractal_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_mono_gauss_coil.tex b/docs/manuals/mcstas/sasmodels/SasView_mono_gauss_coil.tex new file mode 100644 index 0000000000..f227f627f4 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_mono_gauss_coil.tex @@ -0,0 +1,57 @@ +\section{The \texttt{SasView\_mono\_gauss\_coil} McStas Component} +SasView mono\_gauss\_coil model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_mono_gauss_coil component, generated from mono_gauss_coil.c in sasmodels. + +Example: +SasView_mono_gauss_coil(i_zero, rg, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +i\_zero & 1/cm & ([0.0, inf]) Intensity at q=0. & 70.0 \\ +rg & Ang & ([0.0, inf]) Radius of gyration. & 75.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_rg & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_mono_gauss_coil.comp}{Source code} for \texttt{SasView\_mono\_gauss\_coil.comp}. +\end{itemize} +\IfFileExists{SasView_mono_gauss_coil_static.tex}{\input{SasView_mono_gauss_coil_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_multilayer_vesicle.tex b/docs/manuals/mcstas/sasmodels/SasView_multilayer_vesicle.tex new file mode 100644 index 0000000000..49cc92f54a --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_multilayer_vesicle.tex @@ -0,0 +1,64 @@ +\section{The \texttt{SasView\_multilayer\_vesicle} McStas Component} +SasView multilayer\_vesicle model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_multilayer_vesicle component, generated from multilayer_vesicle.c in sasmodels. + +Example: +SasView_multilayer_vesicle(volfraction, radius, thick_shell, thick_solvent, sld_solvent, sld, n_shells, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_shell=0.0, pd_thick_solvent=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +volfraction & & ([0.0, 1]) volume fraction of vesicles. & 0.05 \\ +radius & Ang & ([0.0, inf]) radius of solvent filled core. & 60.0 \\ +thick\_shell & Ang & ([0.0, inf]) thickness of one shell. & 10.0 \\ +thick\_solvent & Ang & ([0.0, inf]) solvent thickness between shells. & 10.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) solvent scattering length density. & 6.4 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Shell scattering length density. & 0.4 \\ +n\_shells & & ([1.0, inf]) Number of shell plus solvent layer pairs (must be integer). & 2.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_shell & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_solvent & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_multilayer_vesicle.comp}{Source code} for \texttt{SasView\_multilayer\_vesicle.comp}. +\end{itemize} +\IfFileExists{SasView_multilayer_vesicle_static.tex}{\input{SasView_multilayer_vesicle_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_onion.tex b/docs/manuals/mcstas/sasmodels/SasView_onion.tex new file mode 100644 index 0000000000..757182637e --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_onion.tex @@ -0,0 +1,39 @@ +\section{The \texttt{SasView\_onion} McStas Component} +SasView onion model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_onion component, generated from onion.c in sasmodels. + +Example: +SasView_onion(sld_core, radius_core, sld_solvent, n_shells, sld_in[n_shells], sld_out[n_shells], thickness[n_shells], A[n_shells], +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_core=0.0, pd_thickness[n_shells]=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_onion.comp}{Source code} for \texttt{SasView\_onion.comp}. +\end{itemize} +\IfFileExists{SasView_onion_static.tex}{\input{SasView_onion_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_parallelepiped.tex b/docs/manuals/mcstas/sasmodels/SasView_parallelepiped.tex new file mode 100644 index 0000000000..a72cc9df5b --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_parallelepiped.tex @@ -0,0 +1,62 @@ +\section{The \texttt{SasView\_parallelepiped} McStas Component} +SasView parallelepiped model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_parallelepiped component, generated from parallelepiped.c in sasmodels. + +Example: +SasView_parallelepiped(sld, sld_solvent, length_a, length_b, length_c, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_length_b=0.0, pd_length_c=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Parallelepiped scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +length\_a & Ang & ([0, inf]) Shorter side of the parallelepiped. & 35 \\ +length\_b & Ang & ([0, inf]) Second side of the parallelepiped. & 75 \\ +length\_c & Ang & ([0, inf]) Larger side of the parallelepiped. & 400 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_length\_a & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length\_b & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length\_c & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_parallelepiped.comp}{Source code} for \texttt{SasView\_parallelepiped.comp}. +\end{itemize} +\IfFileExists{SasView_parallelepiped_static.tex}{\input{SasView_parallelepiped_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_parallelepiped_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_parallelepiped_aniso.tex new file mode 100644 index 0000000000..c37e0ca42b --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_parallelepiped_aniso.tex @@ -0,0 +1,68 @@ +\section{The \texttt{SasView\_parallelepiped\_aniso} McStas Component} +SasView parallelepiped model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_parallelepiped component, generated from parallelepiped.c in sasmodels. + +Example: +SasView_parallelepiped_aniso(sld, sld_solvent, length_a, length_b, length_c, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_length_b=0.0, pd_length_c=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Parallelepiped scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +length\_a & Ang & ([0, inf]) Shorter side of the parallelepiped. & 35 \\ +length\_b & Ang & ([0, inf]) Second side of the parallelepiped. & 75 \\ +length\_c & Ang & ([0, inf]) Larger side of the parallelepiped. & 400 \\ +theta & & & 60 \\ +phi & & & 60 \\ +Psi & & & 60 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_length\_a & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length\_b & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_length\_c & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_Psi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_parallelepiped_aniso.comp}{Source code} for \texttt{SasView\_parallelepiped\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_parallelepiped_aniso_static.tex}{\input{SasView_parallelepiped_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_peak_lorentz.tex b/docs/manuals/mcstas/sasmodels/SasView_peak_lorentz.tex new file mode 100644 index 0000000000..653317872c --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_peak_lorentz.tex @@ -0,0 +1,56 @@ +\section{The \texttt{SasView\_peak\_lorentz} McStas Component} +SasView peak\_lorentz model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_peak_lorentz component, generated from peak_lorentz.c in sasmodels. + +Example: +SasView_peak_lorentz(peak_pos, peak_hwhm, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +peak\_pos & 1/Ang & ([-inf, inf]) Peak postion in q. & 0.05 \\ +peak\_hwhm & 1/Ang & ([-inf, inf]) HWHM of peak. & 0.005 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_peak_lorentz.comp}{Source code} for \texttt{SasView\_peak\_lorentz.comp}. +\end{itemize} +\IfFileExists{SasView_peak_lorentz_static.tex}{\input{SasView_peak_lorentz_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_pearl_necklace.tex b/docs/manuals/mcstas/sasmodels/SasView_pearl_necklace.tex new file mode 100644 index 0000000000..e2ca6b5c67 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_pearl_necklace.tex @@ -0,0 +1,63 @@ +\section{The \texttt{SasView\_pearl\_necklace} McStas Component} +SasView pearl\_necklace model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_pearl_necklace component, generated from pearl_necklace.c in sasmodels. + +Example: +SasView_pearl_necklace(radius, edge_sep, thick_string, num_pearls, sld, sld_string, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_string=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0, inf]) Mean radius of the chained spheres. & 80.0 \\ +edge\_sep & Ang & ([0, inf]) Mean separation of chained particles. & 350.0 \\ +thick\_string & Ang & ([0, inf]) Thickness of the chain linkage. & 2.5 \\ +num\_pearls & none & ([1, inf]) Number of pearls in the necklace (must be integer). & 3 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Scattering length density of the chained spheres. & 1.0 \\ +sld\_string & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Scattering length density of the chain linkage. & 1.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Scattering length density of the solvent. & 6.3 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_string & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_pearl_necklace.comp}{Source code} for \texttt{SasView\_pearl\_necklace.comp}. +\end{itemize} +\IfFileExists{SasView_pearl_necklace_static.tex}{\input{SasView_pearl_necklace_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_poly_gauss_coil.tex b/docs/manuals/mcstas/sasmodels/SasView_poly_gauss_coil.tex new file mode 100644 index 0000000000..5946f46796 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_poly_gauss_coil.tex @@ -0,0 +1,58 @@ +\section{The \texttt{SasView\_poly\_gauss\_coil} McStas Component} +SasView poly\_gauss\_coil model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_poly_gauss_coil component, generated from poly_gauss_coil.c in sasmodels. + +Example: +SasView_poly_gauss_coil(i_zero, rg, polydispersity, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +i\_zero & 1/cm & ([0.0, inf]) Intensity at q=0. & 70.0 \\ +rg & Ang & ([0.0, inf]) Radius of gyration. & 75.0 \\ +polydispersity & None & ([1.0, inf]) Polymer Mw/Mn. & 2.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_rg & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_poly_gauss_coil.comp}{Source code} for \texttt{SasView\_poly\_gauss\_coil.comp}. +\end{itemize} +\IfFileExists{SasView_poly_gauss_coil_static.tex}{\input{SasView_poly_gauss_coil_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_polymer_excl_volume.tex b/docs/manuals/mcstas/sasmodels/SasView_polymer_excl_volume.tex new file mode 100644 index 0000000000..4fb22b44c5 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_polymer_excl_volume.tex @@ -0,0 +1,57 @@ +\section{The \texttt{SasView\_polymer\_excl\_volume} McStas Component} +SasView polymer\_excl\_volume model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_polymer_excl_volume component, generated from polymer_excl_volume.c in sasmodels. + +Example: +SasView_polymer_excl_volume(rg, porod_exp, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +rg & Ang & ([0, inf]) Radius of Gyration. & 60.0 \\ +porod\_exp & & ([0, inf]) Porod exponent. & 3.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_rg & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_polymer_excl_volume.comp}{Source code} for \texttt{SasView\_polymer\_excl\_volume.comp}. +\end{itemize} +\IfFileExists{SasView_polymer_excl_volume_static.tex}{\input{SasView_polymer_excl_volume_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_polymer_micelle.tex b/docs/manuals/mcstas/sasmodels/SasView_polymer_micelle.tex new file mode 100644 index 0000000000..f98d10d8be --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_polymer_micelle.tex @@ -0,0 +1,66 @@ +\section{The \texttt{SasView\_polymer\_micelle} McStas Component} +SasView polymer\_micelle model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_polymer_micelle component, generated from polymer_micelle.c in sasmodels. + +Example: +SasView_polymer_micelle(ndensity, v_core, v_corona, sld_solvent, sld_core, sld_corona, radius_core, rg, d_penetration, n_aggreg, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_core=0.0, pd_rg=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +ndensity & 1e15/cm\textasciicircum{}3 & ([0.0, inf]) Number density of micelles. & 8.94 \\ +v\_core & Ang\textasciicircum{}3 & ([0.0, inf]) Core volume . & 62624.0 \\ +v\_corona & Ang\textasciicircum{}3 & ([0.0, inf]) Corona volume. & 61940.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([0.0, inf]) Solvent scattering length density. & 6.4 \\ +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([0.0, inf]) Core scattering length density. & 0.34 \\ +sld\_corona & 1e-6/Ang\textasciicircum{}2 & ([0.0, inf]) Corona scattering length density. & 0.8 \\ +radius\_core & Ang & ([0.0, inf]) Radius of core ( must be \textgreater{}\textgreater{} rg ). & 45.0 \\ +rg & Ang & ([0.0, inf]) Radius of gyration of chains in corona. & 20.0 \\ +d\_penetration & & ([-inf, inf]) Factor to mimic non-penetration of Gaussian chains. & 1.0 \\ +n\_aggreg & & ([-inf, inf]) Aggregation number of the micelle. & 6.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_core & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_rg & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_polymer_micelle.comp}{Source code} for \texttt{SasView\_polymer\_micelle.comp}. +\end{itemize} +\IfFileExists{SasView_polymer_micelle_static.tex}{\input{SasView_polymer_micelle_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_porod.tex b/docs/manuals/mcstas/sasmodels/SasView_porod.tex new file mode 100644 index 0000000000..9484e33bbd --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_porod.tex @@ -0,0 +1,54 @@ +\section{The \texttt{SasView\_porod} McStas Component} +SasView porod model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_porod component, generated from porod.c in sasmodels. + +Example: +SasView_porod(, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_porod.comp}{Source code} for \texttt{SasView\_porod.comp}. +\end{itemize} +\IfFileExists{SasView_porod_static.tex}{\input{SasView_porod_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_power_law.tex b/docs/manuals/mcstas/sasmodels/SasView_power_law.tex new file mode 100644 index 0000000000..03dc976ecd --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_power_law.tex @@ -0,0 +1,55 @@ +\section{The \texttt{SasView\_power\_law} McStas Component} +SasView power\_law model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_power_law component, generated from power_law.c in sasmodels. + +Example: +SasView_power_law(power, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +power & & ([-inf, inf]) Power law exponent. & 4.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_power_law.comp}{Source code} for \texttt{SasView\_power\_law.comp}. +\end{itemize} +\IfFileExists{SasView_power_law_static.tex}{\input{SasView_power_law_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_pringle.tex b/docs/manuals/mcstas/sasmodels/SasView_pringle.tex new file mode 100644 index 0000000000..c439a2f4ea --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_pringle.tex @@ -0,0 +1,62 @@ +\section{The \texttt{SasView\_pringle} McStas Component} +SasView pringle model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_pringle component, generated from pringle.c in sasmodels. + +Example: +SasView_pringle(radius, thickness, alpha, beta, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0, inf]) Pringle radius. & 60.0 \\ +thickness & Ang & ([0, inf]) Thickness of pringle. & 10.0 \\ +alpha & & ([-inf, inf]) Curvature parameter alpha. & 0.001 \\ +beta & & ([-inf, inf]) Curvature paramter beta. & 0.02 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Pringle sld. & 1.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent sld. & 6.3 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thickness & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_pringle.comp}{Source code} for \texttt{SasView\_pringle.comp}. +\end{itemize} +\IfFileExists{SasView_pringle_static.tex}{\input{SasView_pringle_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_raspberry.tex b/docs/manuals/mcstas/sasmodels/SasView_raspberry.tex new file mode 100644 index 0000000000..09ee5dbabf --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_raspberry.tex @@ -0,0 +1,65 @@ +\section{The \texttt{SasView\_raspberry} McStas Component} +SasView raspberry model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_raspberry component, generated from raspberry.c in sasmodels. + +Example: +SasView_raspberry(sld_lg, sld_sm, sld_solvent, volfraction_lg, volfraction_sm, surface_fraction, radius_lg, radius_sm, penetration, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_lg=0.0, pd_radius_sm=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld\_lg & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) large particle scattering length density. & -0.4 \\ +sld\_sm & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) small particle scattering length density. & 3.5 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) solvent scattering length density. & 6.36 \\ +volfraction\_lg & & ([-inf, inf]) volume fraction of large spheres. & 0.05 \\ +volfraction\_sm & & ([-inf, inf]) volume fraction of small spheres. & 0.005 \\ +surface\_fraction & & ([-inf, inf]) fraction of small spheres at surface. & 0.4 \\ +radius\_lg & Ang & ([0, inf]) radius of large spheres. & 5000 \\ +radius\_sm & Ang & ([0, inf]) radius of small spheres. & 100 \\ +penetration & Ang & ([-1, 1]) fractional penetration depth of small spheres into large sphere. & 0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_lg & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius\_sm & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_raspberry.comp}{Source code} for \texttt{SasView\_raspberry.comp}. +\end{itemize} +\IfFileExists{SasView_raspberry_static.tex}{\input{SasView_raspberry_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_rectangular_prism.tex b/docs/manuals/mcstas/sasmodels/SasView_rectangular_prism.tex new file mode 100644 index 0000000000..85b0d6d2fd --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_rectangular_prism.tex @@ -0,0 +1,53 @@ +\section{The \texttt{SasView\_rectangular\_prism} McStas Component} +SasView rectangular\_prism model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} + +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & & & 6.3 \\ +sld\_solvent & & & 1 \\ +length\_a & & & 35 \\ +b2a\_ratio & & & 1 \\ +c2a\_ratio & & & 1 \\ +model\_scale & & & 1.0 \\ +model\_abs & & & 0.0 \\ +xwidth & & & 0.01 \\ +yheight & & & 0.01 \\ +zdepth & & & 0.005 \\ +R & & & 0 \\ +target\_x & & & 0 \\ +target\_y & & & 0 \\ +target\_z & & & 1 \\ +target\_index & & & 1 \\ +focus\_xw & & & 0.5 \\ +focus\_yh & & & 0.5 \\ +focus\_aw & & & 0 \\ +focus\_ah & & & 0 \\ +focus\_r & & & 0 \\ +pd\_length\_a & & & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_rectangular_prism.comp}{Source code} for \texttt{SasView\_rectangular\_prism.comp}. +\end{itemize} +\IfFileExists{SasView_rectangular_prism_static.tex}{\input{SasView_rectangular_prism_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_rectangular_prism_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_rectangular_prism_aniso.tex new file mode 100644 index 0000000000..0b2dc9213a --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_rectangular_prism_aniso.tex @@ -0,0 +1,66 @@ +\section{The \texttt{SasView\_rectangular\_prism\_aniso} McStas Component} +SasView rectangular\_prism model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_rectangular_prism component, generated from rectangular_prism.c in sasmodels. + +Example: +SasView_rectangular_prism_aniso(sld, sld_solvent, length_a, b2a_ratio, c2a_ratio, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Parallelepiped scattering length density. & 6.3 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +length\_a & Ang & ([0, inf]) Shorter side of the parallelepiped. & 35 \\ +b2a\_ratio & & ([0, inf]) Ratio sides b/a. & 1 \\ +c2a\_ratio & & ([0, inf]) Ratio sides c/a. & 1 \\ +theta & & & 0 \\ +phi & & & 0 \\ +Psi & & & 0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_length\_a & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_Psi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_rectangular_prism_aniso.comp}{Source code} for \texttt{SasView\_rectangular\_prism\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_rectangular_prism_aniso_static.tex}{\input{SasView_rectangular_prism_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_rpa.tex b/docs/manuals/mcstas/sasmodels/SasView_rpa.tex new file mode 100644 index 0000000000..a3a8bd9350 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_rpa.tex @@ -0,0 +1,39 @@ +\section{The \texttt{SasView\_rpa} McStas Component} +SasView rpa model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_rpa component, generated from rpa.c in sasmodels. + +Example: +SasView_rpa(case_num, N[4], Phi[4], v[4], L[4], b[4], K12, K13, K14, K23, K24, K34, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_rpa.comp}{Source code} for \texttt{SasView\_rpa.comp}. +\end{itemize} +\IfFileExists{SasView_rpa_static.tex}{\input{SasView_rpa_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_sc_paracrystal.tex b/docs/manuals/mcstas/sasmodels/SasView_sc_paracrystal.tex new file mode 100644 index 0000000000..c0b52dc85b --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_sc_paracrystal.tex @@ -0,0 +1,60 @@ +\section{The \texttt{SasView\_sc\_paracrystal} McStas Component} +SasView sc\_paracrystal model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_sc_paracrystal component, generated from sc_paracrystal.c in sasmodels. + +Example: +SasView_sc_paracrystal(dnn, d_factor, radius, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +dnn & Ang & ([0.0, inf]) Nearest neighbor distance. & 220.0 \\ +d\_factor & & ([-inf, inf]) Paracrystal distortion factor. & 0.06 \\ +radius & Ang & ([0.0, inf]) Radius of sphere. & 40.0 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([0.0, inf]) Sphere scattering length density. & 3.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([0.0, inf]) Solvent scattering length density. & 6.3 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_sc_paracrystal.comp}{Source code} for \texttt{SasView\_sc\_paracrystal.comp}. +\end{itemize} +\IfFileExists{SasView_sc_paracrystal_static.tex}{\input{SasView_sc_paracrystal_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_sc_paracrystal_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_sc_paracrystal_aniso.tex new file mode 100644 index 0000000000..727f210276 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_sc_paracrystal_aniso.tex @@ -0,0 +1,66 @@ +\section{The \texttt{SasView\_sc\_paracrystal\_aniso} McStas Component} +SasView sc\_paracrystal model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_sc_paracrystal component, generated from sc_paracrystal.c in sasmodels. + +Example: +SasView_sc_paracrystal_aniso(dnn, d_factor, radius, sld, sld_solvent, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +dnn & Ang & ([0.0, inf]) Nearest neighbor distance. & 220.0 \\ +d\_factor & & ([-inf, inf]) Paracrystal distortion factor. & 0.06 \\ +radius & Ang & ([0.0, inf]) Radius of sphere. & 40.0 \\ +sld & 1e-6/Ang\textasciicircum{}2 & ([0.0, inf]) Sphere scattering length density. & 3.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([0.0, inf]) Solvent scattering length density. & 6.3 \\ +theta & & & 0 \\ +phi & & & 0 \\ +Psi & & & 0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_Psi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_sc_paracrystal_aniso.comp}{Source code} for \texttt{SasView\_sc\_paracrystal\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_sc_paracrystal_aniso_static.tex}{\input{SasView_sc_paracrystal_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_sphere.tex b/docs/manuals/mcstas/sasmodels/SasView_sphere.tex new file mode 100644 index 0000000000..f33e534749 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_sphere.tex @@ -0,0 +1,58 @@ +\section{The \texttt{SasView\_sphere} McStas Component} +SasView sphere model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_sphere component, generated from sphere.c in sasmodels. + +Example: +SasView_sphere(sld, sld_solvent, radius, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Layer scattering length density. & 1 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 6 \\ +radius & Ang & ([0, inf]) Sphere radius. & 50 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_sphere.comp}{Source code} for \texttt{SasView\_sphere.comp}. +\end{itemize} +\IfFileExists{SasView_sphere_static.tex}{\input{SasView_sphere_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_spinodal.tex b/docs/manuals/mcstas/sasmodels/SasView_spinodal.tex new file mode 100644 index 0000000000..eb41be14e0 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_spinodal.tex @@ -0,0 +1,56 @@ +\section{The \texttt{SasView\_spinodal} McStas Component} +SasView spinodal model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_spinodal component, generated from spinodal.c in sasmodels. + +Example: +SasView_spinodal(gamma, q_0, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +gamma & & ([-inf, inf]) Exponent. & 3.0 \\ +q\_0 & 1/Ang & ([-inf, inf]) Correlation peak position. & 0.1 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_spinodal.comp}{Source code} for \texttt{SasView\_spinodal.comp}. +\end{itemize} +\IfFileExists{SasView_spinodal_static.tex}{\input{SasView_spinodal_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_squarewell.tex b/docs/manuals/mcstas/sasmodels/SasView_squarewell.tex new file mode 100644 index 0000000000..99cea12b8a --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_squarewell.tex @@ -0,0 +1,59 @@ +\section{The \texttt{SasView\_squarewell} McStas Component} +SasView squarewell model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_squarewell component, generated from squarewell.c in sasmodels. + +Example: +SasView_squarewell(radius_effective, volfraction, welldepth, wellwidth, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_effective=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius\_effective & Ang & ([0, inf]) effective radius of hard sphere. & 50.0 \\ +volfraction & & ([0, 0.08]) volume fraction of spheres. & 0.04 \\ +welldepth & kT & ([0.0, 1.5]) depth of well, epsilon. & 1.5 \\ +wellwidth & diameters & ([1.0, inf]) width of well in diameters (=2R) units, must be \textgreater{} 1. & 1.2 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_effective & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_squarewell.comp}{Source code} for \texttt{SasView\_squarewell.comp}. +\end{itemize} +\IfFileExists{SasView_squarewell_static.tex}{\input{SasView_squarewell_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_stacked_disks.tex b/docs/manuals/mcstas/sasmodels/SasView_stacked_disks.tex new file mode 100644 index 0000000000..b88998bd0c --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_stacked_disks.tex @@ -0,0 +1,65 @@ +\section{The \texttt{SasView\_stacked\_disks} McStas Component} +SasView stacked\_disks model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_stacked_disks component, generated from stacked_disks.c in sasmodels. + +Example: +SasView_stacked_disks(thick_core, thick_layer, radius, n_stacking, sigma_d, sld_core, sld_layer, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_thick_core=0.0, pd_thick_layer=0.0, pd_radius=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +thick\_core & Ang & ([0, inf]) Thickness of the core disk. & 10.0 \\ +thick\_layer & Ang & ([0, inf]) Thickness of layer each side of core. & 10.0 \\ +radius & Ang & ([0, inf]) Radius of the stacked disk. & 15.0 \\ +n\_stacking & & ([1, inf]) Number of stacked layer/core/layer disks. & 1.0 \\ +sigma\_d & Ang & ([0, inf]) Sigma of nearest neighbor spacing. & 0 \\ +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Core scattering length density. & 4 \\ +sld\_layer & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Layer scattering length density. & 0.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 5.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_thick\_core & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_layer & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_stacked_disks.comp}{Source code} for \texttt{SasView\_stacked\_disks.comp}. +\end{itemize} +\IfFileExists{SasView_stacked_disks_static.tex}{\input{SasView_stacked_disks_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_stacked_disks_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_stacked_disks_aniso.tex new file mode 100644 index 0000000000..dabf5440c9 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_stacked_disks_aniso.tex @@ -0,0 +1,69 @@ +\section{The \texttt{SasView\_stacked\_disks\_aniso} McStas Component} +SasView stacked\_disks model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_stacked_disks component, generated from stacked_disks.c in sasmodels. + +Example: +SasView_stacked_disks_aniso(thick_core, thick_layer, radius, n_stacking, sigma_d, sld_core, sld_layer, sld_solvent, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_thick_core=0.0, pd_thick_layer=0.0, pd_radius=0.0, pd_theta=0.0, pd_phi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +thick\_core & Ang & ([0, inf]) Thickness of the core disk. & 10.0 \\ +thick\_layer & Ang & ([0, inf]) Thickness of layer each side of core. & 10.0 \\ +radius & Ang & ([0, inf]) Radius of the stacked disk. & 15.0 \\ +n\_stacking & & ([1, inf]) Number of stacked layer/core/layer disks. & 1.0 \\ +sigma\_d & Ang & ([0, inf]) Sigma of nearest neighbor spacing. & 0 \\ +sld\_core & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Core scattering length density. & 4 \\ +sld\_layer & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Layer scattering length density. & 0.0 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 5.0 \\ +theta & & & 0 \\ +phi & & & 0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_thick\_core & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thick\_layer & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_stacked_disks_aniso.comp}{Source code} for \texttt{SasView\_stacked\_disks\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_stacked_disks_aniso_static.tex}{\input{SasView_stacked_disks_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_star_polymer.tex b/docs/manuals/mcstas/sasmodels/SasView_star_polymer.tex new file mode 100644 index 0000000000..99be9c0a48 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_star_polymer.tex @@ -0,0 +1,57 @@ +\section{The \texttt{SasView\_star\_polymer} McStas Component} +SasView star\_polymer model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_star_polymer component, generated from star_polymer.c in sasmodels. + +Example: +SasView_star_polymer(rg_squared, arms, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg_squared=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +rg\_squared & Ang\textasciicircum{}2 & ([0.0, inf]) Ensemble radius of gyration SQUARED of the full polymer. & 100.0 \\ +arms & & ([1.0, 6.0]) Number of arms in the model. & 3 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_rg\_squared & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_star_polymer.comp}{Source code} for \texttt{SasView\_star\_polymer.comp}. +\end{itemize} +\IfFileExists{SasView_star_polymer_static.tex}{\input{SasView_star_polymer_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_stickyhardsphere.tex b/docs/manuals/mcstas/sasmodels/SasView_stickyhardsphere.tex new file mode 100644 index 0000000000..daf050aa22 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_stickyhardsphere.tex @@ -0,0 +1,59 @@ +\section{The \texttt{SasView\_stickyhardsphere} McStas Component} +SasView stickyhardsphere model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_stickyhardsphere component, generated from stickyhardsphere.c in sasmodels. + +Example: +SasView_stickyhardsphere(radius_effective, volfraction, perturb, stickiness, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_effective=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius\_effective & Ang & ([0, inf]) effective radius of hard sphere. & 50.0 \\ +volfraction & & ([0, 0.74]) volume fraction of hard spheres. & 0.2 \\ +perturb & & ([0.01, 0.1]) perturbation parameter, tau. & 0.05 \\ +stickiness & & ([-inf, inf]) stickiness, epsilon. & 0.2 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_effective & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_stickyhardsphere.comp}{Source code} for \texttt{SasView\_stickyhardsphere.comp}. +\end{itemize} +\IfFileExists{SasView_stickyhardsphere_static.tex}{\input{SasView_stickyhardsphere_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_superball.tex b/docs/manuals/mcstas/sasmodels/SasView_superball.tex new file mode 100644 index 0000000000..22930ed0e2 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_superball.tex @@ -0,0 +1,59 @@ +\section{The \texttt{SasView\_superball} McStas Component} +SasView superball model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_superball component, generated from superball.c in sasmodels. + +Example: +SasView_superball(sld, sld_solvent, length_a, exponent_p, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Superball scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +length\_a & Ang & ([0, inf]) Cube edge length of the superball. & 50 \\ +exponent\_p & & ([0, inf]) Exponent describing the roundness of the superball. & 2.5 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_length\_a & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_superball.comp}{Source code} for \texttt{SasView\_superball.comp}. +\end{itemize} +\IfFileExists{SasView_superball_static.tex}{\input{SasView_superball_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_superball_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_superball_aniso.tex new file mode 100644 index 0000000000..2071200356 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_superball_aniso.tex @@ -0,0 +1,65 @@ +\section{The \texttt{SasView\_superball\_aniso} McStas Component} +SasView superball model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_superball component, generated from superball.c in sasmodels. + +Example: +SasView_superball_aniso(sld, sld_solvent, length_a, exponent_p, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Superball scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +length\_a & Ang & ([0, inf]) Cube edge length of the superball. & 50 \\ +exponent\_p & & ([0, inf]) Exponent describing the roundness of the superball. & 2.5 \\ +theta & & & 0 \\ +phi & & & 0 \\ +Psi & & & 0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_length\_a & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_Psi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_superball_aniso.comp}{Source code} for \texttt{SasView\_superball\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_superball_aniso_static.tex}{\input{SasView_superball_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_surface_fractal.tex b/docs/manuals/mcstas/sasmodels/SasView_surface_fractal.tex new file mode 100644 index 0000000000..5134bfbaf1 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_surface_fractal.tex @@ -0,0 +1,59 @@ +\section{The \texttt{SasView\_surface\_fractal} McStas Component} +SasView surface\_fractal model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_surface_fractal component, generated from surface_fractal.c in sasmodels. + +Example: +SasView_surface_fractal(radius, fractal_dim_surf, cutoff_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_cutoff_length=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & Ang & ([0, inf]) Particle radius. & 10.0 \\ +fractal\_dim\_surf & & ([1, 3]) Surface fractal dimension. & 2.0 \\ +cutoff\_length & Ang & ([0.0, inf]) Cut-off Length. & 500.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_cutoff\_length & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_surface_fractal.comp}{Source code} for \texttt{SasView\_surface\_fractal.comp}. +\end{itemize} +\IfFileExists{SasView_surface_fractal_static.tex}{\input{SasView_surface_fractal_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_teubner_strey.tex b/docs/manuals/mcstas/sasmodels/SasView_teubner_strey.tex new file mode 100644 index 0000000000..1e7ba570bf --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_teubner_strey.tex @@ -0,0 +1,59 @@ +\section{The \texttt{SasView\_teubner\_strey} McStas Component} +SasView teubner\_strey model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_teubner_strey component, generated from teubner_strey.c in sasmodels. + +Example: +SasView_teubner_strey(volfraction_a, sld_a, sld_b, d, xi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +volfraction\_a & & ([0, 1.0]) Volume fraction of phase a. & 0.5 \\ +sld\_a & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) SLD of phase a. & 0.3 \\ +sld\_b & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) SLD of phase b. & 6.3 \\ +d & Ang & ([0, inf]) Domain size (periodicity). & 100.0 \\ +xi & Ang & ([0, inf]) Correlation length. & 30.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_teubner_strey.comp}{Source code} for \texttt{SasView\_teubner\_strey.comp}. +\end{itemize} +\IfFileExists{SasView_teubner_strey_static.tex}{\input{SasView_teubner_strey_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_triaxial_ellipsoid.tex b/docs/manuals/mcstas/sasmodels/SasView_triaxial_ellipsoid.tex new file mode 100644 index 0000000000..ccf4bf58db --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_triaxial_ellipsoid.tex @@ -0,0 +1,62 @@ +\section{The \texttt{SasView\_triaxial\_ellipsoid} McStas Component} +SasView triaxial\_ellipsoid model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_triaxial_ellipsoid component, generated from triaxial_ellipsoid.c in sasmodels. + +Example: +SasView_triaxial_ellipsoid(sld, sld_solvent, radius_equat_minor, radius_equat_major, radius_polar, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_equat_minor=0.0, pd_radius_equat_major=0.0, pd_radius_polar=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Ellipsoid scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +radius\_equat\_minor & Ang & ([0, inf]) Minor equatorial radius, Ra. & 20 \\ +radius\_equat\_major & Ang & ([0, inf]) Major equatorial radius, Rb. & 400 \\ +radius\_polar & Ang & ([0, inf]) Polar radius, Rc. & 10 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_equat\_minor & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius\_equat\_major & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius\_polar & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_triaxial_ellipsoid.comp}{Source code} for \texttt{SasView\_triaxial\_ellipsoid.comp}. +\end{itemize} +\IfFileExists{SasView_triaxial_ellipsoid_static.tex}{\input{SasView_triaxial_ellipsoid_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_triaxial_ellipsoid_aniso.tex b/docs/manuals/mcstas/sasmodels/SasView_triaxial_ellipsoid_aniso.tex new file mode 100644 index 0000000000..3d77285551 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_triaxial_ellipsoid_aniso.tex @@ -0,0 +1,68 @@ +\section{The \texttt{SasView\_triaxial\_ellipsoid\_aniso} McStas Component} +SasView triaxial\_ellipsoid model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_triaxial_ellipsoid component, generated from triaxial_ellipsoid.c in sasmodels. + +Example: +SasView_triaxial_ellipsoid_aniso(sld, sld_solvent, radius_equat_minor, radius_equat_major, radius_polar, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_equat_minor=0.0, pd_radius_equat_major=0.0, pd_radius_polar=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Ellipsoid scattering length density. & 4 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) Solvent scattering length density. & 1 \\ +radius\_equat\_minor & Ang & ([0, inf]) Minor equatorial radius, Ra. & 20 \\ +radius\_equat\_major & Ang & ([0, inf]) Major equatorial radius, Rb. & 400 \\ +radius\_polar & Ang & ([0, inf]) Polar radius, Rc. & 10 \\ +theta & & & 60 \\ +phi & & & 60 \\ +Psi & & & 60 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius\_equat\_minor & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius\_equat\_major & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_radius\_polar & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_theta & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_phi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_Psi & & (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_triaxial_ellipsoid_aniso.comp}{Source code} for \texttt{SasView\_triaxial\_ellipsoid\_aniso.comp}. +\end{itemize} +\IfFileExists{SasView_triaxial_ellipsoid_aniso_static.tex}{\input{SasView_triaxial_ellipsoid_aniso_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_two_lorentzian.tex b/docs/manuals/mcstas/sasmodels/SasView_two_lorentzian.tex new file mode 100644 index 0000000000..f75cfe8de0 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_two_lorentzian.tex @@ -0,0 +1,62 @@ +\section{The \texttt{SasView\_two\_lorentzian} McStas Component} +SasView two\_lorentzian model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_two_lorentzian component, generated from two_lorentzian.c in sasmodels. + +Example: +SasView_two_lorentzian(lorentz_scale_1, lorentz_length_1, lorentz_exp_1, lorentz_scale_2, lorentz_length_2, lorentz_exp_2, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_lorentz_length_1=0.0, pd_lorentz_length_2=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +lorentz\_scale\_1 & & ([-inf, inf]) First power law scale factor. & 10.0 \\ +lorentz\_length\_1 & Ang & ([-inf, inf]) First Lorentzian screening length. & 100.0 \\ +lorentz\_exp\_1 & & ([-inf, inf]) First exponent of power law. & 3.0 \\ +lorentz\_scale\_2 & & ([-inf, inf]) Second scale factor for broad Lorentzian peak. & 1.0 \\ +lorentz\_length\_2 & Ang & ([-inf, inf]) Second Lorentzian screening length. & 10.0 \\ +lorentz\_exp\_2 & & ([-inf, inf]) Second exponent of power law. & 2.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_lorentz\_length\_1 & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_lorentz\_length\_2 & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_two_lorentzian.comp}{Source code} for \texttt{SasView\_two\_lorentzian.comp}. +\end{itemize} +\IfFileExists{SasView_two_lorentzian_static.tex}{\input{SasView_two_lorentzian_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_two_power_law.tex b/docs/manuals/mcstas/sasmodels/SasView_two_power_law.tex new file mode 100644 index 0000000000..2906aae8e7 --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_two_power_law.tex @@ -0,0 +1,58 @@ +\section{The \texttt{SasView\_two\_power\_law} McStas Component} +SasView two\_power\_law model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_two_power_law component, generated from two_power_law.c in sasmodels. + +Example: +SasView_two_power_law(coefficent_1, crossover, power_1, power_2, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +coefficent\_1 & & ([-inf, inf]) coefficent A in low Q region. & 1.0 \\ +crossover & 1/Ang & ([0, inf]) crossover location. & 0.04 \\ +power\_1 & & ([0, inf]) power law exponent at low Q. & 1.0 \\ +power\_2 & & ([0, inf]) power law exponent at high Q. & 4.0 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_two_power_law.comp}{Source code} for \texttt{SasView\_two\_power\_law.comp}. +\end{itemize} +\IfFileExists{SasView_two_power_law_static.tex}{\input{SasView_two_power_law_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sasmodels/SasView_vesicle.tex b/docs/manuals/mcstas/sasmodels/SasView_vesicle.tex new file mode 100644 index 0000000000..23cefe933b --- /dev/null +++ b/docs/manuals/mcstas/sasmodels/SasView_vesicle.tex @@ -0,0 +1,61 @@ +\section{The \texttt{SasView\_vesicle} McStas Component} +SasView vesicle model component as sample description. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Jose Robledo + \item \textbf{Origin:} FZJ / DTU / ESS DMSC + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +SasView_vesicle component, generated from vesicle.c in sasmodels. + +Example: +SasView_vesicle(sld, sld_solvent, volfraction, radius, thickness, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0) +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sld & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) vesicle shell scattering length density. & 0.5 \\ +sld\_solvent & 1e-6/Ang\textasciicircum{}2 & ([-inf, inf]) solvent scattering length density. & 6.36 \\ +volfraction & & ([0, 1.0]) volume fraction of shell. & 0.05 \\ +radius & Ang & ([0, inf]) vesicle core radius. & 100 \\ +thickness & Ang & ([0, inf]) vesicle shell thickness. & 30 \\ +model\_scale & & Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. & 1.0 \\ +model\_abs & & Absorption cross section density at 2200 m/s. & 0.0 \\ +xwidth & m & ([-inf, inf]) Horiz. dimension of sample, as a width. & 0.01 \\ +yheight & m & ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box & 0.01 \\ +zdepth & m & ([-inf, inf]) depth of sample & 0.005 \\ +R & m & Outer radius of sample in (x,z) plane for cylinder/sphere. & 0 \\ +target\_x & m & relative focus target position. & 0 \\ +target\_y & m & relative focus target position. & 0 \\ +target\_z & m & relative focus target position. & 1 \\ +target\_index & & Relative index of component to focus at, e.g. next is +1. & 1 \\ +focus\_xw & m & horiz. dimension of a rectangular area. & 0.5 \\ +focus\_yh & m & , vert. dimension of a rectangular area. & 0.5 \\ +focus\_aw & deg & , horiz. angular dimension of a rectangular area. & 0 \\ +focus\_ah & deg & , vert. angular dimension of a rectangular area. & 0 \\ +focus\_r & m & case of circular focusing, focusing radius. & 0 \\ +pd\_radius & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. & 0.0 \\ +pd\_thickness & & (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable & 0.0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sasmodels/SasView_vesicle.comp}{Source code} for \texttt{SasView\_vesicle.comp}. +\end{itemize} +\IfFileExists{SasView_vesicle_static.tex}{\input{SasView_vesicle_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sources/Adapt_check.tex b/docs/manuals/mcstas/sources/Adapt_check.tex index d710eb8b0e..3f36e88094 100644 --- a/docs/manuals/mcstas/sources/Adapt_check.tex +++ b/docs/manuals/mcstas/sources/Adapt_check.tex @@ -1,24 +1,41 @@ -\section{Adapt\_check: The adaptive importance sampling monitor} -\label{s:adapt_check} -\index{Monitors!Adaptive importance sampling monitor} -\index{Sources!Adaptive importance sampling monitor} -\index{Optimization} +\section{The \texttt{Adapt\_check} McStas Component} +Optimization specifier for the Source\_adapt component. -%\component{Adapt\_check}{K. Nielsen}{source\_comp}{}{validated} -\mcdoccomp{sources/Adapt_check.parms} - -The component \textbf{Adapt\_check} is used together with the Source\_adapt component - see section \ref{s:Source_adapt} for details. When placed somewhere in an instrument using Source\_adapt as a source, the source will optimize for neutrons that reach that point without being absorbed (regardless of neutron position, divergence, wavelength, \emph{etc}). - -The Adapt\_check component takes as single input parameter \emph{source\_comp} the name of the Source\_adapt component instance, for example: +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 1999 +\end{itemize} +\subsection*{Description} \begin{lstlisting} -... -COMPONENT mysource = Source_adapt(...) -... -COMPONENT mycheck = Adapt_check(source_comp = mysource) -... +This components works together with the Source_adapt component, and +is used to define the criteria for selecting which neutrons are +considered "good" in the adaptive algorithm. The name of the +associated Source_adapt component in the instrument definition is +given as parameter. The component is special in that its position +does not matter; all neutrons that have not been absorbed prior to +the component are considered "good". + +Example: Adapt_check(source_comp="MySource") \end{lstlisting} -Only one instance of Adapt\_check is allowed in an instrument. +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{source\_comp} & string & The name of the Source\_adapt component in the instrument definition. & \\ +\bottomrule +\end{longtable} -We suggest, as alternative method, to make use of the \texttt{SPLIT} keyword, as described in the \MCS User Manual. +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sources/Adapt_check.comp}{Source code} for \texttt{Adapt\_check.comp}. +\end{itemize} +\IfFileExists{Adapt_check_static.tex}{\input{Adapt_check_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sources/Adapt_check_static.tex b/docs/manuals/mcstas/sources/Adapt_check_static.tex new file mode 100644 index 0000000000..1f2f80c6cc --- /dev/null +++ b/docs/manuals/mcstas/sources/Adapt_check_static.tex @@ -0,0 +1,24 @@ +\section{Adapt\_check: The adaptive importance sampling monitor} +\label{s:adapt_check} +\index{Monitors!Adaptive importance sampling monitor} +\index{Sources!Adaptive importance sampling monitor} +\index{Optimization} + +%\component{Adapt\_check}{K. Nielsen}{source\_comp}{}{validated} +%\mcdoccomp{sources/Adapt_check.parms} + +The component \textbf{Adapt\_check} is used together with the Source\_adapt component - see section \ref{s:Source_adapt} for details. When placed somewhere in an instrument using Source\_adapt as a source, the source will optimize for neutrons that reach that point without being absorbed (regardless of neutron position, divergence, wavelength, \emph{etc}). + +The Adapt\_check component takes as single input parameter \emph{source\_comp} the name of the Source\_adapt component instance, for example: + +\begin{lstlisting} +... +COMPONENT mysource = Source_adapt(...) +... +COMPONENT mycheck = Adapt_check(source_comp = mysource) +... +\end{lstlisting} + +Only one instance of Adapt\_check is allowed in an instrument. + +We suggest, as alternative method, to make use of the \texttt{SPLIT} keyword, as described in the \MCS User Manual. diff --git a/docs/manuals/mcstas/sources/ESS_butterfly.tex b/docs/manuals/mcstas/sources/ESS_butterfly.tex new file mode 100644 index 0000000000..a5dd3dae54 --- /dev/null +++ b/docs/manuals/mcstas/sources/ESS_butterfly.tex @@ -0,0 +1,110 @@ +\section{The \texttt{ESS\_butterfly} McStas Component} +ESS butterfly moderator, 2016 revision + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Willendrup and Esben Klinkby + \item \textbf{Origin:} DTU + \item \textbf{Date:} August-September 2016 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +ESS butterfly moderator with automatic choice of coordinate system, with origin +placed at relevant "Moderator Focus Coordinate System" depending on sector location. + +To select beamport N 5 simply use + +COMPONENT Source = ESS_butterfly(sector="N",beamline=5,Lmin=0.1,Lmax=20,dist=2, +cold_frac=0.5, yheight=0.03,focus_xw=0.1, focus_yh=0.1) + +Geometry +The geometry corresponds correctly to the latest release of the butterfly moderator, +including changes warranted by the ESS CCB in July 2016, the so called BF1 type moderator. +A set of official release documents are available with this component, see the benchmarking +website mentioned below. + +Brilliances, geometry adapted from earlier BF2 design +The geometry and brightness data implemented in the McStas ESS source component ESS_butterfly.comp, +are released as an updated component library for McStas 2.3, as well as a stand alone archive for +use with earlier versions of McStas. + +The following features are worth highlighting: +
    +
  • The brightness data are still based on last years MCNP calculations, based on the Butterfly 2 geometry. +As a result, the spatial variation of the brightness across the moderator face should be considered to +have an uncertainty of the order of 10%. Detailed information on the reasoning behind the change to +the Butterfly 1 geometry can be found in [1] and detailed information on horizontal spatial brightness +variation can be found in [2]. The spectral shape has been checked and has not changed significantly. +
  • A scaling factor has been introduced to in order to account for the decrease in brightness since 2015. +To accommodate the influence of the changed geometry, this scaling factor has been applied independently +for the cold and thermal contributions and is beamline dependent. It is adjusted to agree with the +spectrally-integrated 6cm width data shown in [1],Figure 3. +
  • To allow future user adjustments of brilliance, the scalar parameters c_performance and t_performance +have been implemented. For now, we recommend to keep these at their default value of 1.0. +
  • The geometry has been updated to correspond within about 2 mm to the geometry described in [1]. This +has been done by ensuring that the position and apparent width of the moderators correspond to [1],Figure 2, +which has been derived from current MCNP butterfly 1 model. +
  • The beamport is now defined directly by its sector and number (e.g. 'W' and '5'), rather than giving the angle, +as before. [1],Figure 5 shows the geometry of the moderator2, beamport insert and beamline axis for beamline W5. +Since the underlying data is still from last years MCNP run, when the brightness was calculated at 10-degree +intervals, this means that the spectral curve for the nearest beamport on the grid 5,15,25,35,45,55 degrees +is used. The use of this grid has no effect on the accuracy of the geometry or brilliance because of the above- +mentioned beamline-dependent adjustments to the brilliance and geometry. See the website [3] for details. +
+As before, the beamports all originate at the focal point of the sector. The beamline will in almost all cases be +horizontally tilted in order to view the cold or thermal moderator, which should be done using an Arm component. + +

We expect to release an MCNP-event-based source model later in 2016, and possibly also new set of brilliance +functions for ESS_butterfly.comp. These are expected to include more realistic brilliances in terms of variation +across sectors and potentially also performance losses due to engineering reality. + +Engineering reality +An ad-hoc method for future implementation of "engineering reality" is included, use the +"c_performance/t_performance" parameters to down-scale performance uniformly across all wavelengths. + +References: +

    +
  1. Release document "Update to ESS Moderators, latest version" +
  2. Release document "Description and performance of the new baseline ESS moderators, latest version" +
  3. http://essbutterfly.mcstas.org/ benchmarking website with comparative McStas-MCNP figures +
  4. html-based, interactive 3D model of moderators and monolith, as seen from beamline N4. +
  5. Source code for ESS_butterfly.comp at GitHub. +
+\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sector & str & Defines the 'sector' of your instrument position. Valid values are "N","S","E" and "W" & "N" \\ +beamline & 1 & Defines the 'beamline number' of your instrument position. Valid values are 1..10 or 1..11 depending on sector & 1 \\ +yheight & m & Defines the moderator height. Valid values are 0.03 m and 0.06 m & 0.03 \\ +cold\_frac & 1 & Defines the statistical fraction of events emitted from the cold part of the moderator & 0.5 \\ +target\_index & 1 & Relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. & 0 \\ +dist & m & Distance from origin to focusing rectangle; at (0,0,dist) - alternatively use target\_index & 0 \\ +focus\_xw & m & Width of focusing rectangle & 0 \\ +focus\_yh & m & Height of focusing rectangle & 0 \\ +c\_performance & 1 & Cold brilliance scalar performance multiplicator c\_performance \textgreater{} 0 & 1 \\ +t\_performance & 1 & Thermal brilliance scalar performance multiplicator t\_performance \textgreater{} 0 & 1 \\ +\textbf{Lmin} & AA & Minimum wavelength simulated & \\ +\textbf{Lmax} & AA & Maximum wavelength simulated & \\ +tmax\_multiplier & 1 & Defined maximum emission time at moderator, tmax= tmax\_multiplier * ESS\_PULSE\_DURATION. & 3 \\ +n\_pulses & 1 & Number of pulses simulated. 0 and 1 creates one pulse. & 1 \\ +acc\_power & MW & Accelerator power in MW & 5 \\ +tfocus\_dist & m & Position of time focusing window along z axis & 0 \\ +tfocus\_time & s & Time position of time focusing window & 0 \\ +tfocus\_width & s & Time width of time focusing window & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sources/ESS_butterfly.comp}{Source code} for \texttt{ESS\_butterfly.comp}. +\end{itemize} +\IfFileExists{ESS_butterfly_static.tex}{\input{ESS_butterfly_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sources/ESS_moderator.tex b/docs/manuals/mcstas/sources/ESS_moderator.tex new file mode 100644 index 0000000000..1462624c8c --- /dev/null +++ b/docs/manuals/mcstas/sources/ESS_moderator.tex @@ -0,0 +1,84 @@ +\section{The \texttt{ESS\_moderator} McStas Component} +A parametrised pulsed source for modelling ESS long pulses. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} P Willendrup and E Klinkby, February 2014, derived from K Lefmann ESS\_moderator\_long + \item \textbf{Origin:} DTU + \item \textbf{Date:} +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Produces a time-of-flight spectrum, from the ESS parameters +Chooses evenly in lambda, evenly/exponentially decaying in time +Adapted from ESS_moderator_long by: K Lefmann, 2001 + +Updates and simplified interface: +
    +
  1. The spectrum from the source(s) is defined via the sourcedef string input parameter which allows these values: +
      +
    • sourcedef="2001", legacy "Mezei moderators" from the original F. Mezei documents +"ESS reference moderator characteristics for generic instrument performance evaluation", but rescaled to ESS TDR frequency, pulselength and power. +
    • sourcedef="TDR", Mezei moderators, with a wavelength-dependent correction term to the cold flux, derived from +2012 MCNPX calculations by ESS neutronics group. Corrections calculated by K Lieutenant (Vitess) and +implemented here by E Klinkby. NOTE: uses the 2001 brilliance for the thermal moderator! +
    • sourcedef="2014", updated brilliance using formulation by Troels Schoenfeldt, including support for the "pancacke", i.e. flat geometry. +
    • sourcedef="2015", updated brilliance using formulation by Troels Schoenfeldt, new butterfly baseline. +
    +
  2. The component can use target_index for focusing to a given beam port. Use an Arm() and ROTATED to position +relatively to the moderator. +
  3. The component relies on the new ess_source-lib which is expected to become further enriched during design-finaliziation and construciton of the ESS. +
+ +

Note that this component does not implement "engineering reality" and currently uses a coordinate system centered on the moderator assembly. An +updated moderator component which references the "Moderator focus coordinate system" will be released later during the spring of 2016. + +

Derived from ESS_moderator_long which was debugged intensively against Mezei note (4/12 2000) and VitESS @ Rencurel 2006. + +----------------------------------------------- +Correction by J. Saroun, NPI Rez: +1) version 2015: accepts negative port angles +2) version 2015: weight by cosine of the port angle +Warning: The negative beamport angle is not taken into acccount by mcplot + +%VALIDATION +Mezei-modererators validated against VitESS and Mezei note (4/12 2000) @ Rencurel 2006 +Benchmarked against multiple versions of ESS moderator group simulation data 2013-2015 +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +isleft & 1 & Fraction of thermal neutrons generated at the "left" moderator slab in case of "2013" or "2014" & 0.9 \\ +\textbf{Lmin} & AA & Lower edge of wavelength distribution & \\ +\textbf{Lmax} & AA & Upper edge of wavelength distribution & \\ +cold\_frac & 1 & Fraction of neutron statistics from cold source. It is implicitely assumed that supermirror allows each beamline to choose the desired fraction of cold and thermal neutrons (i.e. extreme idealization). & 1.0 \\ +dist & m & Distance from source to focusing rectangle; at (0,0,dist) & 0 \\ +\textbf{focus\_xw} & m & Width of focusing rectangle & \\ +\textbf{focus\_yh} & m & Height of focusing rectangle & \\ +target\_index & 1 & relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. & 0 \\ +tmax\_multiplier & 1 & Defined maximum emission time at moderator, tmax= tmax\_multiplier * ESS\_PULSE\_DURATION. Only in combination with sourcedef="2013", "2014" or "2015" & 3 \\ +yheight\_c & m & Height of the cold source & 0.12 \\ +yheight\_t & m & Height of the thermal source & 0.12 \\ +n\_pulses & 1 & Number of pulses simulated. 0 and 1 creates one pulse. The integrated intensity is constant & 1 \\ +acc\_power & MW & Accelerator power in MW & 5 \\ +beamport\_angle & deg & Direction within the beamport sector (0 \textless{} angle \textless{} extraction\_opening for 2014, -extraction\_opening/2 \textless{} angle \textless{} extraction\_opening/2 for 2015) to direct neutrons. For sourcedef="2015", the only allowed values are 5,15,...,55 degrees measured from the central point. & -1 \\ +sourcedef & string & ESS source "database", values: "TDR", "2001", "2013", "2014", "2015" & "2015" \\ +xwidth\_c & m & Width / arc-length opening of the cold source. & 0.1 \\ +xwidth\_t & m & Edge of thermal source & 0.18 \\ +extraction\_opening & deg & Width of extraction-area in degrees (60 or 120 degrees). 120 deg only in combination with sourcedef="2014" and "2015". & 120 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sources/ESS_moderator.comp}{Source code} for \texttt{ESS\_moderator.comp}. +\end{itemize} +\IfFileExists{ESS_moderator_static.tex}{\input{ESS_moderator_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sources/Moderator.tex b/docs/manuals/mcstas/sources/Moderator.tex index 646c90735e..c470db0800 100644 --- a/docs/manuals/mcstas/sources/Moderator.tex +++ b/docs/manuals/mcstas/sources/Moderator.tex @@ -1,36 +1,45 @@ -\section{Moderator: A time-of-flight source (pulsed)} -\label{s:moderator} -\index{Sources!Time of flight pulsed moderator} +\section{The \texttt{Moderator} McStas Component} +A simple pulsed source for time-of-flight. -\component{Moderator}{(System) Mark Hagen, SNS}{$r_s$, $E_0$, $E_1$, $z_f$, $w$, $h$, $\tau_0$, $E_c$, $\gamma$}{}{} -\mcdoccomp{sources/Moderator.parms} +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} KN, M.Hagen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} August 1998 +\end{itemize} -The simple time-of-flight source component \textbf{Moderator} resembles -the source component \textbf{Source\_simple} described in \ref{source-simple}. -\textbf{Moderator} is circular with radius $r_s$ and focuses -on a rectangular target of area $w \times h$ in a distance $z_f$. -The initial velocity is chosen -with a linear distribution within an interval, defined by the -minimum and maximum energies, $E_0$ and $E_1$, respectively. +\subsection*{Description} +\begin{lstlisting} +Produces a simple time-of-flight spectrum, with a flat energy distribution -The initial time of the neutron is determined on basis of a -simple heuristical model for the time dependence of the -neutron intensity from a time-of-flight source. -For all neutron energies, the flux decay is assumed to be exponential, -\begin{equation} -\Psi(E,t) = \exp(-t/\tau(E)) , -\end{equation} -where the decay constant is given by -\begin{equation} -\tau(E) = \left\{ -\begin{array}{cc} - \tau_0 & ; ESource_Optimizer in order to have the maximum flux at the +Monitor_Optimizer position(s). +Source_optimizer should be placed just after the source. +Monitor_Optimizer should be placed at the position to optimize. +I prefer to put one just before the sample. -The input parameters for \textbf{Monitor\_Optimizer} are the rectangular -shaped opening coordinates $x_{min}$, $x_{max}$, $y_{min}$, -$y_{max}$, and the name of the associated instance of -\textbf{Source\_Optimizer} used in the instrument description file (one word, -without quotes). +See Source_Optimizer for +usage example and additional informations. +\end{lstlisting} -As many Monitor\_Optimizer instances as required may be used in an instrument, -for possibly more than one optimization location. -Multiple instances may all have an effect on the total intensity. +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{optim\_comp} & str & name of the Source\_Optimizer component in the instrument definition. Do not use quotes (no quotes) & \\ +xmin & m & Lower x bound of monitor opening & -0.1 \\ +xmax & m & Upper x bound of monitor opening & 0.1 \\ +ymin & m & Lower y bound of monitor opening & -0.1 \\ +ymax & m & Upper y bound of monitor opening & 0.1 \\ +xwidth & m & Width of monitor. Overrides xmin,xmax. & 0 \\ +yheight & m & Height of monitor. Overrides ymin,ymax. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sources/Monitor_Optimizer.comp}{Source code} for \texttt{Monitor\_Optimizer.comp}. + \item \textless{}a href="Source\_Optimizer.html"\textgreater{}Source\_Optimizer\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Monitor_Optimizer_static.tex}{\input{Monitor_Optimizer_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sources/Monitor_Optimizer_static.tex b/docs/manuals/mcstas/sources/Monitor_Optimizer_static.tex new file mode 100644 index 0000000000..1a3ec43290 --- /dev/null +++ b/docs/manuals/mcstas/sources/Monitor_Optimizer_static.tex @@ -0,0 +1,22 @@ +% Emacs settings: -*-mode: latex; TeX-master: "manual.tex"; -*- + +\section{Monitor\_Optimizer: Optimization locations for the\\ + Source\_Optimizer} +\label{monitor-optimizer} +\index{Sources!Optimization location|see{Sources/Optimizer}}\index{Optimization} +%\component{Source\_Optimizer}{E. Farhi, ILL}{optim\_comp}{$x_{min}$, $x_{max}$, $y_{min}$,$y_{max}$}{partially validated} +%\mcdoccomp{sources/Monitor_Optimizer.parms} + +The \textbf{Monitor\_Optimizer} component works with the \textbf{ + Source\_Optimizer} component. See section~\ref{source-optimizer} +for usage. + +The input parameters for \textbf{Monitor\_Optimizer} are the rectangular +shaped opening coordinates $x_{min}$, $x_{max}$, $y_{min}$, +$y_{max}$, and the name of the associated instance of +\textbf{Source\_Optimizer} used in the instrument description file (one word, +without quotes). + +As many Monitor\_Optimizer instances as required may be used in an instrument, +for possibly more than one optimization location. +Multiple instances may all have an effect on the total intensity. diff --git a/docs/manuals/mcstas/sources/Source_4PI.tex b/docs/manuals/mcstas/sources/Source_4PI.tex new file mode 100644 index 0000000000..0bd1854a2d --- /dev/null +++ b/docs/manuals/mcstas/sources/Source_4PI.tex @@ -0,0 +1,39 @@ +\section{The \texttt{Source\_4PI} McStas Component} +Spherical, 4PI-emitting, monochromatic source for benchmarking purposes + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Peter Willendrup + \item \textbf{Origin:} DTU + \item \textbf{Date:} May 2024 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Spherical, 4PI-emitting, monochromatic source for benchmarking purposes +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & m & Radius of spherical source & 0 \\ +flux & n/s/4PI & Neutron flux & 1e14 \\ +gauss & & Flag to indicate if Energy/Wavelength distribution is gaussian & 0 \\ +E0 & meV & Mean energy of neutrons. & 0 \\ +dE & meV & Energy half spread of neutrons (flat or gaussian sigma). & 0 \\ +lambda0 & AA & Mean wavelength of neutrons. & 0 \\ +dlambda & AA & Wavelength half spread of neutrons. & 0 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sources/Source_4PI.comp}{Source code} for \texttt{Source\_4PI.comp}. +\end{itemize} +\IfFileExists{Source_4PI_static.tex}{\input{Source_4PI_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sources/Source_Maxwell_3.tex b/docs/manuals/mcstas/sources/Source_Maxwell_3.tex index f51cc21a35..45491d4e6f 100644 --- a/docs/manuals/mcstas/sources/Source_Maxwell_3.tex +++ b/docs/manuals/mcstas/sources/Source_Maxwell_3.tex @@ -1,61 +1,59 @@ -\section{Source\_Maxwell\_3: A continuous source -with a Maxwellian spectrum} -\label{source-maxwell} -\index{Sources!Continuous source -with a Maxwellian spectrum} +\section{The \texttt{Source\_Maxwell\_3} McStas Component} +Source with up to three Maxwellian distributions -%\component{Source\_Maxwell\_3}{System}{ $h$, $w$, $d_\textrm{foc}$, $xw$, $yh$, $\lambda_\textrm{low}$, $\lambda_\textrm{high}$, $I_1$, $T_1$}{$I_2$, $T_2$, $I_3$, $T_3$}{Validated. t=0} -\mcdoccomp{sources/Source_Maxwell_3.parms} +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} March 2001 +\end{itemize} -This component is a source with a Maxwellian energy/wavelength distribution -sampled in the range $\lambda_\textrm{low}$ to $\lambda_\textrm{high}$. -The initial neutron ray position is chosen randomly from within a -rectangle of area $h \times w$ in the $z=0$ plane. -The initial neutron ray direction is focused within -a solid angle, defined by a rectangular target of width -$xw$, height $yh$, parallel to -the $xy$ plane placed at $(0,0,d_\textrm{foc})$. -The energy distribution used is a sum of 1, 2, or 3 Maxwellians with -temperatures $T_1$ to $T_3$ and integrated intensities $I_1$ to $I_3$. +\subsection*{Description} +\begin{lstlisting} +A parametrised continuous source for modelling a (cubic) source +with (up to) 3 Maxwellian distributions. +The source produces a continuous spectrum. +The sampling of the neutrons is uniform in wavelength. -For one single Maxwellian, -the intensity in a small wavelength interval $[\lambda, \lambda+d\lambda]$ is -$ I_1 M(\lambda,T_1) d\lambda $ -where -$M(\lambda,T_1) = 2 \alpha^2 \exp(-\alpha/\lambda^2) / \lambda^5 $ -is the normalized Maxwell distribution ($\alpha=949.0$~K \AA$^2/T_1$). -The initial weight of the created neutron ray, $p_0$, is -calculated according to Eq. (\ref{proprule}), with $\Psi(\lambda)$ replaced -by $\sum_{j=1}^3 I_j M(\lambda,T_j)$. +Units of flux: neutrons/cm^2/second/ster +(McStas units are in general neutrons/second) -% -%The number of neutrons per second through a focusing window -%of solid angle $\Omega$ -%from a source of area $A$ within the wavelength interval $\lambda_1$ to -%$\lambda_2$ is thus -%\begin{equation} -%I_\textrm{tot} = \Omega A \int_{\lambda_1}^{\lambda_2} I_1 M(\lambda,T_1) d\lambda. -%\end{equation} -%In a Monte Carlo integration, the observed intensity becomes -%\begin{equation} -%I_\textrm{MC} \approx N_\textrm{MC} \int p(\lambda) \pi_1(\lambda) d\lambda , -%\end{equation} -%where $N_\textrm{MC}$ is the number of Monte Carlo steps. -%We here choose the wavelength from a uniform distribution between the two -%limits, giving $p(\lambda)=1/(\lambda_2-\lambda_1)$. -%To fulfill $I_\textrm{tot} = I_\textrm{MC}$ we need to have -%\begin{equation} -%\pi_1(\lambda) = \Omega A (\lambda_2-\lambda_1) I_1 M(\lambda,T_1) / N_\textrm{MC} . -%\end{equation} -% -%This expression is strictly valid only for $\Omega \ll 1$, -%see also the discussion on focusing in section \ref{s:focus}. -%The expression is easily generalized to a general number of Maxwellians. +Example: PSI cold source T1=150.42 K / 2.51 AA I1 = 3.67 E11 +T2=38.74 K / 4.95 AA I2 = 3.64 E11 +T3=14.84 K / 9.5 AA I3 = 0.95 E11 +\end{lstlisting} -The component \textbf{Source\_gen} (see section \ref{source-gen}) -works on the same principle, but provides more options concerning -wavelength/energy range specifications, shape, etc. +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. -Maxwellian parameters for some continuous sources -are given in Table~\ref{t:source-params}. As nobody knows exactly the characteristics of the sources (it is not easy to measure spectrum there), these figures should be used with caution. +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +size & m & Edge of cube shaped source (for backward compatibility) & 0 \\ +yheight & m & Height of rectangular source & 0 \\ +xwidth & m & Width of rectangular source & 0 \\ +\textbf{Lmin} & AA & Lower edge of lambda distribution & \\ +\textbf{Lmax} & AA & Upper edge of lambda distribution & \\ +\textbf{dist} & m & Distance from source to focusing rectangle; at (0,0,dist) & \\ +\textbf{focus\_xw} & m & Width of focusing rectangle & \\ +\textbf{focus\_yh} & m & Height of focusing rectangle & \\ +\textbf{T1} & K & 1st temperature of thermal distribution & \\ +T2 & K & 2nd temperature of thermal distribution & 300 \\ +T3 & K & 3nd temperature of - - - & 300 \\ +\textbf{I1} & 1/(cm**2*st) & flux, 1 (in flux units, see above) & \\ +I2 & 1/(cm**2*st) & flux, 2 (in flux units, see above) & 0 \\ +I3 & 1/(cm**2*st) & flux, 3 - - - & 0 \\ +target\_index & 1 & relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. & 1 \\ +lambda0 & AA & Mean wavelength of neutrons. & 0 \\ +dlambda & AA & Wavelength spread of neutrons. & 0 \\ +\bottomrule +\end{longtable} +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sources/Source_Maxwell_3.comp}{Source code} for \texttt{Source\_Maxwell\_3.comp}. +\end{itemize} +\IfFileExists{Source_Maxwell_3_static.tex}{\input{Source_Maxwell_3_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sources/Source_Maxwell_3_static.tex b/docs/manuals/mcstas/sources/Source_Maxwell_3_static.tex new file mode 100644 index 0000000000..cf784d4a40 --- /dev/null +++ b/docs/manuals/mcstas/sources/Source_Maxwell_3_static.tex @@ -0,0 +1,61 @@ +\section{Source\_Maxwell\_3: A continuous source +with a Maxwellian spectrum} +\label{source-maxwell} +\index{Sources!Continuous source +with a Maxwellian spectrum} + +%\component{Source\_Maxwell\_3}{System}{ $h$, $w$, $d_\textrm{foc}$, $xw$, $yh$, $\lambda_\textrm{low}$, $\lambda_\textrm{high}$, $I_1$, $T_1$}{$I_2$, $T_2$, $I_3$, $T_3$}{Validated. t=0} +%\mcdoccomp{sources/Source_Maxwell_3.parms} + +This component is a source with a Maxwellian energy/wavelength distribution +sampled in the range $\lambda_\textrm{low}$ to $\lambda_\textrm{high}$. +The initial neutron ray position is chosen randomly from within a +rectangle of area $h \times w$ in the $z=0$ plane. +The initial neutron ray direction is focused within +a solid angle, defined by a rectangular target of width +$xw$, height $yh$, parallel to +the $xy$ plane placed at $(0,0,d_\textrm{foc})$. +The energy distribution used is a sum of 1, 2, or 3 Maxwellians with +temperatures $T_1$ to $T_3$ and integrated intensities $I_1$ to $I_3$. + +For one single Maxwellian, +the intensity in a small wavelength interval $[\lambda, \lambda+d\lambda]$ is +$ I_1 M(\lambda,T_1) d\lambda $ +where +$M(\lambda,T_1) = 2 \alpha^2 \exp(-\alpha/\lambda^2) / \lambda^5 $ +is the normalized Maxwell distribution ($\alpha=949.0$~K \AA$^2/T_1$). +The initial weight of the created neutron ray, $p_0$, is +calculated according to Eq. (\ref{proprule}), with $\Psi(\lambda)$ replaced +by $\sum_{j=1}^3 I_j M(\lambda,T_j)$. + +% +%The number of neutrons per second through a focusing window +%of solid angle $\Omega$ +%from a source of area $A$ within the wavelength interval $\lambda_1$ to +%$\lambda_2$ is thus +%\begin{equation} +%I_\textrm{tot} = \Omega A \int_{\lambda_1}^{\lambda_2} I_1 M(\lambda,T_1) d\lambda. +%\end{equation} +%In a Monte Carlo integration, the observed intensity becomes +%\begin{equation} +%I_\textrm{MC} \approx N_\textrm{MC} \int p(\lambda) \pi_1(\lambda) d\lambda , +%\end{equation} +%where $N_\textrm{MC}$ is the number of Monte Carlo steps. +%We here choose the wavelength from a uniform distribution between the two +%limits, giving $p(\lambda)=1/(\lambda_2-\lambda_1)$. +%To fulfill $I_\textrm{tot} = I_\textrm{MC}$ we need to have +%\begin{equation} +%\pi_1(\lambda) = \Omega A (\lambda_2-\lambda_1) I_1 M(\lambda,T_1) / N_\textrm{MC} . +%\end{equation} +% +%This expression is strictly valid only for $\Omega \ll 1$, +%see also the discussion on focusing in section \ref{s:focus}. +%The expression is easily generalized to a general number of Maxwellians. + +The component \textbf{Source\_gen} (see section \ref{source-gen}) +works on the same principle, but provides more options concerning +wavelength/energy range specifications, shape, etc. + +Maxwellian parameters for some continuous sources +are given in Table~\ref{t:source-params}. As nobody knows exactly the characteristics of the sources (it is not easy to measure spectrum there), these figures should be used with caution. + diff --git a/docs/manuals/mcstas/sources/Source_Optimizer.tex b/docs/manuals/mcstas/sources/Source_Optimizer.tex index 34f5e01729..51e30fda00 100644 --- a/docs/manuals/mcstas/sources/Source_Optimizer.tex +++ b/docs/manuals/mcstas/sources/Source_Optimizer.tex @@ -1,146 +1,104 @@ -\section{Source\_Optimizer: A general Optimizer for McStas} -\label{source-optimizer} -\index{Sources!Optimizer}\index{Optimization} -%\component{Source\_Optimizer}{E. Farhi, ILL}{options}{bins, step, keep}{partially validated} -\mcdoccomp{sources/Source_Optimizer.parms} +\section{The \texttt{Source\_Optimizer} McStas Component} +A component that optimizes the neutron flux passing through the +Source\_Optimizer in order to have the maximum flux at the +\textless{}b\textgreater{}Monitor\_Optimizer\textless{}/b\textgreater{} position. -The component \textbf{Source\_Optimizer} is not exactly a source, -but rather a neutron beam modifier. -It should be positioned after the source, anywhere in the instrument description. -The component optimizes the whole neutron flux -in order to achieve better statistics at each \textbf{Monitor\_Optimizer} -location(s) (see section~\ref{monitor-optimizer} for this latter -component). It acts on any incoming neutron beam (from any source -type), and more than one optimization criteria location can be placed -along the instrument. +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} \textless{}a href="mailto:farhi@ill.fr"\textgreater{}Emmanuel Farhi\textless{}/a\textgreater{} + \item \textbf{Origin:} \textless{}a href="http://www.ill.fr"\textgreater{}ILL (France)\textless{}/a\textgreater{} + \item \textbf{Date:} 17 Sept 1999 +\end{itemize} -The usage of the optimizer is very simple, and usually does not require -any configuration parameter. Anyway the user can still customize the -optimization through various \textit{options}. +\subsection*{Description} +\begin{lstlisting} +Principle: The optimizer first (step 1) computes neutron state parameter +limits passing in the Source_Optimizer, and then (step 2) records a Reference +source as well as the state (at Source_Optimizer position) of neutrons +reaching Monitor. The optimized source is defined as a fraction of the +Reference source plus the distribution of 'good' neutrons reaching the +Monitor. The optimization then starts (step 3), and focuses new neutrons on +the Monitor_Optimizer. In fact it changes 'bad' neutrons into 'good' ones +(that reach the Monitor), acting on their position, spin and divergence or +velocity. The overall Monitor flux is kept during process. The energy and +polarisation distributions are kept during optimization as far as possible +during optimisation. The optimization method considers that all neutron +parameters - (x,y), (vx,vy,vz) or (vx/v2,vy/v2,v2), (sx,sy,sz) or +(sx/s2,sy/s2,s2) - are independent. -In contrast to \textbf{Source\_adapt}, this optimizer does not -record correlations between neutron parameters. -Nevertheless it is rather efficient, -enabling the user to increase the number of events -at optimization criteria locations by typically a factor of 20. -Hence, the signal error bars will decrease by a factor 4.5, -since the overall flux remains unchanged. +Options: The optimized source can be computed regularly ('continuous' +option) or only once ('not continuous'). The time spent in steps 1 and 2 can +be reduced for a shorter optimization ('auto'). The neutrons passing during +steps 1 and 2 can be smoothed for a better neutron weight distribution +('smooth' option). -\subsection{The optimization algorithm} +Source_optimizer can be placed at any position where you want to act on the +flux, for instance just after the source. +Monitor_Optimizer should be placed at position(s) to optimize. +I prefer to put one just before the sample. -When a neutron reaches the \textbf{Monitor\_Optimizer} location(s), the -component records its previous position ($x$, $y$) and speed ($v_x, -v_y, v_z$) when it passed in the \textbf{Source\_Optimizer}. Some -distribution tables of \textit{good} neutrons characteristics are then -built. +Default parameters bins, step, and keep are 10, 10% and 10% respectively. +The option string can be empty (""), which stands for default configuration +that works fine in usual cases: -When a \textit{bad} neutron comes to the \textbf{Source\_Optimizer} (it would -then have few chances to reach \textbf{Monitor\_Optimizer}), it is changed -into a better one. That means that its position and velocity coordinates -are translated to better values according to the \textit{good} neutrons -distribution tables. The neutron energy -($\sqrt{v_x^2 + v_y^2 + v_z^2}$) is kept (as far as possible). +options="continuous optimization, auto mode, smooth, SetXY+SetDivV+SetDivS" -The \textbf{Source\_Optimizer} works as follow: -\begin{enumerate} -\item{First of all, the \textbf{Source\_Optimizer} determines some limits - (\textit{min} and \textit{max}) for variables $x, y, v_x, v_y, v_z$.} -\item{Then the component records the non-optimized flux distributions in - arrays with \textit{bins} cells (default is 10 cells). This constitutes - the \textit{Reference } source.} -\item{\label {SourceOptimizer:step3}The \textbf{Monitor\_Optimizer} records - the \textit{good} neutrons (that reach it) and communicate an \textit{ - Optimized} beam requirement to the \textbf{Source\_Optimizer}. However, retains '\textit{ - keep}' percent of the original \textit{Reference} source is sent - unmodified (default is 10 \%). The \textit{Optimized} source is thus: +Possible options are +continuous for continuous source optimization (default). +verbose displays optimization process (debug purpose). +auto uses the shortest possible 'step 1' and 'step 2' and sets 'step' value as required (default). +smooth remove possible spikes generated in steps 1 and 2 (default is smooth). +inactivate to inactivate the Optimizer. +no or not revert next option +bins=[value=10] set the Number of cells for sampling neutron states +step=[value=10] Optimizer step in % of simulation. +keep=[value=10] Percentage of initial source distribution that is kept +file=[name] Filename where to save optimized source distributions (no file is generated if not given. Default ext. is .src) +SetXY Keywords to indicate what may be changed during +SetV optimisation. Default is position, divergence and spin +SetS direction ("SetXY+SetDivV+SetdivS"). Choosing the speed +SetDivV or spin optimization (SetV or SetS) may modify the energy +SetDivS or polarisation distribution (norm of V and S) as the three components are then independent. - \begin{center} - \begin{tabular}{rcl} - \textit{Optimized} & = & \textit{keep} * \textit{Reference} \\ - & + & (1 - \textit{keep}) [Neutrons that will reach monitor]. - \end{tabular} - \end{center} - } -\item{The \textbf{Source\_Optimizer} transforms the \textit{bad} neutrons into - \textit{good} ones from the \textit{Optimized} source. The resulting - optimised flux is normalised to the non-optimized one: - \begin{equation} - p_{optimized} = p_{initial} \frac{\mbox{Reference}}{\mbox{Optimized}}, - \end{equation} - and thus the overall flux at \textbf{Monitor\_Optimizer} location is - the same as without the optimizer. Usually, the process sends more - \textit{good} neutrons from the \textit{Optimized} source than that in the - \textit{Reference} one. - The energy (and velocity) spectra of neutron beam is also kept, as - far as possible. For instance, an optimization of $v_z$ will induce - a modification of $v_x$ or $v_y$ to try to keep $|\textbf{v}|$ - constant. - } -\item{When the \textit{continuous} optimization option is activated (by - default), the process loops to Step (\ref{SourceOptimizer:step3}) - every '\textit{step}' percent of the simulation. This parameter is - computed automatically (usually around 10 \%) in \textit{auto} mode, - but can also be set by user.} -\end{enumerate} +Parameters bins, step and keep can also be entered as optional parameters. -During steps (1) and (2), some non-optimized neutrons with original -weight $p_{initial}$ may lead to spikes on detector signals. This is -greatly improved by lowering the weight $p$ during these steps, with the -\textit{smooth} option. -The component optimizes the neutron parameters on the basis of -independant variables (1D phase-space optimization). However, it usually does work fine when these -variables are correlated (which is often the case in the course of the -instrument simulation). -The memory requirements of the component are very low, as no big -$n$-dimensional array is needed. +EXAMPLE: I use the following settings -\subsection{Using the Source\_Optimizer} +optim_s = Source_Optimizer(options="please be clever") (same as empty) +(...) +Monitor_Optimizer(xmin=-0.05, xmax=0.05, ymin=-0.05, ymax=0.05, +optim_comp = "optim_s") -To use this component, just install the \textbf{Source\_Optimizer} after a -source (but any location is possible afterwards in principle), and use the \textbf{Monitor\_Optimizer} at a location where you want to reach better -statistics. +A good optimization needs to record enough non optimized neutrons on Monitor +during step 2. Typical enhancement in computation speed is by a factor 20. +This component usually works well. -\begin{lstlisting} - /* where to act on neutron beam */ - COMPONENT optim_s = Source_Optimizer(options="") - ... - /* where to have better statistics */ - COMPONENT optim_m = Monitor_Optimizer( - xmin = -0.05, xmax = 0.05, - ymin = -0.05, ymax = 0.05, - optim_comp = optim_s) - ... - /* using more than one Monitor_Optimizer is possible */ +NOTE: You must be aware that in some cases (SetV and SetS), +the optimization might sligtly afect the energy or spin distribution of the +source. The optimizer tries to do its best anyway. +Also, some 'spikes' may sometime appear in monitor signals in the course of +the optimization, coming from non-optimized neutrons with original weight. +The 'smooth' option minimises this effect (on by default). \end{lstlisting} -The input parameter for \textbf{Source\_Optimizer} is a single \textit{ - options} string that can contain some specific optimizer configuration -settings in clear language. The formatting of the \textit{options} -parameter is free, as long as it contains some specific keywords, that -can be sometimes followed by values. +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. -The default configuration (equivalent to \textit{options} = "") is -\begin{center} -\begin{tabular}{rcl} - \textit{options} & = & "\textit{continuous} optimization, - \textit{auto} setting, \textit{keep} = 0.1, \textit{bins} = 0.1, \\ - & & \textit{smooth} spikes, SetXY+SetDivV+SetDivS". -\end{tabular} -\end{center} -Parameters keep and step should be between 0 and 1. -Additionally, you may restrict the optimization to only some of the neutron parameters, using the \textit{SetXY, SetV, SetS, SetDivV, SetDivS} keywords. -The keyword modifiers \textit{no} or \textit{not} revert the next option. -Other options not shown here are: -\begin{lstlisting} -verbose displays optimization process (debug purpose). -inactivate to inactivate the Optimizer. -file=[name] Filename where to save optimized source distributions -\end{lstlisting} -The \textit{file} option will save the source distributions at the end of -the optimization. If no name is given the component name will be used, -and a '.src' extension will be added. By default, no file is generated. -The file format is in a McStas 2D record style. +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +bins & 1 & Number of cells for sampling neutron states. & 10 \\ +step & 0-100 & Optimizer step in percent of simulation. & 0.1 \\ +keep & 0-100 & Percentage of initial source distribution that is kept. & 0.1 \\ +options & str & string of options. See \textless{}b\textgreater{}Description\textless{}b\textgreater{} & 0 \\ +\bottomrule +\end{longtable} -As an alternative, you may use the Source\_adapt component -(see section \ref{s:source-adapt}) which performs -a 3D phase-space optimization. +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sources/Source_Optimizer.comp}{Source code} for \texttt{Source\_Optimizer.comp}. +\end{itemize} +\IfFileExists{Source_Optimizer_static.tex}{\input{Source_Optimizer_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sources/Source_Optimizer_static.tex b/docs/manuals/mcstas/sources/Source_Optimizer_static.tex new file mode 100644 index 0000000000..18af0a0c0f --- /dev/null +++ b/docs/manuals/mcstas/sources/Source_Optimizer_static.tex @@ -0,0 +1,146 @@ +\section{Source\_Optimizer: A general Optimizer for McStas} +\label{source-optimizer} +\index{Sources!Optimizer}\index{Optimization} +%\component{Source\_Optimizer}{E. Farhi, ILL}{options}{bins, step, keep}{partially validated} +%\mcdoccomp{sources/Source_Optimizer.parms} + +The component \textbf{Source\_Optimizer} is not exactly a source, +but rather a neutron beam modifier. +It should be positioned after the source, anywhere in the instrument description. +The component optimizes the whole neutron flux +in order to achieve better statistics at each \textbf{Monitor\_Optimizer} +location(s) (see section~\ref{monitor-optimizer} for this latter +component). It acts on any incoming neutron beam (from any source +type), and more than one optimization criteria location can be placed +along the instrument. + +The usage of the optimizer is very simple, and usually does not require +any configuration parameter. Anyway the user can still customize the +optimization through various \textit{options}. + +In contrast to \textbf{Source\_adapt}, this optimizer does not +record correlations between neutron parameters. +Nevertheless it is rather efficient, +enabling the user to increase the number of events +at optimization criteria locations by typically a factor of 20. +Hence, the signal error bars will decrease by a factor 4.5, +since the overall flux remains unchanged. + +\subsection{The optimization algorithm} + +When a neutron reaches the \textbf{Monitor\_Optimizer} location(s), the +component records its previous position ($x$, $y$) and speed ($v_x, +v_y, v_z$) when it passed in the \textbf{Source\_Optimizer}. Some +distribution tables of \textit{good} neutrons characteristics are then +built. + +When a \textit{bad} neutron comes to the \textbf{Source\_Optimizer} (it would +then have few chances to reach \textbf{Monitor\_Optimizer}), it is changed +into a better one. That means that its position and velocity coordinates +are translated to better values according to the \textit{good} neutrons +distribution tables. The neutron energy +($\sqrt{v_x^2 + v_y^2 + v_z^2}$) is kept (as far as possible). + +The \textbf{Source\_Optimizer} works as follow: +\begin{enumerate} +\item{First of all, the \textbf{Source\_Optimizer} determines some limits + (\textit{min} and \textit{max}) for variables $x, y, v_x, v_y, v_z$.} +\item{Then the component records the non-optimized flux distributions in + arrays with \textit{bins} cells (default is 10 cells). This constitutes + the \textit{Reference } source.} +\item{\label {SourceOptimizer:step3}The \textbf{Monitor\_Optimizer} records + the \textit{good} neutrons (that reach it) and communicate an \textit{ + Optimized} beam requirement to the \textbf{Source\_Optimizer}. However, retains '\textit{ + keep}' percent of the original \textit{Reference} source is sent + unmodified (default is 10 \%). The \textit{Optimized} source is thus: + + \begin{center} + \begin{tabular}{rcl} + \textit{Optimized} & = & \textit{keep} * \textit{Reference} \\ + & + & (1 - \textit{keep}) [Neutrons that will reach monitor]. + \end{tabular} + \end{center} + } +\item{The \textbf{Source\_Optimizer} transforms the \textit{bad} neutrons into + \textit{good} ones from the \textit{Optimized} source. The resulting + optimised flux is normalised to the non-optimized one: + \begin{equation} + p_{optimized} = p_{initial} \frac{\mbox{Reference}}{\mbox{Optimized}}, + \end{equation} + and thus the overall flux at \textbf{Monitor\_Optimizer} location is + the same as without the optimizer. Usually, the process sends more + \textit{good} neutrons from the \textit{Optimized} source than that in the + \textit{Reference} one. + The energy (and velocity) spectra of neutron beam is also kept, as + far as possible. For instance, an optimization of $v_z$ will induce + a modification of $v_x$ or $v_y$ to try to keep $|\textbf{v}|$ + constant. + } +\item{When the \textit{continuous} optimization option is activated (by + default), the process loops to Step (\ref{SourceOptimizer:step3}) + every '\textit{step}' percent of the simulation. This parameter is + computed automatically (usually around 10 \%) in \textit{auto} mode, + but can also be set by user.} +\end{enumerate} + +During steps (1) and (2), some non-optimized neutrons with original +weight $p_{initial}$ may lead to spikes on detector signals. This is +greatly improved by lowering the weight $p$ during these steps, with the +\textit{smooth} option. +The component optimizes the neutron parameters on the basis of +independant variables (1D phase-space optimization). However, it usually does work fine when these +variables are correlated (which is often the case in the course of the +instrument simulation). +The memory requirements of the component are very low, as no big +$n$-dimensional array is needed. + +\subsection{Using the Source\_Optimizer} + +To use this component, just install the \textbf{Source\_Optimizer} after a +source (but any location is possible afterwards in principle), and use the \textbf{Monitor\_Optimizer} at a location where you want to reach better +statistics. + +\begin{lstlisting} + /* where to act on neutron beam */ + COMPONENT optim_s = Source_Optimizer(options="") + ... + /* where to have better statistics */ + COMPONENT optim_m = Monitor_Optimizer( + xmin = -0.05, xmax = 0.05, + ymin = -0.05, ymax = 0.05, + optim_comp = optim_s) + ... + /* using more than one Monitor_Optimizer is possible */ +\end{lstlisting} + +The input parameter for \textbf{Source\_Optimizer} is a single \textit{ + options} string that can contain some specific optimizer configuration +settings in clear language. The formatting of the \textit{options} +parameter is free, as long as it contains some specific keywords, that +can be sometimes followed by values. + +The default configuration (equivalent to \textit{options} = "") is +\begin{center} +\begin{tabular}{rcl} + \textit{options} & = & "\textit{continuous} optimization, + \textit{auto} setting, \textit{keep} = 0.1, \textit{bins} = 0.1, \\ + & & \textit{smooth} spikes, SetXY+SetDivV+SetDivS". +\end{tabular} +\end{center} +Parameters keep and step should be between 0 and 1. +Additionally, you may restrict the optimization to only some of the neutron parameters, using the \textit{SetXY, SetV, SetS, SetDivV, SetDivS} keywords. +The keyword modifiers \textit{no} or \textit{not} revert the next option. +Other options not shown here are: +\begin{lstlisting} +verbose displays optimization process (debug purpose). +inactivate to inactivate the Optimizer. +file=[name] Filename where to save optimized source distributions +\end{lstlisting} +The \textit{file} option will save the source distributions at the end of +the optimization. If no name is given the component name will be used, +and a '.src' extension will be added. By default, no file is generated. +The file format is in a McStas 2D record style. + +As an alternative, you may use the Source\_adapt component +(see section \ref{s:source-adapt}) which performs +a 3D phase-space optimization. diff --git a/docs/manuals/mcstas/sources/Source_adapt.tex b/docs/manuals/mcstas/sources/Source_adapt.tex index a2ed69acc9..849b057e36 100644 --- a/docs/manuals/mcstas/sources/Source_adapt.tex +++ b/docs/manuals/mcstas/sources/Source_adapt.tex @@ -1,194 +1,81 @@ -\section{Source\_adapt: A neutron source with adaptive importance sampling} -\label{s:Source_adapt} -\label{s:source-adapt} -\index{Optimization} -\index{Sources!Adaptive source} - -%\component{Source\_adapt}{K. Nielsen}{$x_{min}$, $x_{max}$, $y_{min}$, $y_{max}$, $E0$, $dE$, dist, $xw$, $yh$, $\Phi$}{$\alpha$, $\beta$ (plenty, default values are ok)}{partially validated} -\mcdoccomp{sources/Source_adapt.parms} - -\textbf{Source\_adapt} is a neutron source that uses adaptive -importance sampling to improve the efficiency of the simulations. It -works by changing on-the-fly the probability distributions from which -the initial neutron state is sampled so that samples in regions that -contribute much to the accuracy of the overall result are preferred over -samples that contribute little. The method can achieve improvements of a -factor of ten or sometimes several hundred in simulations where only a -small part of the initial phase space contains useful neutrons. -This component uses the correlation between neutron energy, -initial direction and initial position. - -The physical characteristics of the source are similar to those of -\textbf{Source\_simple} (see section~\ref{source-simple}). The source is a thin -rectangle in the $x$-$y$ plane with a flat energy spectrum in a -user-specified range. The flux, $\Phi$, per area per steradian per -{\AA}ngstr{\o}m per second is specified by the user. - -The initial neutron weight is given by Eq. (\ref{proprule}) using -$\Delta\lambda$ as the total wavelength range of the source. -A later version of this component will probably include a -$\lambda$-dependence of the flux. - -We use the input parameters \textit{dist}, \textit{xw}, and \textit{yh} -to set the focusing as for Source\_simple (section~\ref{source-simple}). -The energy range will be from $E_0 - dE$ to $E_0 + dE$. -\textit{filename} is used to give the name of a file in which to -output the final sampling destribution, see below. -$N_\textrm{eng}$, $N_\textrm{pos}$, and $N_\textrm{div}$ -are used to set the number of bins in each dimensions. -Good general-purpose values for the optimization parameters are -$\alpha = \beta = 0.25$. The number of bins to choose will depend on the -application. More bins will allow better adaption of the sampling, but -will require more neutron histories to be simulated before a good -adaption is obtained. The output of the sampling distribution is only -meant for debugging, and the units on the axis are not necessarily -meaningful. Setting the filename to \verb+NULL+ disables the output of -the sampling distribution. - -\subsection{Optimization disclaimer} - -A warning is in place here regarding potentially wrong results -using optimization techniques. -It is highly recommended in any case to benchmark 'optimized' simulations -against non-optimized ones, checking that obtained results are the same, -but hopefully with a much improved statistics. - -\subsection{The adaption algorithm} - -The adaptive importance sampling works by subdividing the initial -neutron phase space into a number of equal-sized bins. The division is -done on the three dimensions of energy, horizontal position, and -horizontal divergence, using $N_\textrm{eng}$, $N_\textrm{pos}$, and $N_\textrm{ - div}$ number of bins in each dimension, respectively. The total number -of bins is therefore -\begin{equation} -N_\textrm{bin} = N_\textrm{eng} N_\textrm{pos} N_\textrm{div} -\end{equation} -Each bin $i$ is assigned a sampling weight $w_i$; the probability of -emitting a neutron within bin $i$ is -\begin{equation} -P(i) = \frac{w_i}{\sum_{j=1}^{N_\textrm{bin}} w_j} -\end{equation} -In order to avoid false learning, the sampling weight of a bin is -kept larger than $w_\textrm{min}$, defined as -\begin{equation} -w_\textrm{min} = \frac{\beta}{N_\textrm{bin}}\sum_{j=1}^{N_\textrm{bin}}w_j,\qquad - 0 \leq \beta \leq 1 -\end{equation} -This way a (small) fraction $\beta$ of the neutrons are sampled -uniformly from all bins, while the fraction $(1 - \beta)$ are sampled in an adaptive way. - -Compared to a uniform sampling of the phase space (where the probability -of each bin is $1/N_\textrm{bin}$), the neutron weight -must be adjusted as given by (\ref{probrule}) -\begin{equation} -\pi_1 = \frac{P_1}{f_\textrm{MC,1}} =\frac{1/N_\textrm{bin}}{P(i)} = - \frac{\sum_{j=1}^{N_\textrm{bin}} w_j}{N_\textrm{bin} w_i} , -\end{equation} -where $P_1$ is understood by the "natural" uniform sampling. - -In order to set the criteria for adaption, the \textbf{Adapt\_check} component is -used (see section~\ref{s:adapt_check}). The source attemps to sample -only from bins from which neutrons are not absorbed prior to the -position in the instrument at which \textbf{Adapt\_check} is -placed. Among those bins, the algorithm attemps to minimize the variance -of the neutron weights at the \textbf{Adapt\_check} position. Thus bins that -would give high weights at the \textbf{Adapt\_check} position are sampled more -often (lowering the weights), while those with low weights are sampled -less often. - -Let $\pi = p_\textrm{ac}/p_0$ denote the ratio between the neutron weight $p_1$ at -the \textbf{Adapt\_check} position and the initial weight $p_0$ just after the -source. For each bin, the component keeps track of the sum $\Sigma$ of -$\pi$'s as well as of the total number of neutrons $n_i$ from that -bin. The average weight at the \textbf{Adapt\_source} position of bin $i$ is thus -$\Sigma_i/n_i$. - -We now distribute a total sampling weight of $\beta$ uniformly -among all the bins, and a total weight of $(1 - \beta)$ among bins in -proportion to their average weight $\Sigma_i/n_i$ at the \textbf{Adapt\_source} -position: -\begin{equation} -w_i = \frac{\beta}{N_\textrm{bin}} + - (1-\beta) \frac{\Sigma_i/n_i}{\sum_{j=1}^{N_\textrm{bins}} \Sigma_j/n_j} -\end{equation} -After each neutron event originating from bin $i$, the sampling weight $w_i$ -is updated. - -This basic idea can be improved with a small modification. The problem -is that until the source has had the time to learn the right sampling -weights, neutrons may be emitted with high neutron weights (but low -probability). These low probability neutrons may account for a large fraction of -the total intensity in detectors, causing large variances in the -result. To avoid this, the component emits early neutrons with a lower -weight, and later neutrons with a higher weight to compensate. This way -the neutrons that are emitted with the best adaption contribute the most -to the result. - -The factor with which the neutron weights are adjusted is given by a -logistic curve -\begin{equation} - F(j) = C\frac{y_0}{y_0 + (1 - y_0) e^{-r_0 j}} -\end{equation} -where $j$ is the index of the particular neutron history, $1 \leq j -\leq N_\textrm{hist}$. The constants $y_0$, $r_0$, and $C$ are given by -\begin{eqnarray} - y_0 &=& \frac{2}{N_\textrm{bin}} \\ - r_0 &=& \frac{1}{\alpha}\frac{1}{N_\textrm{hist}} - \log\left(\frac{1 - y_0}{y_0}\right) \\ - C &=& 1 + \log\left(y_0 + \frac{1 - y_0}{N_\textrm{hist}} - e^{-r_0 N_\textrm{hist}}\right) -\end{eqnarray} -The number $\alpha$ is given by the user and specifies (as a fraction -between zero and one) the point at which the adaption is considered -good. The initial fraction $\alpha$ of neutron histories are emitted -with low weight; the rest are emitted with high weight: -\begin{equation} - p_0(j) = - \frac{\Phi}{N_\textrm{sim}} A \Omega \Delta\lambda - \frac{\sum_{j=1}^{N_\textrm{bin}} w_j}{N_\textrm{bin} w_i} - F(j) -\end{equation} -The choice of the constants $y_0$, $r_0$, and $C$ ensure that -\begin{equation} -\int_{t=0}^{N_\textrm{hist}} F(j) = 1 -\end{equation} -so that the total intensity over the whole simulation will be correct - -Similarly, the adjustment of sampling weights is modified so that the -actual formula used is -\begin{equation} -w_i(j) = \frac{\beta}{N_\textrm{bin}} + - (1-\beta) \frac{y_0}{y_0 + (1 - y_0) e^{-r_0 j}} - \frac{\psi_i/n_i}{\sum_{j=1}^{N_\textrm{bins}} \psi_j/n_j} -\end{equation} - -\subsection{The implementation} - -The heart of the algorithm is a discrete distribution $p$. The -distribution has $N$ \emph{bins}, $1\ldots N$. Each bin has a value -$v_i$; the probability of bin $i$ is then $v_i/(\sum_{j=1}^N v_j)$. - -Two basic operations are possible on the distribution. An \emph{update} -adds a number $a$ to a bin, setting $v_i^\textrm{new} = v_i^\textrm{old} + -a$. A \emph{search} finds, for given input $b$, the minimum $i$ such -that -\begin{equation} - b \leq \sum_{j=1}^{i} v_j. -\end{equation} -The search operation is used to sample from the distribution p. If $r$ -is a uniformly distributed random number on the interval -$[0;\sum_{j=1}^N v_j]$ then $i = \textrm{search}(r)$ is a random number -distributed according to $p$. This is seen from the inequality -\begin{equation} -\sum_{j=1}^{i-1} v_j < r \leq \sum_{j=1}^{i} v_j, -\end{equation} -from which $r \in [\sum_{j=1}^{i-1} v_j; v_i + \sum_{j=1}^{i-1} v_j]$ -which is an interval of length $v_i$. Hence the probability of $i$ is -$v_i/(\sum_{j=1}^N v_j)$. -The update operation is used to -adapt the distribution to the problem at hand during a simulation. Both -the update and the add operation can be performed very efficiently. - -As an alternative, you may use the \textbf{Source\_Optimizer} component -(see section \ref{source-optimizer}). +\section{The \texttt{Source\_adapt} McStas Component} +Neutron source with adaptive importance sampling + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kristian Nielsen + \item \textbf{Origin:} Risoe + \item \textbf{Date:} 1999 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Rectangular source with flat energy or wavelength distribution that +uses adaptive importance sampling to improve simulation efficiency. +Works together with the Adapt_check component. + +The source divides the three-dimensional phase space of (energy, +horizontal position, horizontal divergence) into a number of +rectangular bins. The probability for selecting neutrons from each +bin is adjusted so that neutrons that reach the Adapt_check +component with high weights are emitted more frequently than those +with low weights. The adjustment is made so as to attemt to make +the weights at the Adapt_check components equal. + +Focusing is achieved by only emitting neutrons towards a rectangle +perpendicular to and placed at a certain distance along the Z axis. +Focusing is only approximate (for simplicity); neutrons are also +emitted to pass slightly above and below the focusing rectangle, +more so for wider focusing. + +In order to prevent false learning, a parameter beta sets a +fraction of the neutrons that are emitted uniformly, without regard +to the adaptive distribution. The parameter alpha sets an initial +fraction of neutrons that are emitted with low weights; this is +done to prevent early neutrons with rare initial parameters but +high weight to ruin the statistics before the component adapts its +distribution to the problem at hand. Good general-purpose values +for these parameters are alpha = beta = 0.25. + +%VALIDATION +This component is not validated. It does not work properly with MPI. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +N\_E & 1 & Number of bins in energy (or wavelength) dimension & 20 \\ +N\_xpos & 1 & Number of bins in horizontal position & 20 \\ +N\_xdiv & 1 & Number of bins in horizontal divergence & 20 \\ +xmin & m & Left edge of rectangular source & 0 \\ +xmax & m & Right edge & 0 \\ +ymin & m & Lower edge & 0 \\ +ymax & m & Upper edge & 0 \\ +xwidth & m & Width of source & 0 \\ +yheight & m & Height of source & 0 \\ +filename & string & Optional filename for adaptive distribution output & 0 \\ +dist & m & Distance to target rectangle along z axis & 0 \\ +focus\_xw & m & Width of target & 0.05 \\ +focus\_yh & m & Height of target & 0.1 \\ +E0 & meV & Mean energy of neutrons & 0 \\ +dE & meV & Energy spread (energy range is from E0-dE to E0+dE) & 0 \\ +lambda0 & AA & Mean wavelength of neutrons (if energy not specified) & 0 \\ +dlambda & AA & Wavelength spread half width & 0 \\ +flux & & (1/(cm 2 AA st)) Absolute source flux & 1e13 \\ +target\_index & 1 & relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. & 1 \\ +alpha & 1 & Learning cut-off factor (0 \textless{} alpha \textless{}= 1) & 0.25 \\ +beta & 1 & Aggressiveness of adaptive algorithm (0 \textless{} beta \textless{}= 1) & 0.25 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sources/Source_adapt.comp}{Source code} for \texttt{Source\_adapt.comp}. +\end{itemize} +\IfFileExists{Source_adapt_static.tex}{\input{Source_adapt_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sources/Source_adapt_static.tex b/docs/manuals/mcstas/sources/Source_adapt_static.tex new file mode 100644 index 0000000000..c289798948 --- /dev/null +++ b/docs/manuals/mcstas/sources/Source_adapt_static.tex @@ -0,0 +1,194 @@ +\section{Source\_adapt: A neutron source with adaptive importance sampling} +\label{s:Source_adapt} +\label{s:source-adapt} +\index{Optimization} +\index{Sources!Adaptive source} + +%\component{Source\_adapt}{K. Nielsen}{$x_{min}$, $x_{max}$, $y_{min}$, $y_{max}$, $E0$, $dE$, dist, $xw$, $yh$, $\Phi$}{$\alpha$, $\beta$ (plenty, default values are ok)}{partially validated} +%\mcdoccomp{sources/Source_adapt.parms} + +\textbf{Source\_adapt} is a neutron source that uses adaptive +importance sampling to improve the efficiency of the simulations. It +works by changing on-the-fly the probability distributions from which +the initial neutron state is sampled so that samples in regions that +contribute much to the accuracy of the overall result are preferred over +samples that contribute little. The method can achieve improvements of a +factor of ten or sometimes several hundred in simulations where only a +small part of the initial phase space contains useful neutrons. +This component uses the correlation between neutron energy, +initial direction and initial position. + +The physical characteristics of the source are similar to those of +\textbf{Source\_simple} (see section~\ref{source-simple}). The source is a thin +rectangle in the $x$-$y$ plane with a flat energy spectrum in a +user-specified range. The flux, $\Phi$, per area per steradian per +{\AA}ngstr{\o}m per second is specified by the user. + +The initial neutron weight is given by Eq. (\ref{proprule}) using +$\Delta\lambda$ as the total wavelength range of the source. +A later version of this component will probably include a +$\lambda$-dependence of the flux. + +We use the input parameters \textit{dist}, \textit{xw}, and \textit{yh} +to set the focusing as for Source\_simple (section~\ref{source-simple}). +The energy range will be from $E_0 - dE$ to $E_0 + dE$. +\textit{filename} is used to give the name of a file in which to +output the final sampling destribution, see below. +$N_\textrm{eng}$, $N_\textrm{pos}$, and $N_\textrm{div}$ +are used to set the number of bins in each dimensions. +Good general-purpose values for the optimization parameters are +$\alpha = \beta = 0.25$. The number of bins to choose will depend on the +application. More bins will allow better adaption of the sampling, but +will require more neutron histories to be simulated before a good +adaption is obtained. The output of the sampling distribution is only +meant for debugging, and the units on the axis are not necessarily +meaningful. Setting the filename to \verb+NULL+ disables the output of +the sampling distribution. + +\subsection{Optimization disclaimer} + +A warning is in place here regarding potentially wrong results +using optimization techniques. +It is highly recommended in any case to benchmark 'optimized' simulations +against non-optimized ones, checking that obtained results are the same, +but hopefully with a much improved statistics. + +\subsection{The adaption algorithm} + +The adaptive importance sampling works by subdividing the initial +neutron phase space into a number of equal-sized bins. The division is +done on the three dimensions of energy, horizontal position, and +horizontal divergence, using $N_\textrm{eng}$, $N_\textrm{pos}$, and $N_\textrm{ + div}$ number of bins in each dimension, respectively. The total number +of bins is therefore +\begin{equation} +N_\textrm{bin} = N_\textrm{eng} N_\textrm{pos} N_\textrm{div} +\end{equation} +Each bin $i$ is assigned a sampling weight $w_i$; the probability of +emitting a neutron within bin $i$ is +\begin{equation} +P(i) = \frac{w_i}{\sum_{j=1}^{N_\textrm{bin}} w_j} +\end{equation} +In order to avoid false learning, the sampling weight of a bin is +kept larger than $w_\textrm{min}$, defined as +\begin{equation} +w_\textrm{min} = \frac{\beta}{N_\textrm{bin}}\sum_{j=1}^{N_\textrm{bin}}w_j,\qquad + 0 \leq \beta \leq 1 +\end{equation} +This way a (small) fraction $\beta$ of the neutrons are sampled +uniformly from all bins, while the fraction $(1 - \beta)$ are sampled in an adaptive way. + +Compared to a uniform sampling of the phase space (where the probability +of each bin is $1/N_\textrm{bin}$), the neutron weight +must be adjusted as given by (\ref{probrule}) +\begin{equation} +\pi_1 = \frac{P_1}{f_\textrm{MC,1}} =\frac{1/N_\textrm{bin}}{P(i)} = + \frac{\sum_{j=1}^{N_\textrm{bin}} w_j}{N_\textrm{bin} w_i} , +\end{equation} +where $P_1$ is understood by the "natural" uniform sampling. + +In order to set the criteria for adaption, the \textbf{Adapt\_check} component is +used (see section~\ref{s:adapt_check}). The source attemps to sample +only from bins from which neutrons are not absorbed prior to the +position in the instrument at which \textbf{Adapt\_check} is +placed. Among those bins, the algorithm attemps to minimize the variance +of the neutron weights at the \textbf{Adapt\_check} position. Thus bins that +would give high weights at the \textbf{Adapt\_check} position are sampled more +often (lowering the weights), while those with low weights are sampled +less often. + +Let $\pi = p_\textrm{ac}/p_0$ denote the ratio between the neutron weight $p_1$ at +the \textbf{Adapt\_check} position and the initial weight $p_0$ just after the +source. For each bin, the component keeps track of the sum $\Sigma$ of +$\pi$'s as well as of the total number of neutrons $n_i$ from that +bin. The average weight at the \textbf{Adapt\_source} position of bin $i$ is thus +$\Sigma_i/n_i$. + +We now distribute a total sampling weight of $\beta$ uniformly +among all the bins, and a total weight of $(1 - \beta)$ among bins in +proportion to their average weight $\Sigma_i/n_i$ at the \textbf{Adapt\_source} +position: +\begin{equation} +w_i = \frac{\beta}{N_\textrm{bin}} + + (1-\beta) \frac{\Sigma_i/n_i}{\sum_{j=1}^{N_\textrm{bins}} \Sigma_j/n_j} +\end{equation} +After each neutron event originating from bin $i$, the sampling weight $w_i$ +is updated. + +This basic idea can be improved with a small modification. The problem +is that until the source has had the time to learn the right sampling +weights, neutrons may be emitted with high neutron weights (but low +probability). These low probability neutrons may account for a large fraction of +the total intensity in detectors, causing large variances in the +result. To avoid this, the component emits early neutrons with a lower +weight, and later neutrons with a higher weight to compensate. This way +the neutrons that are emitted with the best adaption contribute the most +to the result. + +The factor with which the neutron weights are adjusted is given by a +logistic curve +\begin{equation} + F(j) = C\frac{y_0}{y_0 + (1 - y_0) e^{-r_0 j}} +\end{equation} +where $j$ is the index of the particular neutron history, $1 \leq j +\leq N_\textrm{hist}$. The constants $y_0$, $r_0$, and $C$ are given by +\begin{eqnarray} + y_0 &=& \frac{2}{N_\textrm{bin}} \\ + r_0 &=& \frac{1}{\alpha}\frac{1}{N_\textrm{hist}} + \log\left(\frac{1 - y_0}{y_0}\right) \\ + C &=& 1 + \log\left(y_0 + \frac{1 - y_0}{N_\textrm{hist}} + e^{-r_0 N_\textrm{hist}}\right) +\end{eqnarray} +The number $\alpha$ is given by the user and specifies (as a fraction +between zero and one) the point at which the adaption is considered +good. The initial fraction $\alpha$ of neutron histories are emitted +with low weight; the rest are emitted with high weight: +\begin{equation} + p_0(j) = + \frac{\Phi}{N_\textrm{sim}} A \Omega \Delta\lambda + \frac{\sum_{j=1}^{N_\textrm{bin}} w_j}{N_\textrm{bin} w_i} + F(j) +\end{equation} +The choice of the constants $y_0$, $r_0$, and $C$ ensure that +\begin{equation} +\int_{t=0}^{N_\textrm{hist}} F(j) = 1 +\end{equation} +so that the total intensity over the whole simulation will be correct + +Similarly, the adjustment of sampling weights is modified so that the +actual formula used is +\begin{equation} +w_i(j) = \frac{\beta}{N_\textrm{bin}} + + (1-\beta) \frac{y_0}{y_0 + (1 - y_0) e^{-r_0 j}} + \frac{\psi_i/n_i}{\sum_{j=1}^{N_\textrm{bins}} \psi_j/n_j} +\end{equation} + +\subsection{The implementation} + +The heart of the algorithm is a discrete distribution $p$. The +distribution has $N$ \emph{bins}, $1\ldots N$. Each bin has a value +$v_i$; the probability of bin $i$ is then $v_i/(\sum_{j=1}^N v_j)$. + +Two basic operations are possible on the distribution. An \emph{update} +adds a number $a$ to a bin, setting $v_i^\textrm{new} = v_i^\textrm{old} + +a$. A \emph{search} finds, for given input $b$, the minimum $i$ such +that +\begin{equation} + b \leq \sum_{j=1}^{i} v_j. +\end{equation} +The search operation is used to sample from the distribution p. If $r$ +is a uniformly distributed random number on the interval +$[0;\sum_{j=1}^N v_j]$ then $i = \textrm{search}(r)$ is a random number +distributed according to $p$. This is seen from the inequality +\begin{equation} +\sum_{j=1}^{i-1} v_j < r \leq \sum_{j=1}^{i} v_j, +\end{equation} +from which $r \in [\sum_{j=1}^{i-1} v_j; v_i + \sum_{j=1}^{i-1} v_j]$ +which is an interval of length $v_i$. Hence the probability of $i$ is +$v_i/(\sum_{j=1}^N v_j)$. +The update operation is used to +adapt the distribution to the problem at hand during a simulation. Both +the update and the add operation can be performed very efficiently. + +As an alternative, you may use the \textbf{Source\_Optimizer} component +(see section \ref{source-optimizer}). diff --git a/docs/manuals/mcstas/sources/Source_div.tex b/docs/manuals/mcstas/sources/Source_div.tex index 310e63b05a..ef9faee728 100644 --- a/docs/manuals/mcstas/sources/Source_div.tex +++ b/docs/manuals/mcstas/sources/Source_div.tex @@ -1,22 +1,63 @@ -\section{Source\_div: A continuous source with specified divergence} -\label{source-div} -\index{Sources!Continuous source with specified divergence} +\section{The \texttt{Source\_div} McStas Component} +Neutron source with Gaussian or uniform divergence -%\component{Source\_div}{System}{ $w$, $h$, $\delta_h$, $\delta_v$, $E_0$, $\Delta E$}{$\lambda_0$, $\Delta\lambda$, gauss}{Validated. t=0} -\mcdoccomp{sources/Source_div.parms} +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} KL + \item \textbf{Origin:} Risoe + \item \textbf{Date:} November 20, 1998 +\end{itemize} -\textbf{Source\_div} is a rectangular source, $w \times h$, which emits a -beam of a specified divergence around the direction of the $z$ axis. -The beam intensity is uniform over -the whole of the source, and the energy (or wavelength) distribution -of the beam is uniform over the specified energy range -$E_0 \pm \Delta E$ (in meV), or alternatively -the wavelength range $\lambda_0 \pm \delta\lambda$ (in \AA ). +\subsection*{Description} +\begin{lstlisting} +The routine is a rectangular neutron source, which has a gaussian or uniform +divergent output in the forward direction. +The neutron energy is distributed between lambda0-dlambda and +lambda0+dlambda or between E0-dE and E0+dE. The flux unit is specified +in n/cm2/s/st/energy unit (meV or Angs). +In the case of uniform distribution (gauss=0), angles are uniformly distributed +between -focus_aw and +focus_aw as well as -focus_ah and +focus_ah. +For Gaussian distribution (gauss=1), 'focus_aw' and 'focus_ah' define the +FWHM of a Gaussian distribution. Energy/wavelength distribution is also +Gaussian. -The source divergences are $\delta_h$ and $\delta_v$ (FWHM in degrees). -If the \verb+gauss+ flag is set to 0 (default), -the divergence distribution is uniform, otherwise it is Gaussian. +Example: Source_div(xwidth=0.1, yheight=0.1, focus_aw=2, focus_ah=2, E0=14, dE=2, gauss=0) -This component may be used as a simple model of the -beam profile at the end of a guide or at the sample position. +%VALIDATION +Feb 2005: tested by Kim Lefmann (o.k.) +Apr 2005: energy distribution used in external tests of Fermi choppers (o.k.) +Jun 2005: wavelength distribution used in external tests of velocity selectors (o.k.) +Validated by: K. Lieutenant +%BUGS +distribution is uniform in (hor. and vert.) angle (relative to moderator normal), +therefore not suited for large angles +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\textbf{xwidth} & m & Width of source & \\ +\textbf{yheight} & m & Height of source & \\ +\textbf{focus\_aw} & deg & FWHM (Gaussian) or maximal (uniform) horz. width divergence & \\ +\textbf{focus\_ah} & deg & FWHM (Gaussian) or maximal (uniform) vert. height divergence & \\ +E0 & meV & Mean energy of neutrons. & 0.0 \\ +dE & meV & Energy half spread of neutrons. & 0.0 \\ +lambda0 & Ang & Mean wavelength of neutrons (only relevant for E0=0) & 0.0 \\ +dlambda & Ang & Wavelength half spread of neutrons. & 0.0 \\ +gauss & 0|1 & Criterion: 0: uniform, 1: Gaussian distributions & 0 \\ +flux & 1/(s cm 2 st energy\_unit) & flux per energy unit, Angs or meV & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sources/Source_div.comp}{Source code} for \texttt{Source\_div.comp}. +\end{itemize} +\IfFileExists{Source_div_static.tex}{\input{Source_div_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sources/Source_div_quasi.tex b/docs/manuals/mcstas/sources/Source_div_quasi.tex new file mode 100644 index 0000000000..12ee40e160 --- /dev/null +++ b/docs/manuals/mcstas/sources/Source_div_quasi.tex @@ -0,0 +1,65 @@ +\section{The \texttt{Source\_div\_quasi} McStas Component} +Quasi-stochastic neutron source with Gaussian or uniform divergence + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Carlsen and Erik Bergbäck Knudsen (erkn@fysik.dtu.dk) + \item \textbf{Origin:} DTU Physics + \item \textbf{Date:} Jan 22 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +A flat rectangular surface source with uniform or Gaussian divergence profile and focussing. +If the parametere gauss is not set (the default) the divergence profile is flat +in the range [-focus_ax,focus_ay]. If gauss is set, the focux_ax,focus_ay is considered +the standard deviation of the gaussian profile. +Currently focussing is only active for flat profile. The "focus window" is defined by focus_xw,focus_yh and dist. +The spectral intensity profile is uniformly distributed in the energy interval defined by e0+-dE/2 or +by wavelength lambda0+-dlambda/2 + +The phase space spanned by the generated neutrons is sampled by means of Halton-sequences, instead of regular +pseudo random numbers. This ensures that samples are evenly distributed within the phase space region of interest. + +Example: Source_div_quasi(xwidth=0.1, yheight=0.1, focus_aw=2, focus_ah=2, E0=14, dE=2, gauss=0) + +%VALIDATION + +%BUGS +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +spectrum\_file & & File from which to read the spectral intensity profile & "" \\ +xwidth & m & Width of source & 0 \\ +yheight & m & Height of source & 0 \\ +focus\_xw & m & Width of sampling window & 0 \\ +focus\_yh & m & Height of sampling window & 0 \\ +dist & m & Downstream distance to place sampling target window & 0 \\ +focus\_aw & rad & Std. dev. (Gaussian) or maximal (uniform) horz. width divergence. focus\_xw overrrides if it is more restrictive. & 0 \\ +focus\_ah & rad & Std. dev. (Gaussian) or maximal (uniform) vert. height divergence. focus\_yh overrrides if it is more restrictive. & 0 \\ +E0 & meV & Mean energy of neutrons. & 0 \\ +dE & meV & Energy spread of neutrons. & 0 \\ +lambda0 & AA & Mean wavelength of neutrons (only relevant for E0=0) & 0 \\ +dlambda & AA & Wavelength half spread of neutrons. & 0 \\ +flux & 1/(s*cm**2*st*energy unit) & Flux per energy unit, Angs or meV & 0 \\ +gauss & 1 & Criterion: 0: uniform, 1: Gaussian distribution of energy/wavelength & 0 \\ +gauss\_a & 1 & Criterion: 0: uniform, 1: Gaussian divergence distribution & 0 \\ +randomphase & & When=1, the X-ray phase is randomised & 1 \\ +phase & & Set to finite value to define X-ray phase (0:2 pi) & 0 \\ +verbose & & Generate more output on the console. & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sources/Source_div_quasi.comp}{Source code} for \texttt{Source\_div\_quasi.comp}. +\end{itemize} +\IfFileExists{Source_div_quasi_static.tex}{\input{Source_div_quasi_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sources/Source_div_static.tex b/docs/manuals/mcstas/sources/Source_div_static.tex new file mode 100644 index 0000000000..d8f9e42cb1 --- /dev/null +++ b/docs/manuals/mcstas/sources/Source_div_static.tex @@ -0,0 +1,22 @@ +\section{Source\_div: A continuous source with specified divergence} +\label{source-div} +\index{Sources!Continuous source with specified divergence} + +%\component{Source\_div}{System}{ $w$, $h$, $\delta_h$, $\delta_v$, $E_0$, $\Delta E$}{$\lambda_0$, $\Delta\lambda$, gauss}{Validated. t=0} +%\mcdoccomp{sources/Source_div.parms} + +\textbf{Source\_div} is a rectangular source, $w \times h$, which emits a +beam of a specified divergence around the direction of the $z$ axis. +The beam intensity is uniform over +the whole of the source, and the energy (or wavelength) distribution +of the beam is uniform over the specified energy range +$E_0 \pm \Delta E$ (in meV), or alternatively +the wavelength range $\lambda_0 \pm \delta\lambda$ (in \AA ). + +The source divergences are $\delta_h$ and $\delta_v$ (FWHM in degrees). +If the \verb+gauss+ flag is set to 0 (default), +the divergence distribution is uniform, otherwise it is Gaussian. + +This component may be used as a simple model of the +beam profile at the end of a guide or at the sample position. + diff --git a/docs/manuals/mcstas/sources/Source_gen.tex b/docs/manuals/mcstas/sources/Source_gen.tex index be926e764f..e96644e21f 100644 --- a/docs/manuals/mcstas/sources/Source_gen.tex +++ b/docs/manuals/mcstas/sources/Source_gen.tex @@ -1,50 +1,124 @@ -\section{Source\_gen: A general continuous source} -\label{source-gen} -\index{Sources!General continuous source} - -%\component{Source\_gen}{(System) E. Farhi, ILL}{$w$, $h$, $xw$, $yh$, $E_0$, $\Delta E$, $T_1$, $T_2$, $T_3$, $I_1$, $I_2$, $I_3$ }{$r$, $\lambda_0$, $d\lambda$, $E_{min}$, $E_{max}$, $\lambda_{min}$, $\lambda_{max}$}{Validated for Maxwellian expressions. t=0} -\mcdoccomp{sources/Source_gen.parms} - -This component is a continuous neutron source (rectangular or circular), which aims at -a rectangular target centered at the beam. -The angular divergence is given by the dimensions of the target. -The shape may be rectangular (dimension $h$ and $w$), or a disk of radius $r$. -The wavelength/energy range to emit is specified either using center and half width, or using minimum and maximum boundaries, alternatively for energy and wavelength. -The flux spectrum is specified with the same Maxwellian parameters as in component Source\_Maxwell\_3 (refer to section \ref{source-maxwell}). - -Maxwellian parameters for some continuous sources -are given in Table~\ref{t:source_gen-params}. As nobody knows exactly the characteristics of the sources (it is not easy to measure spectrum there), these figures should be used with caution. - -\begin{table} - \begin{center} - {\let\my=\\ - \begin{tabular}{|c|cccccc|c|} - \hline - Source Name & $T_1$ & $I_1$ & $T_2$ & $I_2$ & $T_3$ & $I_3$ & factor \\ - \hline - PSI cold source & 150.4 & 3.67e11 & 38.74 & 3.64e11 & 14.84& 0.95e11 & * $I_\textrm{target}$~(mA)\\ - ILL VCS (H1) & 216.8 & 1.24e13 & 33.9 & 1.02e13 & 16.7 & 3.042e12 &58MW\\ - ILL HCS (H5) & 413.5 & 10.22e12 & 145.8 & 3.44e13 & 40.1 & 2.78e13 &58MW\\ - ILL Thermal(H2) & 683.7 & 5.874e12 & 257.7 & 2.51e13 & 16.7 & 1.034e12 &58MW, /2.25\\ - ILL Hot source & 1695 & 1.74e13 & 708 & 3.9e12 & & &58MW\\ - PIK cold source & 204.6 & 5.38e12 & 73.9 & 7 2.50e12 & 23.9 & 9.51e12 &\\ - HZB cold source & 43.7 & 1.4e12 & 137.2 & 2.08e12 & & &10MW, radius=.155\\ - HZB bi-spectral & 43.7 & 1.4e12 & 137.2 & 2.08e12 & 293 & 1.77e12 &10MW\\ - HZB thermal tube& 293.0 & 2.64e12 & & & & &10MW\\ - FRM2 cold & 35.0 & 9.38e12 & 547.5 & 2.23e12 & 195.4& 1.26e13 &20MW\\ - FRM2 thermal & 285.6 & 3.06e13 & 300.0 & 1.68e12 & 429.9& 6.77e12 &20MW\\ - LLB cold,14MW & 220 & 2.09e12 & 60 & 3.83e12 & 20 & 1.04e12 &14MW\\ - TRIGA thermal & 300 & 3.5e11 & & & & &1MW\\ - \hline - \end{tabular} - \caption{Flux parameters for present sources used in components - Source\_gen and Source\_Maxwell\_3. - For some cases, a correction factor to the intensity - should be used to reach measured data; for the PSI cold source, - this correction factor is the beam current, $I_\textrm{target}$, - which is currently of the order 1.2~mA. -} - \label{t:source_gen-params} - } - \end{center} -\end{table} +\section{The \texttt{Source\_gen} McStas Component} +Circular/squared neutron source with flat or Maxwellian energy/wavelength +spectrum + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Emmanuel Farhi, Kim Lefmann + \item \textbf{Origin:} ILL/Risoe + \item \textbf{Date:} Aug 27, 2001 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This routine is a neutron source (rectangular or circular), which aims at +a square target centered at the beam (in order to improve MC-acceptance +rate). The angular divergence is then given by the dimensions of the +target. However, it may be directly set using the 'focus-aw' and 'focus_ah' +parameters. + +The neutron energy/wavelength is distributed uniformly in wavelength between +Emin=E0-dE and Emax=E0+dE or Lmin=lambda0-dlambda and Lmax=lambda0+dlambda. +The I1 may be either arbitrary (I1=0), or specified in neutrons per steradian +per square cm per Angstrom per s. A Maxwellian spectra may be selected if you +give the source temperatures (up to 3). + +Finally, a file with the flux as a +function of the wavelength [lambda(AA) flux(n/s/cm^2/st/AA)] may be used +with the 'flux_file' parameter. Format is 2 columns free text. + +Additional distributions for the horizontal and vertical phase spaces +distributions (position-divergence) may be specified with the +'xdiv_file' and 'ydiv_file' parameters. Format is free text, requiring +a comment line '# xylimits: pos_min pos_max div_min div_max' to set +the axis of the distribution matrix. All these files may be generated using +standard monitors (better in McStas/PGPLOT format), e.g.: +Monitor_nD(options="auto lambda per cm2") +Monitor_nD(options="x hdiv, all auto") +Monitor_nD(options="y vdiv, all auto") + +The source shape is defined by its radius, or can alternatively be squared +if you specify non-zero yheight and xwidth parameters. +The beam is divergence uniform,. +The source may have a thickness, which will broaden the default zero time +distribution. + +Usage example: +Source_gen(radius=0.1,lambda0=2.36,dlambda=0.16,T1=20,I1=1e13,focus_xw=0.01,focus_yh=0.01) +Source_gen(yheight=0.1,xwidth=0.1,Emin=1,Emax=3,I1=1e13,verbose=1,focus_xw=0.01,focus_yh=0.01) +EXTEND +%{ +t = rand0max(1e-3); // set time from 0 to 1 ms for TOF instruments. +%} + +Some neutron facility parameters: +PSI cold source T1=296.2,I1=8.5E11, T2=40.68,I2=5.2E11 +ILL VCS cold source T1=216.8,I1=1.24e+13,T2=33.9,I2=1.02e+13 +(H1, 58 MW) T3=16.7 ,I3=3.0423e+12 +ILL HCS cold source T1=413.5,I1=10.22e12,T2=145.8,I2=3.44e13 +(H5, 58 MW) T3=40.1 ,I3=2.78e13 +ILL Thermal tube T1=683.7,I1=0.5874e+13,T2=257.7,I2=2.5099e+13 +(H12, 58 MW) T3=16.7 ,I3=1.0343e+12 +ILL Hot source T1=1695, I1=1.74e13,T2=708, I2=3.9e12 (58MW) +HZB cold source T1=43.7 ,I1=1.4e12, T2=137.2,I2=2.08e12,radius=.155 (10MW) +HZB bi-spectral T1=43.7, I1=1.4e12, T2=137.2,I2=2.08e12,T3=293.0,I3=1.77e12 +HZB thermal tube T1=293.0,I1=2.64e12 (10MW) +FRM2 cold,20MW T1=35.0, I1=9.38e12,T2=547.5,I2=2.23e12,T3=195.4,I3=1.26e13 +FRM2 thermal,20MW T1=285.6,I1=3.06e13,T2=300.0,I2=1.68e12,T3=429.9,I3=6.77e12 +LLB cold,14MW T1=220, I1=2.09e12,T2=60, I2=3.83e12,T3=20, I3=1.04e12 +TRIGA thermal 1MW T1=300, I1=3.5e11 (scale by thermal power in MW) + +%VALIDATION +Feb 2005: output cross-checked for 3 Maxwellians against VITESS source +I(lambda), I(hor_div), I(vert_div) identical in shape and absolute values +Validated by: K. Lieutenant +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +flux\_file & str & Name of a two columns [lambda flux] text file that contains the wavelength distribution of the flux in \textless{}b\textgreater{}either\textless{}/b\textgreater{} [1/(s*cm**2*st)] \textless{}b\textgreater{}or\textless{}/b\textgreater{} [1/(s*cm**2*st*AA)] (see flux\_file\_perAA flag) Comments (\#) and further columns are ignored. Format is compatible with McStas/PGPLOT wavelength monitor files. When specified, temperature and intensity values are ignored. & "NULL" \\ +xdiv\_file & str & Name of the x-horiz. divergence distribution file, given as a free format text matrix, preceeded with a line '\# xylimits: xmin xmax xdiv\_min xdiv\_max' & "NULL" \\ +ydiv\_file & str & Name of the y-vert. divergence distribution file, given as a free format text matrix, preceeded with a line '\# xylimits: ymin ymax ydiv\_min ydiv\_max' & "NULL" \\ +radius & m & Radius of circle in (x,y,0) plane where neutrons are generated. You may also use 'yheight' and 'xwidth' for a square source & 0.0 \\ +dist & m & Distance to target along z axis. & 0 \\ +focus\_xw & m & Width of target. & 0.045 \\ +focus\_yh & m & Height of target. & 0.12 \\ +focus\_aw & deg & maximal (uniform) horz. width divergence & 0 \\ +focus\_ah & deg & maximal (uniform) vert. height divergence & 0 \\ +E0 & meV & Mean energy of neutrons. & 0 \\ +dE & meV & Energy spread of neutrons, half width. & 0 \\ +lambda0 & AA & Mean wavelength of neutrons. & 0 \\ +dlambda & AA & Wavelength spread of neutrons,half width & 0 \\ +I1 & 1/(cm**2*sr) & Source flux per solid angle, area and Angstrom if I1=0, the source emits 1 in 4*PI whole space. & 1 \\ +yheight & m & Source y-height, then does not use radius parameter & 0.1 \\ +xwidth & m & Source x-width, then does not use radius parameter & 0.1 \\ +verbose & 0/1 & display info about the source. -1 inactivate source. & 0 \\ +T1 & K & Temperature of the Maxwellian source, 0=none & 0 \\ +flux\_file\_perAA & 1 & When true (1), indicates that flux file data is already per Aangstroem. If false, file data is per wavelength bin. & 0 \\ +flux\_file\_log & 1 & When true, will transform the flux table in log scale to improve the sampling. & 0 \\ +Lmin & AA & Minimum wavelength of neutrons & 0 \\ +Lmax & AA & Maximum wavelength of neutrons & 0 \\ +Emin & meV & Minimum energy of neutrons & 0 \\ +Emax & meV & Maximum energy of neutrons & 0 \\ +T2 & K & Second Maxwellian source Temperature, 0=none & 0 \\ +I2 & 1/(cm**2*sr) & Second Maxwellian Source flux & 0 \\ +T3 & K & Third Maxwellian source Temperature, 0=none & 0 \\ +I3 & 1/(cm**2*sr) & Third Maxwellian Source flux & 0 \\ +zdepth & m & Source z-zdepth, not anymore flat & 0 \\ +target\_index & 1 & relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sources/Source_gen.comp}{Source code} for \texttt{Source\_gen.comp}. + \item P. Ageron, Nucl. Inst. Meth. A 284 (1989) 197 +\end{itemize} +\IfFileExists{Source_gen_static.tex}{\input{Source_gen_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sources/Source_gen_static.tex b/docs/manuals/mcstas/sources/Source_gen_static.tex new file mode 100644 index 0000000000..8af8557afb --- /dev/null +++ b/docs/manuals/mcstas/sources/Source_gen_static.tex @@ -0,0 +1,50 @@ +\section{Source\_gen: A general continuous source} +\label{source-gen} +\index{Sources!General continuous source} + +%\component{Source\_gen}{(System) E. Farhi, ILL}{$w$, $h$, $xw$, $yh$, $E_0$, $\Delta E$, $T_1$, $T_2$, $T_3$, $I_1$, $I_2$, $I_3$ }{$r$, $\lambda_0$, $d\lambda$, $E_{min}$, $E_{max}$, $\lambda_{min}$, $\lambda_{max}$}{Validated for Maxwellian expressions. t=0} +%\mcdoccomp{sources/Source_gen.parms} + +This component is a continuous neutron source (rectangular or circular), which aims at +a rectangular target centered at the beam. +The angular divergence is given by the dimensions of the target. +The shape may be rectangular (dimension $h$ and $w$), or a disk of radius $r$. +The wavelength/energy range to emit is specified either using center and half width, or using minimum and maximum boundaries, alternatively for energy and wavelength. +The flux spectrum is specified with the same Maxwellian parameters as in component Source\_Maxwell\_3 (refer to section \ref{source-maxwell}). + +Maxwellian parameters for some continuous sources +are given in Table~\ref{t:source_gen-params}. As nobody knows exactly the characteristics of the sources (it is not easy to measure spectrum there), these figures should be used with caution. + +\begin{table} + \begin{center} + {\let\my=\\ + \begin{tabular}{|c|cccccc|c|} + \hline + Source Name & $T_1$ & $I_1$ & $T_2$ & $I_2$ & $T_3$ & $I_3$ & factor \\ + \hline + PSI cold source & 150.4 & 3.67e11 & 38.74 & 3.64e11 & 14.84& 0.95e11 & * $I_\textrm{target}$~(mA)\\ + ILL VCS (H1) & 216.8 & 1.24e13 & 33.9 & 1.02e13 & 16.7 & 3.042e12 &58MW\\ + ILL HCS (H5) & 413.5 & 10.22e12 & 145.8 & 3.44e13 & 40.1 & 2.78e13 &58MW\\ + ILL Thermal(H2) & 683.7 & 5.874e12 & 257.7 & 2.51e13 & 16.7 & 1.034e12 &58MW, /2.25\\ + ILL Hot source & 1695 & 1.74e13 & 708 & 3.9e12 & & &58MW\\ + PIK cold source & 204.6 & 5.38e12 & 73.9 & 7 2.50e12 & 23.9 & 9.51e12 &\\ + HZB cold source & 43.7 & 1.4e12 & 137.2 & 2.08e12 & & &10MW, radius=.155\\ + HZB bi-spectral & 43.7 & 1.4e12 & 137.2 & 2.08e12 & 293 & 1.77e12 &10MW\\ + HZB thermal tube& 293.0 & 2.64e12 & & & & &10MW\\ + FRM2 cold & 35.0 & 9.38e12 & 547.5 & 2.23e12 & 195.4& 1.26e13 &20MW\\ + FRM2 thermal & 285.6 & 3.06e13 & 300.0 & 1.68e12 & 429.9& 6.77e12 &20MW\\ + LLB cold,14MW & 220 & 2.09e12 & 60 & 3.83e12 & 20 & 1.04e12 &14MW\\ + TRIGA thermal & 300 & 3.5e11 & & & & &1MW\\ + \hline + \end{tabular} + \caption{Flux parameters for present sources used in components + Source\_gen and Source\_Maxwell\_3. + For some cases, a correction factor to the intensity + should be used to reach measured data; for the PSI cold source, + this correction factor is the beam current, $I_\textrm{target}$, + which is currently of the order 1.2~mA. +} + \label{t:source_gen-params} + } + \end{center} +\end{table} diff --git a/docs/manuals/mcstas/sources/Source_simple.tex b/docs/manuals/mcstas/sources/Source_simple.tex index bce0c8f45e..216ae68383 100644 --- a/docs/manuals/mcstas/sources/Source_simple.tex +++ b/docs/manuals/mcstas/sources/Source_simple.tex @@ -1,32 +1,55 @@ -\section{Source\_simple: A simple continuous source -with a flat energy/wavelength spectrum} -\label{source-simple} -\index{Sources!Simple continuous source} +\section{The \texttt{Source\_simple} McStas Component} +A circular neutron source with flat energy spectrum and arbitrary flux -%\component{Source\_simple}{System}{ $r_\textrm{s}$, $z_\textrm{foc}$, $w$, $h$, $E_0$, $\Delta E$, $\Psi$}{$\lambda_0$, $d\lambda$}{Validated. t=0} -\mcdoccomp{sources/Source_simple.parms} +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Kim Lefmann + \item \textbf{Origin:} Risoe + \item \textbf{Date:} October 30, 1997 +\end{itemize} -This component is -a simple source with an energy distribution which is uniform -in the range $E_0 \pm dE$ -(alternatively: a wavelength distribution in the range $\lambda_0 \pm d\lambda$). -This component is not used for detailed time-of-flight simulations, -so we put $t=0$ for all neutron rays. +\subsection*{Description} +\begin{lstlisting} +The routine is a circular neutron source, which aims at a square target +centered at the beam (in order to improve MC-acceptance rate). The angular +divergence is then given by the dimensions of the target. +The neutron energy is uniformly distributed between lambda0-dlambda and +lambda0+dlambda or between E0-dE and E0+dE. +The flux unit is specified in n/cm2/s/st/energy unit (meV or Angs). -The initial neutron ray position is chosen randomly from within a -circle of radius $r_\textrm{s}$ in the $z=0$ plane. -This geometry is a fair approximation -of a cylindrical cold/thermal source with the beam going out along -the cylinder axis. +This component replaces Source_flat, Source_flat_lambda, +Source_flux and Source_flux_lambda. -The initial neutron ray direction is focused onto a rectangular target of width -$w$, height $h$, parallel to the $xy$ plane placed at $(0,0,z_\textrm{foc})$. +Example: Source_simple(radius=0.1, dist=2, focus_xw=.1, focus_yh=.1, E0=14, dE=2) +\end{lstlisting} -The initial weight of the created neutron ray, $p_0$, is set to the -energy-integrated flux, $\Psi$, times the source area, $\pi r_\textrm{s}^2$ -times a solid-angle factor, which is basically the -solid angle of the focusing rectangle. -See also the section \ref{s:neutron-flux} on source flux. +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. -This component replaces the obsolete components -Source\_flux\_lambda, Source\_flat, Source\_flat\_lambda, and Source\_flux. +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +radius & m & Radius of circle in (x,y,0) plane where neutrons are generated. & 0.1 \\ +yheight & m & Height of rectangle in (x,y,0) plane where neutrons are generated. & 0 \\ +xwidth & m & Width of rectangle in (x,y,0) plane where neutrons are generated. & 0 \\ +dist & m & Distance to target along z axis. & 0 \\ +focus\_xw & m & Width of target & .045 \\ +focus\_yh & m & Height of target & .12 \\ +E0 & meV & Mean energy of neutrons. & 0 \\ +dE & meV & Energy half spread of neutrons (flat or gaussian sigma). & 0 \\ +lambda0 & AA & Mean wavelength of neutrons. & 0 \\ +dlambda & AA & Wavelength half spread of neutrons. & 0 \\ +flux & 1/(s*cm**2*st*energy unit) & flux per energy unit, Angs or meV if flux=0, the source emits 1 in 4*PI whole space. & 1 \\ +gauss & 1 & Gaussian (1) or Flat (0) energy/wavelength distribution & 0 \\ +target\_index & 1 & relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/sources/Source_simple.comp}{Source code} for \texttt{Source\_simple.comp}. +\end{itemize} +\IfFileExists{Source_simple_static.tex}{\input{Source_simple_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/sources/Source_simple_static.tex b/docs/manuals/mcstas/sources/Source_simple_static.tex new file mode 100644 index 0000000000..81d1db1f8d --- /dev/null +++ b/docs/manuals/mcstas/sources/Source_simple_static.tex @@ -0,0 +1,32 @@ +\section{Source\_simple: A simple continuous source +with a flat energy/wavelength spectrum} +\label{source-simple} +\index{Sources!Simple continuous source} + +%\component{Source\_simple}{System}{ $r_\textrm{s}$, $z_\textrm{foc}$, $w$, $h$, $E_0$, $\Delta E$, $\Psi$}{$\lambda_0$, $d\lambda$}{Validated. t=0} +%\mcdoccomp{sources/Source_simple.parms} + +This component is +a simple source with an energy distribution which is uniform +in the range $E_0 \pm dE$ +(alternatively: a wavelength distribution in the range $\lambda_0 \pm d\lambda$). +This component is not used for detailed time-of-flight simulations, +so we put $t=0$ for all neutron rays. + +The initial neutron ray position is chosen randomly from within a +circle of radius $r_\textrm{s}$ in the $z=0$ plane. +This geometry is a fair approximation +of a cylindrical cold/thermal source with the beam going out along +the cylinder axis. + +The initial neutron ray direction is focused onto a rectangular target of width +$w$, height $h$, parallel to the $xy$ plane placed at $(0,0,z_\textrm{foc})$. + +The initial weight of the created neutron ray, $p_0$, is set to the +energy-integrated flux, $\Psi$, times the source area, $\pi r_\textrm{s}^2$ +times a solid-angle factor, which is basically the +solid angle of the focusing rectangle. +See also the section \ref{s:neutron-flux} on source flux. + +This component replaces the obsolete components +Source\_flux\_lambda, Source\_flat, Source\_flat\_lambda, and Source\_flux. diff --git a/docs/manuals/mcstas/sources/Virtual_input.tex b/docs/manuals/mcstas/sources/Virtual_input.tex index 2e72bf2bdb..5944e4c724 100644 --- a/docs/manuals/mcstas/sources/Virtual_input.tex +++ b/docs/manuals/mcstas/sources/Virtual_input.tex @@ -3,7 +3,7 @@ \section{Virtual\_input: Starting the second part of a split simulation} \index{Sources!Virtual source from stored neutron events} %\component{Virtual\_input}{System}{filename}{repeat-count, type}{} -\mcdoccomp{sources/Virtual_input.parms} +%\mcdoccomp{sources/Virtual_input.parms} The component \textbf{Virtual\_input} resumes a split simulation where the first part has been performed by another instrument and the neutron ray diff --git a/docs/manuals/mcstas/sources/Virtual_output.tex b/docs/manuals/mcstas/sources/Virtual_output.tex index b50808facc..accde7dd1d 100644 --- a/docs/manuals/mcstas/sources/Virtual_output.tex +++ b/docs/manuals/mcstas/sources/Virtual_output.tex @@ -3,7 +3,7 @@ \section{Virtual\_output: Saving the first part of a split simulation} \index{Sources!Virtual source, recording neutron events} %\component{Virtual\_output}{System}{filename}{buffer-size, type}{} -\mcdoccomp{sources/Virtual_output.parms} +%\mcdoccomp{sources/Virtual_output.parms} The component \textbf{Virtual\_output} stores the neutron ray parameters at the end of the first part of a split simulation. The idea is to let the diff --git a/docs/manuals/mcstas/sources/sources.tex b/docs/manuals/mcstas/sources/sources.tex index 4be9d846b0..45dbc28482 100644 --- a/docs/manuals/mcstas/sources/sources.tex +++ b/docs/manuals/mcstas/sources/sources.tex @@ -107,7 +107,7 @@ \subsection{Neutron flux} \newpage \input{sources/Moderator} -\input{sources/ISIS_moderator} +%\input{../contrib/ISIS_moderator} \newpage \input{sources/Source_adapt} diff --git a/docs/manuals/mcstas/title_comp.tex b/docs/manuals/mcstas/title_comp.tex index 61adb19a22..224e1fde2a 100644 --- a/docs/manuals/mcstas/title_comp.tex +++ b/docs/manuals/mcstas/title_comp.tex @@ -3,7 +3,7 @@ \includegraphics[width=50mm]{figures/mcstas_logo_reflection}\\[4mm] \end{center} } -\author{P. Willendrup, E. Farhi, E. Knudsen, U. Filges, K. Lefmann\\ +\author{P. Willendrup, E. Farhi, E. Knudsen, K. Lefmann\\ } \date{\reldate} diff --git a/docs/manuals/mcstas/union/AF_HB_1D_process.tex b/docs/manuals/mcstas/union/AF_HB_1D_process.tex new file mode 100644 index 0000000000..cd42531570 --- /dev/null +++ b/docs/manuals/mcstas/union/AF_HB_1D_process.tex @@ -0,0 +1,58 @@ +\section{The \texttt{AF\_HB\_1D\_process} McStas Component} +1D Antiferromagnetic Heisenberg chain + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +1D Antiferromagnetic Heisenberg chain + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +atom\_distance & AA & Distance between atom's in chain & 1 \\ +number\_density & 1/AA\textasciicircum{}3 & Number of scatteres per volume & 0 \\ +unit\_cell\_volume & AA\textasciicircum{}3 & Unit cell volume (set either unit\_cell\_volume or number density) & 0 \\ +A\_constant & unitless & Constant from M\üller paper 1981, probably somewhere between 1 and 1.5 & 1 \\ +J\_interaction & meV & Exchange constant & 1 \\ +packing\_factor & 1 & How dense is the material compared to optimal 0-1 & 1 \\ +interact\_fraction & 1 & How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) & -1 \\ +init & string & name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/AF_HB_1D_process.comp}{Source code} for \texttt{AF\_HB\_1D\_process.comp}. +\end{itemize} +\IfFileExists{AF_HB_1D_process_static.tex}{\input{AF_HB_1D_process_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/IncoherentPhonon_process.tex b/docs/manuals/mcstas/union/IncoherentPhonon_process.tex new file mode 100644 index 0000000000..255f081642 --- /dev/null +++ b/docs/manuals/mcstas/union/IncoherentPhonon_process.tex @@ -0,0 +1,61 @@ +\section{The \texttt{IncoherentPhonon\_process} McStas Component} +A component to simulate inelastic scattering in the incoherent approximation +Takes into account one, two, and three phonon scattering explicitly, +and multi-phonon scattering (with n\textgreater{}4) via the saddle point method + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Victor Laliena + \item \textbf{Origin:} University of Zaragoza + \item \textbf{Date:} 06.11.2018 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +expects geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + + +Algorithm: +Described elsewhere, see e.g. https://doi.org/10.3233/JNR-190117 +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +T & K & Temperature & 394 \\ +density & g/cm3 & Material density & 6.0 \\ +M & amu & ion mass & 50.94 \\ +sigmaCoh & barns & Coherent scattering cross section & 0.0184 \\ +sigmaInc & barns & Incoherent scattering cross section & 5.08 \\ +DOSfn & string & Path to the file that contains the DoS & NULL \\ +nphe\_exact & 1 & Number of terms in the phonon expansion taken exact. Has to be between 1 and 3. & 1 \\ +nphe\_approx & 1 & Number of terms in the phonon expansion taken approximate. & 0 \\ +approx & 1 & Approximation type: 0 gaussian, 1 saddle point & 0 \\ +mph\_resum & 0/1 & Resumate the remaining terms of the phonon expansion via a saddle point: 0 No, 1 Yes & 0 \\ +nxs & 1 & Number of energy points at which the total cross sections are precomputed & 1000 \\ +kabsmin & A\textasciicircum{}-1 & Lower cut-off for the neutron wave-vector k & 0.1 \\ +kabsmax & A\textasciicircum{}-1 & Higher cut-off for the neutron wave-vector k & 25 \\ +interact\_fraction & 1 & How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) & -1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/IncoherentPhonon_process.comp}{Source code} for \texttt{IncoherentPhonon\_process.comp}. + \item See \textless{}a href="https://doi.org/10.3233/JNR-190117"\textgreater{}https://doi.org/10.3233/JNR-190117\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{IncoherentPhonon_process_static.tex}{\input{IncoherentPhonon_process_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Incoherent_process.tex b/docs/manuals/mcstas/union/Incoherent_process.tex new file mode 100644 index 0000000000..51f2c2bd74 --- /dev/null +++ b/docs/manuals/mcstas/union/Incoherent_process.tex @@ -0,0 +1,58 @@ +\section{The \texttt{Incoherent\_process} McStas Component} +A sample component to separate geometry and phsysics + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This Union_process is based on the Incoherent.comp component originally written +by Kim Lefmann and Kristian Nielsen + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sigma & barns & Incoherent scattering cross section & 5.08 \\ +f\_QE & 1 & Fraction of quasielastic scattering (rest is elastic) [1] & 0 \\ +gamma & meV & Lorentzian width of quasielastic broadening (HWHM) [1] & 0 \\ +packing\_factor & 1 & How dense is the material compared to optimal 0-1 & 1 \\ +unit\_cell\_volume & AA\textasciicircum{}3 & Unit cell volume & 13.8 \\ +interact\_fraction & 1 & How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) & -1 \\ +init & string & name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Incoherent_process.comp}{Source code} for \texttt{Incoherent\_process.comp}. + \item The test/example instrument \textless{}a href="../examples/Test\_Phonon.instr"\textgreater{}Test\_Phonon.instr\textless{}/a\textgreater{}. +\end{itemize} +\IfFileExists{Incoherent_process_static.tex}{\input{Incoherent_process_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Mirror_surface.tex b/docs/manuals/mcstas/union/Mirror_surface.tex new file mode 100644 index 0000000000..c6d564c91e --- /dev/null +++ b/docs/manuals/mcstas/union/Mirror_surface.tex @@ -0,0 +1,62 @@ +\section{The \texttt{Mirror\_surface} McStas Component} +A Mirror surface process + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This is a Union surface process that describes a supermirror or other surface +that only have specular reflection. The reflectivity can be given as a file +or using the standard reflectivity inputs. To use this in a simulation an +instance of this component should be defined in the instrument file, then +attatched to one or more geometries in their surface stacks pertaining to +each face of the geometry. + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflect & str & Name of reflectivity file. Format q(Angs-1) R(0-1) & 0 \\ +R0 & 1 & Low-angle reflectivity & 0.99 \\ +Qc & AA-1 & Critical scattering vector & 0.0219 \\ +alpha & AA & Slope of reflectivity & 6.07 \\ +m & 1 & m-value of material. Zero means completely absorbing. & 2 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Mirror_surface.comp}{Source code} for \texttt{Mirror\_surface.comp}. +\end{itemize} +\IfFileExists{Mirror_surface_static.tex}{\input{Mirror_surface_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/NCrystal_process.tex b/docs/manuals/mcstas/union/NCrystal_process.tex new file mode 100644 index 0000000000..cfe16c3f3f --- /dev/null +++ b/docs/manuals/mcstas/union/NCrystal_process.tex @@ -0,0 +1,72 @@ +\section{The \texttt{NCrystal\_process} McStas Component} +NCrystal\_process component for the Union framework. + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} NCrystal developers, converted to a Union component by Mads Bertelsen + \item \textbf{Origin:} NCrystal Developers (European Spallation Source ERIC and DTU Nutech) + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This process uses the NCrystal library as a Union process, see user documentation +for the NCrystal_sample.comp component for more information. The process only +uses the physics, as the Union components has a separate geometry system. +Absorption is also handled by Union, so any absorption output from NCrystal +is ignored. + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + + +Original header text for NCrystal_sample.comp: +McStas sample component for the NCrystal scattering library. Find more +information at the NCrystal +wiki. In particular, browse the available datafiles at Data-library +and read about format of the configuration string expected in the "cfg" +parameter at Using-NCrystal. + +

NCrystal is available under the Apache 2.0 license. Depending +on the configuration choices, optional NCrystal modules under different +licenses might be enabled - see About for more +details. + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +cfg & str & NCrystal material configuration string (details \textless{}a href="https://github.com/mctools/ncrystal/wiki/Using-NCrystal"\textgreater{}on this page\textless{}/a\textgreater{}). & "" \\ +packing\_factor & 1 & Material packing factor & 1 \\ +interact\_fraction & 1 & How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) & -1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/NCrystal_process.comp}{Source code} for \texttt{NCrystal\_process.comp}. +\end{itemize} +\IfFileExists{NCrystal_process_static.tex}{\input{NCrystal_process_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Non_process.tex b/docs/manuals/mcstas/union/Non_process.tex new file mode 100644 index 0000000000..44a4f90bb6 --- /dev/null +++ b/docs/manuals/mcstas/union/Non_process.tex @@ -0,0 +1,55 @@ +\section{The \texttt{Non\_process} McStas Component} +This process dos nothing and is used for testing + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} ESS DMSC + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This process dos nothing and is used for testing + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sigma & barns & Scattering cross section & 5.08 \\ +packing\_factor & 1 & How dense is the material compared to optimal 0-1 & 1 \\ +unit\_cell\_volume & AA\textasciicircum{}3 & Unit cell volume & 13.8 \\ +interact\_fraction & 1 & How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) & -1 \\ +init & string & name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Non_process.comp}{Source code} for \texttt{Non\_process.comp}. +\end{itemize} +\IfFileExists{Non_process_static.tex}{\input{Non_process_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/PhononSimple_process.tex b/docs/manuals/mcstas/union/PhononSimple_process.tex new file mode 100644 index 0000000000..d1cecf6584 --- /dev/null +++ b/docs/manuals/mcstas/union/PhononSimple_process.tex @@ -0,0 +1,63 @@ +\section{The \texttt{PhononSimple\_process} McStas Component} +Port of PhononSimple to Union components + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Anders Komar Ravn, based on template by Mads Bertelsen and Phonon\_Simple + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Port of the PhononSimple component from the McStas library to the Union +components. + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +packing\_factor & 1 & How dense is the material compared to optimal 0-1 & 1 \\ +unit\_cell\_volume & AA\textasciicircum{}3 & Unit cell volume & 13.8 \\ +interact\_fraction & 1 & How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) & -1 \\ +a & AA & fcc lattice constant & 4.95 \\ +c & meV*AA & Velocity of sound & 10 \\ +M & units & Nucleus atomic mass in units & 207.2 \\ +b & fm & Scattring length & 9.4 \\ +T & K & Temperature & 290 \\ +DW & 1 & Debye-Waller factor & 1 \\ +longitudinal & 0/1 & Simulate longitudinal branches & 1 \\ +transverse & 0/1 & Simulate transverse branches & 1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/PhononSimple_process.comp}{Source code} for \texttt{PhononSimple\_process.comp}. +\end{itemize} +\IfFileExists{PhononSimple_process_static.tex}{\input{PhononSimple_process_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Powder_process.tex b/docs/manuals/mcstas/union/Powder_process.tex new file mode 100644 index 0000000000..6bfc076de4 --- /dev/null +++ b/docs/manuals/mcstas/union/Powder_process.tex @@ -0,0 +1,63 @@ +\section{The \texttt{Powder\_process} McStas Component} +Port of the PowderN process to the Union components + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This Union_process is based on the PowderN.comp component originally written +by P. Willendrup, L. Chapon, K. Lefmann, A.B.Abrahamsen, N.B.Christensen, +E.M.Lauridsen. + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflections & string & Input file for reflections. No scattering if NULL or "" [string] & "NULL" \\ +packing\_factor & 1 & How dense is the material compared to optimal 0-1 & 1 \\ +Vc & AA\textasciicircum{}3 & Volume of unit cell=nb atoms per cell/density of atoms. & 0 \\ +delta\_d\_d & 0/1 & Global relative delta\_d\_d/d broadening when the 'w' column is not available. Use 0 if ideal. & 0 \\ +DW & 1 & Global Debye-Waller factor when the 'DW' column is not available. Use 1 if included in F2 & 0 \\ +nb\_atoms & 1 & Number of sub-unit per unit cell, that is ratio of sigma for chemical formula to sigma per unit cell & 1 \\ +d\_phi & deg & Angle corresponding to the vertical angular range to focus to, e.g. detector height. 0 for no focusing. & 0 \\ +density & g/cm\textasciicircum{}3 & Density of material. rho=density/weight/1e24*N\_A. & 0 \\ +weight & g/mol & Atomic/molecular weight of material. & 0 \\ +barns & 1 & Flag to indicate if |F|\textasciicircum{}2 from 'reflections' is in barns or fm\textasciicircum{}2 (barns=1 for laz, barns=0 for lau type files). & 1 \\ +Strain & ppm & Global relative delta\_d\_d/d shift when the 'Strain' column is not available. Use 0 if ideal. & 0 \\ +interact\_fraction & 1 & How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) & -1 \\ +format & no quotes & Name of the format, or list of column indexes (see Description). & \{0, 0, 0, 0, 0, 0, 0, 0, 0\} \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Powder_process.comp}{Source code} for \texttt{Powder\_process.comp}. +\end{itemize} +\IfFileExists{Powder_process_static.tex}{\input{Powder_process_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Single_crystal_process.tex b/docs/manuals/mcstas/union/Single_crystal_process.tex new file mode 100644 index 0000000000..c5481c7015 --- /dev/null +++ b/docs/manuals/mcstas/union/Single_crystal_process.tex @@ -0,0 +1,79 @@ +\section{The \texttt{Single\_crystal\_process} McStas Component} +Port of the Single\_crystal component to the Union components + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This Union_process is based on the Single_crystal.comp component originally +written by Kristian Nielsen + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflections & string & File name containing structure factors of reflections. Use empty ("") or NULL for incoherent scattering only & 0 \\ +delta\_d\_d & 1 & Lattice spacing variance, gaussian RMS & 1e-4 \\ +mosaic & arc minutes & Crystal mosaic (isotropic), gaussian RMS. Puts the crystal in the isotropic mosaic model state, thus disregarding other mosaicity parameters. & -1 \\ +mosaic\_a & arc minutes & Horizontal (rotation around lattice vector a) mosaic (anisotropic), gaussian RMS. Put the crystal in the anisotropic crystal vector state. I.e. model mosaicity through rotation around the crystal lattice vectors. Has precedence over in-plane mosaic model. & -1 \\ +mosaic\_b & arc minutes & Vertical (rotation around lattice vector b) mosaic (anisotropic), gaussian RMS. & -1 \\ +mosaic\_c & arc minutes & Out-of-plane (Rotation around lattice vector c) mosaic (anisotropic), gaussian RMS & -1 \\ +mosaic\_AB & arc\_minutes, arc\_minutes,1, 1, 1, 1, 1, 1 & In Plane mosaic rotation and plane vectors (anisotropic), mosaic\_A, mosaic\_B, A\_h,A\_k,A\_l, B\_h,B\_k,B\_l. Puts the crystal in the in-plane mosaic state. Vectors A and B define plane in which the crystal roation is defined, and mosaic\_A, mosaic\_B, denotes the resp. mosaicities (gaussian RMS) with respect to the two reflections chosen by A and B (Miller indices). & \{0,0, 0,0,0, 0,0,0\} \\ +recip\_cell & 1 & Choice of direct/reciprocal (0/1) unit cell definition & 0 \\ +barns & 1 & Flag to indicate if |F|\textasciicircum{}2 from 'reflections' is in barns or fm\textasciicircum{}2. barns=1 for laz and isotropic constant elastic scattering (reflections=NULL), barns=0 for lau type files & 0 \\ +ax & AA or AA\textasciicircum{}-1 & Coordinates of first (direct/recip) unit cell vector & 0 \\ +ay & AA or AA\textasciicircum{}-1 & a on y axis & 0 \\ +az & AA or AA\textasciicircum{}-1 & a on z axis & 0 \\ +bx & AA or AA\textasciicircum{}-1 & Coordinates of second (direct/recip) unit cell vector & 0 \\ +by & AA or AA\textasciicircum{}-1 & b on y axis & 0 \\ +bz & AA or AA\textasciicircum{}-1 & b on z axis & 0 \\ +cx & AA or AA\textasciicircum{}-1 & Coordinates of third (direct/recip) unit cell vector & 0 \\ +cy & AA or AA\textasciicircum{}-1 & c on y axis & 0 \\ +cz & AA or AA\textasciicircum{}-1 & c on z axis & 0 \\ +aa & deg & Unit cell angles alpha, beta and gamma. Then uses norms of vectors a,b and c as lattice parameters & 0 \\ +bb & deg & Beta angle & 0 \\ +cc & deg & Gamma angle & 0 \\ +order & 1 & Limit multiple scattering up to given order (0: all, 1: first, 2: second, ...) (Not supported in Union) & 0 \\ +RX & m & Radius of lattice curvature along X. flat when 0. & 0 \\ +RY & m & Radius of lattice curvature along Y. flat when 0. & 0 \\ +RZ & m & Radius of lattice curvature along Z. flat when 0. & 0 \\ +powder & 1 & Flag to indicate powder mode, for simulation of Debye-Scherrer cones via random crystallite orientation. A powder texture can be approximated with 0 & 0 \\ +PG & 1 & Flag to indicate "Pyrolytic Graphite" mode, only meaningful with choice of Graphite.lau, models PG crystal. A powder texture can be approximated with 0 & 0 \\ +interact\_fraction & 1 & How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) & -1 \\ +packing\_factor & 1 & How dense is the material compared to optimal 0-1 & 1 \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Single_crystal_process.comp}{Source code} for \texttt{Single\_crystal\_process.comp}. +\end{itemize} +\IfFileExists{Single_crystal_process_static.tex}{\input{Single_crystal_process_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Template_process.tex b/docs/manuals/mcstas/union/Template_process.tex new file mode 100644 index 0000000000..57a4a00e43 --- /dev/null +++ b/docs/manuals/mcstas/union/Template_process.tex @@ -0,0 +1,58 @@ +\section{The \texttt{Template\_process} McStas Component} +A template process for building Union processes + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This is a template for a new contributor to create their own physical process. +The comments in this file are meant to teach the user about creating their own +process file, rather than explaining this one. For comments on how this code works, +look in the Incoherent_process.comp. + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +sigma & barns & Incoherent scattering cross section & 5.08 \\ +packing\_factor & 1 & How dense is the material compared to optimal 0-1 & 1 \\ +unit\_cell\_volume & AA\textasciicircum{}3 & Unit\_cell\_volume & 13.8 \\ +interact\_fraction & 1 & How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) & -1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Template_process.comp}{Source code} for \texttt{Template\_process.comp}. +\end{itemize} +\IfFileExists{Template_process_static.tex}{\input{Template_process_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Template_surface.tex b/docs/manuals/mcstas/union/Template_surface.tex new file mode 100644 index 0000000000..797a0747fc --- /dev/null +++ b/docs/manuals/mcstas/union/Template_surface.tex @@ -0,0 +1,64 @@ +\section{The \texttt{Template\_surface} McStas Component} +A template process for building Union surface processes + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +This is a template for a new contributor to create their own surface process. +The comments in this file are meant to teach the user about creating their own +surface component, rather than explaining this one. For comments on how this +code works, look in the Mirror_surface.comp. +To add a new surface process, three changes are needed in other files: +Add entry in surface enum (match your process) +Add storage struct in the union-lib.c file +Add the surface function in inion-suffix.c switch + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +reflect & str & Name of reflectivity file. Format q(Angs-1) R(0-1) & 0 \\ +R0 & 1 & Low-angle reflectivity & 0.99 \\ +Qc & AA-1 & Critical scattering vector & 0.0219 \\ +alpha & AA & Slope of reflectivity & 6.07 \\ +m & 1 & m-value of material. Zero means completely absorbing. & 2 \\ +W & AA-1 & Width of supermirror cut-off & 0.003 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Template_surface.comp}{Source code} for \texttt{Template\_surface.comp}. +\end{itemize} +\IfFileExists{Template_surface_static.tex}{\input{Template_surface_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Texture_process.tex b/docs/manuals/mcstas/union/Texture_process.tex new file mode 100644 index 0000000000..a5bc3e3ad8 --- /dev/null +++ b/docs/manuals/mcstas/union/Texture_process.tex @@ -0,0 +1,54 @@ +\section{The \texttt{Texture\_process} McStas Component} +Component for simulating textured powder in Union components + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Victor Laliena + \item \textbf{Origin:} University of Zaragoza + \item \textbf{Date:} 2018-2019 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +seperates geometry and physics within McStas. +The use of this component requires other components to be used. + +This component deals with the coherent elastic scattering on a textured material. +The texture is described through the coefficients of the generalized Fourier transform +of the Orientation Distribution Function (ODF). +The component expects as input two files, one containing the Fourier coefficients of the +ODF and another one with crystallographic and physical information. + + +Algorithm: +Described elsewhere, see e.g. https://doi.org/10.3233/JNR-190117 +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +crystal\_fn & s & Path to a file (.laz) containing crystallographic and physical information & 0 \\ +fcoef\_fn & s & Path to a text file containing the Fourier coefficients of the ODF. It must have five columns: l m n Real(Clmn) Imag(Clmn) & 0 \\ +lmax\_user & 1 & Cut-off for the Fourier series. If negative, the program uses all the coefficients provided in the file fcoef\_fn & -1 \\ +barns & 1 & Flag to indicate if |F|\textasciicircum{}2 from 'crystal\_fn' is in barns or fm\textasciicircum{}2. barns=1 for laz and isotropic constant elastic scattering (reflections=NULL), barns=0 for lau type files & 0 \\ +order & 1 & Limit scattering to this order & 0 \\ +interact\_fraction & 1 & How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) & -1 \\ +packing\_factor & 1 & How dense is the material compared to optimal 0-1 & 1 \\ +maxNeutronSaved & 1 & Maximum number of neutron cross sections saved for reusing & 1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Texture_process.comp}{Source code} for \texttt{Texture\_process.comp}. + \item See \textless{}a href="https://doi.org/10.3233/JNR-190117"\textgreater{}https://doi.org/10.3233/JNR-190117\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Texture_process_static.tex}{\input{Texture_process_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_abs_logger_1D_space.tex b/docs/manuals/mcstas/union/Union_abs_logger_1D_space.tex new file mode 100644 index 0000000000..428a215c4b --- /dev/null +++ b/docs/manuals/mcstas/union/Union_abs_logger_1D_space.tex @@ -0,0 +1,83 @@ +\section{The \texttt{Union\_abs\_logger\_1D\_space} McStas Component} +Logger of absorption along 1D space + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} ESS DMSC + \item \textbf{Date:} 19.06.20 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +A absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger stores the absorbed weight as a function of height +in a histogram. It is expected this abs logger will often be attached to a +cylindrical geometry, and so if the abs logger has the same position and +orientation it will measure absorption along the axis of symmetry. This +makes it easy to create simple tubes, and it is even possible to include +the detector casing and similar to improve the realism of the simulation. + +This absorption logger needs to be placed in space, the position is recorded in +the coordinate system of the logger component. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +\textbf{yheight} & m & height of absorption logger & \\ +n & 1 & number of bins along y & 100 \\ +filename & string & Filename of produced data file & "NULL" \\ +order\_total & 1 & Only log rays that have scattered n times, -1 for all orders & -1 \\ +order\_volume & 1 & Only log rays that have scattered n times in the same geometry, -1 for all orders & -1 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then access logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_abs_logger_1D_space.comp}{Source code} for \texttt{Union\_abs\_logger\_1D\_space.comp}. +\end{itemize} +\IfFileExists{Union_abs_logger_1D_space_static.tex}{\input{Union_abs_logger_1D_space_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_abs_logger_1D_space_event.tex b/docs/manuals/mcstas/union/Union_abs_logger_1D_space_event.tex new file mode 100644 index 0000000000..2211409774 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_abs_logger_1D_space_event.tex @@ -0,0 +1,93 @@ +\section{The \texttt{Union\_abs\_logger\_1D\_space\_event} McStas Component} +Logger of absorption in 1D space stored as events + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} ESS DMSC + \item \textbf{Date:} 19.06.20 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +A absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger stores the absorbed weight as an event including a +pixel_id. The pixel_id is found from the y coordinate of the event position +in the coordinate system of the absorption logger and is binned to a +pixel_id which is necessary when importing the data in Mantid. The y +coordinate corresponds to the height and is natural when attaching this +absorption logger to a cylindrical geometry, as it will record position +along the axis of symmetry, and thus behave like a detector tube. When using +several of these absorption loggers, they will internally avoid reusing the +same pixel_id, but if any other mantid detectors are used, these need to have +pixel_ids larger than the maximum used by these loggers. Each of these components +uses three times the number of bins, as it internally is a 3xn histogram where +only the center line have data, as this is much easier to import in Mantid. +The ocmponent uses Monitor_nD functions for trace and mcdisplay, and for this +reason it can write the xml file required to transfer the detector geometry +to Mantid. + +This absorption logger needs to be placed in space, the position is recorded in +the coordinate system of the logger component. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +\textbf{yheight} & m & Height of absorption logger & \\ +\textbf{n} & 1 & Number of bins along y & \\ +fake\_event & 1 & Number of fake events to add, circumvents issue with empty event lists with MPI & 0 \\ +filename & string & Filename of produced data file & "NULL" \\ +order\_total & 1 & Only log rays that have scattered n times, -1 for all orders & -1 \\ +order\_volume & 1 & Only log rays that have scattered n times in the same geometry, -1 for all orders & -1 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then access logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_abs_logger_1D_space_event.comp}{Source code} for \texttt{Union\_abs\_logger\_1D\_space\_event.comp}. +\end{itemize} +\IfFileExists{Union_abs_logger_1D_space_event_static.tex}{\input{Union_abs_logger_1D_space_event_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_abs_logger_1D_space_tof.tex b/docs/manuals/mcstas/union/Union_abs_logger_1D_space_tof.tex new file mode 100644 index 0000000000..17e5ce05d3 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_abs_logger_1D_space_tof.tex @@ -0,0 +1,86 @@ +\section{The \texttt{Union\_abs\_logger\_1D\_space\_tof} McStas Component} +Logger of absorption along 1D space and 1D time of flight + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} ESS DMSC + \item \textbf{Date:} 19.06.20 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +A absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger records the absorbed intensity as a function of the +y position and time of flight. One common use could be to attach this +absorption logger to a cylindrical helium-3 volume, creating a model of +the detector volume. In such a detector, only the y position of the event +is known, and as such creates a similar dataset. + +This absorption logger needs to be placed in space, the position is recorded in +the coordinate system of the logger component. Note the detection is along the +y axis of the component, so it is natural to place it relative to a cylinder. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +\textbf{yheight} & m & height of absorption logger & \\ +n & 1 & number of bins for spatial axis & 0.2 \\ +time\_min & s & Minimum time recorded & 0 \\ +time\_max & s & Maximum time recorded & 1 \\ +time\_bins & 1 & number of time bins & 100 \\ +filename & string & Filename of produced data file & "NULL" \\ +order\_total & 1 & Only log rays that have scattered n times, -1 for all orders & -1 \\ +order\_volume & 1 & Only log rays that have scattered n times in the same geometry, -1 for all orders & -1 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then access logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_abs_logger_1D_space_tof.comp}{Source code} for \texttt{Union\_abs\_logger\_1D\_space\_tof.comp}. +\end{itemize} +\IfFileExists{Union_abs_logger_1D_space_tof_static.tex}{\input{Union_abs_logger_1D_space_tof_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_abs_logger_1D_space_tof_to_lambda.tex b/docs/manuals/mcstas/union/Union_abs_logger_1D_space_tof_to_lambda.tex new file mode 100644 index 0000000000..13c7b70633 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_abs_logger_1D_space_tof_to_lambda.tex @@ -0,0 +1,117 @@ +\section{The \texttt{Union\_abs\_logger\_1D\_space\_tof\_to\_lambda} McStas Component} +A logger of absorption along 1D of space and 1D of tof, but converted to lambda + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} ESS DMSC + \item \textbf{Date:} 19.06.20 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +A absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger records the absorbed intensity as a function of the +measured and true wavelength. The measured wavelength is calculated from +the time of flight and distance travelled. This distance is a constant from +source to sample added to the distance from the sample position to the +detector pixel in which the event is detected. The true wavelength is +calculated directly from the velocity. This information shows any error in +conversion from tof to wavelength, especially from any added travelled +distance from multiple scattering. + +The lambda_min, max and bin parameters are used to set both the range for +measured and true wavelength. If either of these, denoted lambda_m and +lambda_t respectively, is set they will overwrite the lambda setting for +that part. Sine most data will be along the line lambda_m = lambda_t, it +is possible to record lambda_m / lambda_t as a function of lambda_t, which +will be close to 1.0. This mode is selected by setting relative_measured +to 1, and then the range can be selected with relative_min, max and bins. + +This absorption logger needs to be placed in space, the position is recorded in +the coordinate system of the logger component. Note the detection is along the +y axis of the component, so it is natural to place it relative to a cylinder. + +This component works as other absorption loggers, but converts the tof and +position data to wavelength, which is then compared to the actual wavelength +calculated from the neutron state. The neutron position used to calculate +the wavelength is pixelated while the time of flight is continous. The +distance from source to sample is an input parameter, and the distance from +sample to a detector pixel is calculated using the reference component position +which should be specified with a relative component index. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +\textbf{ref\_component} & 1 & Reference component instance index, sample position for distance calculation & \\ +\textbf{yheight} & m & Height of absorption logger & \\ +\textbf{yn} & 1 & Number of bins along y axis & \\ +source\_sample\_dist & m & Travel distance between source and sample position, used to calculate total travelled distance & 0.0 \\ +lambda\_min & AA & Minimum wavelength recorded (sets both lambda\_m\_min and lambda\_t\_min) & -1 \\ +lambda\_max & AA & Maximum wavelength recorded (sets both lambda\_m\_max and lambda\_t\_max) & -1 \\ +lambda\_bins & 1 & Number of wavelength bins & -1 \\ +lambda\_m\_min & AA & Minimum measured wavelength recorded from tof and travelled distance (overwrites lambda\_min) & -1 \\ +lambda\_m\_max & AA & Maximum measured wavelength recorded from tof and travelled distance (overwrites lambda\_max) & -1 \\ +lambda\_m\_bins & 1 & Number of measured wavelength bins & -1 \\ +lambda\_t\_min & AA & Minimum true wavelength recorded from tof and travelled distance (overwrites lambda\_min) & -1 \\ +lambda\_t\_max & AA & Maximum true wavelength recorded from tof and travelled distance (overwrites lambda\_max) & -1 \\ +lambda\_t\_bins & 1 & Number of true wavelength bins & -1 \\ +relative\_measured & 1 & Default 0, records measured as function of true wavelength, if this is enabled, records measured relative to true wavelength & 0 \\ +relative\_min & 1 & Smallest value of measured / true wavelength in histogram & 0.5 \\ +relative\_max & 1 & Largest value of measured / true wavelength in histogram & 1.5 \\ +relative\_bins & 1 & Number of bins on histogram axis with measured divided by true wavelength & 100 \\ +filename & string & Filename of produced data file & "NULL" \\ +order\_total & 1 & Only log rays that have scattered n times, -1 for all orders & -1 \\ +order\_volume & 1 & Only log rays that have scattered n times in the same geometry, -1 for all orders & -1 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then access logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_abs_logger_1D_space_tof_to_lambda.comp}{Source code} for \texttt{Union\_abs\_logger\_1D\_space\_tof\_to\_lambda.comp}. +\end{itemize} +\IfFileExists{Union_abs_logger_1D_space_tof_to_lambda_static.tex}{\input{Union_abs_logger_1D_space_tof_to_lambda_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_abs_logger_1D_time.tex b/docs/manuals/mcstas/union/Union_abs_logger_1D_time.tex new file mode 100644 index 0000000000..62e43a775c --- /dev/null +++ b/docs/manuals/mcstas/union/Union_abs_logger_1D_time.tex @@ -0,0 +1,84 @@ +\section{The \texttt{Union\_abs\_logger\_1D\_time} McStas Component} +Logger of absorption along 1D time + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} ESS DMSC + \item \textbf{Date:} 19.06.20 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +A absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger stores the absorbed weight as a function of height +in a histogram. It is expected this abs logger will often be attached to a +cylindrical geometry, and so if the abs logger has the same position and +orientation it will measure absorption along the axis of symmetry. This +makes it easy to create simple tubes, and it is even possible to include +the detector casing and similar to improve the realism of the simulation. + +This absorption logger needs to be placed in space, the position is recorded in +the coordinate system of the logger component. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +time\_min & s & time at start of recording & 0 \\ +\textbf{time\_max} & s & Maximum time to log & \\ +n & 1 & number of bins along y & 100 \\ +filename & string & Filename of produced data file & "NULL" \\ +order\_total & 1 & Only log rays that have scattered n times, -1 for all orders & -1 \\ +order\_volume & 1 & Only log rays that have scattered n times in the same geometry, -1 for all orders & -1 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then access logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_abs_logger_1D_time.comp}{Source code} for \texttt{Union\_abs\_logger\_1D\_time.comp}. +\end{itemize} +\IfFileExists{Union_abs_logger_1D_time_static.tex}{\input{Union_abs_logger_1D_time_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_abs_logger_2D_space.tex b/docs/manuals/mcstas/union/Union_abs_logger_2D_space.tex new file mode 100644 index 0000000000..a539fb4548 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_abs_logger_2D_space.tex @@ -0,0 +1,93 @@ +\section{The \texttt{Union\_abs\_logger\_2D\_space} McStas Component} +Logger of absorption along two dimensions of space + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} ESS DMSC + \item \textbf{Date:} 19.06.20 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +A absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger stores the absorbed weight in a histogram spanning two +spatial directions. The position of the event is projected onto this plane. +The plotted data is very useful when ensuring the simulated geometry matches +the intentions. It is not recommended to use this tool for safety concerns, +as for example to estimate activity of a sample after irradiation. + +The spatial plane in which the histogram is performed are chosen with the +D_direction_1 and D_direction_2 parameters which can be "x", "y" or "z". +The D1_min and D1_max parameters sets the limits for the first axis, and +D2_min / D2_max likewise for the second axis. + +This absorption logger needs to be placed in space, the position is recorded in +the coordinate system of the logger component. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +D\_direction\_1 & string & Direction for first axis ("x", "y" or "z") & "x" \\ +D1\_min & m & Histogram boundary, min position value for first axis & -0.2 \\ +D1\_max & m & Histogram boundary, max position value for first axis & 5 \\ +n1 & 1 & Number of bins for first axis & 0.2 \\ +D\_direction\_2 & string & Direction for second axis ("x", "y" or "z") & "z" \\ +D2\_min & m & Histogram boundary, min position value for second axis & -0.2 \\ +D2\_max & m & Histogram boundary, max position value for second axis & 5 \\ +n2 & 1 & Number of bins for second axis & 0.2 \\ +filename & string & Filename of produced data file & "NULL" \\ +order\_total & 1 & Only log rays that have scattered n times, -1 for all orders & -1 \\ +order\_volume & 1 & Only log rays that have scattered n times in the same geometry, -1 for all orders & -1 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then access logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_abs_logger_2D_space.comp}{Source code} for \texttt{Union\_abs\_logger\_2D\_space.comp}. +\end{itemize} +\IfFileExists{Union_abs_logger_2D_space_static.tex}{\input{Union_abs_logger_2D_space_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_abs_logger_event.tex b/docs/manuals/mcstas/union/Union_abs_logger_event.tex new file mode 100644 index 0000000000..1915177749 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_abs_logger_event.tex @@ -0,0 +1,83 @@ +\section{The \texttt{Union\_abs\_logger\_event} McStas Component} +A logger of absorption as events + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} ESS DMSC + \item \textbf{Date:} 19.06.20 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +A absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger stores absorption as events, with position, velocity, +time and weight. The Monitor_nD libraries are used to write the event files. + +This absorption logger needs to be placed in space, the position and velocity +is recorded in the coordinate system of the logger component. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +filename & string & Filename of produced data file & "NULL" \\ +xwidth & m & Width in x direction & 0 \\ +xbins & 1 & Number of bins in x direction & 0 \\ +yheight & m & Height in y direction & 0 \\ +ybins & 1 & Number of bins in y direction & 0 \\ +zdepth & m & Depth in z direction & 0 \\ +zbins & 1 & Number of bins in z direction & 0 \\ +order\_total & 1 & Only log rays that have scattered n times, -1 for all orders & -1 \\ +order\_volume & 1 & Only log rays that have scattered n times in the same geometry, -1 for all orders & -1 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then access logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_abs_logger_event.comp}{Source code} for \texttt{Union\_abs\_logger\_event.comp}. +\end{itemize} +\IfFileExists{Union_abs_logger_event_static.tex}{\input{Union_abs_logger_event_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_abs_logger_nD.tex b/docs/manuals/mcstas/union/Union_abs_logger_nD.tex new file mode 100644 index 0000000000..6952c51946 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_abs_logger_nD.tex @@ -0,0 +1,107 @@ +\section{The \texttt{Union\_abs\_logger\_nD} McStas Component} +A logger of absorption as events with Monitor\_nD options + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} ESS DMSC + \item \textbf{Date:} 19.06.20 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +An absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger stores absorption as events, with position, velocity, +time and weight. The Monitor_nD libraries are used to write the event files. +This version is a close copy of Monitor_nD, having the same interface, though +the user must be aware that no propagation happens for rays to hit the +detector pixels, instead it uses the position of absorbed. Use the previous +keyword to tell Monitor_nD that this is going on. It still needs values set +for xwidth and yheight, even though these will not be used. + +This absorption logger needs to be placed in space, the position and velocity +is recorded in the coordinate system of the logger component. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +order\_total & 1 & Only log rays that have scattered n times, -1 for all orders & -1 \\ +order\_volume & 1 & Only log rays that have scattered n times in the same geometry, -1 for all orders & -1 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then access logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +user1 & str & Variable name of USERVAR to be monitored by user1. & "" \\ +user2 & str & Variable name of USERVAR to be monitored by user2. & "" \\ +user3 & str & Variable name of USERVAR to be monitored by user3. & "" \\ +xwidth & m & Width of detector. & 0 \\ +yheight & m & Height of detector. & 0 \\ +zdepth & m & Thickness of detector (z). & 0 \\ +xmin & m & Lower x bound of opening & 0 \\ +xmax & m & Upper x bound of opening & 0 \\ +ymin & m & Lower y bound of opening & 0 \\ +ymax & m & Upper y bound of opening & 0 \\ +zmin & m & Lower z bound of opening & 0 \\ +zmax & m & Upper z bound of opening & 0 \\ +bins & 1 & Number of bins to force for all variables. Use 'bins' keyword in 'options' for heterogeneous bins & 0 \\ +min & u & Minimum range value to force for all variables. Use 'min' or 'limits' keyword in 'options' for other limits & -1e40 \\ +max & u & Maximum range value to force for all variables. Use 'max' or 'limits' keyword in 'options' for other limits & 1e40 \\ +restore\_neutron & 0|1 & Not functional for Union version & 0 \\ +radius & m & Radius of sphere/banana shape monitor & 0 \\ +options & str & String that specifies the configuration of the monitor. The general syntax is "[x] options..." (see \textless{}b\textgreater{}Descr.\textless{}/b\textgreater{}). & "NULL" \\ +filename & str & Output file name (overrides file=XX option). & "NULL" \\ +geometry & str & Name of an OFF file to specify a complex geometry detector & "NULL" \\ +nowritefile & 1 & Not functional for Union version & 0 \\ +nexus\_bins & 1 & NeXus mode only: store component BIN information \textless{}br\textgreater{}(-1 disable, 0 enable for list mode monitor, 1 enable for any montor) & 0 \\ +username1 & str & Name assigned to User1 & "NULL" \\ +username2 & str & Name assigned to User2 & "NULL" \\ +username3 & str & Name assigned to User3 & "NULL" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_abs_logger_nD.comp}{Source code} for \texttt{Union\_abs\_logger\_nD.comp}. + \item See also \textless{}a href="../monitors/Monitor\_nD.html"\textgreater{}the Monitor\_nD mcdoc page"\textless{}/a\textgreater{} +\end{itemize} +\IfFileExists{Union_abs_logger_nD_static.tex}{\input{Union_abs_logger_nD_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_box.tex b/docs/manuals/mcstas/union/Union_box.tex new file mode 100644 index 0000000000..a6a9b5931a --- /dev/null +++ b/docs/manuals/mcstas/union/Union_box.tex @@ -0,0 +1,83 @@ +\section{The \texttt{Union\_box} McStas Component} +A box geometry component for the Union components + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union components + +The position of this component is the center of the box, zdepth/2 in each direction. + +It is allowed to overlap components, but it is not allowed to have two +parallel planes that coincides. This will crash the code on run time. + + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +material\_string & string & Material name of this volume, defined using Union\_make\_material & 0 \\ +\textbf{priority} & 1 & Priotiry of the volume (can not be the same as another volume) A high priority is on top of low. & \\ +\textbf{xwidth} & m & Width of the box volume & \\ +\textbf{yheight} & m & Height of the box volume & \\ +\textbf{zdepth} & m & Depth of the box volume & \\ +xwidth2 & m & Optional different width at the +z box face & -1 \\ +yheight2 & m & Optional different height at the +z box face & -1 \\ +visualize & 1 & Set to 0 if you wish to hide this geometry in mcdisplay & 1 \\ +target\_index & string & Focuses on component a component this many steps further in the component sequence & 0 \\ +target\_x & m & X position of target to focus at & 0 \\ +target\_y & m & Y position of target to focus at & 0 \\ +target\_z & m & Z position of target to focus at & 0 \\ +focus\_aw & deg & Horiz. angular dimension of a rectangular area & 0 \\ +focus\_ah & deg & Vert. angular dimension of a rectangular area & 0 \\ +focus\_xw & m & Horiz. dimension of a rectangular area & 0 \\ +focus\_xh & m & Vert. dimension of a rectangular area & 0 \\ +focus\_r & m & Focusing on circle with this radius & 0 \\ +plus\_z\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to +z face of box & 0 \\ +minus\_z\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to -z face of box & 0 \\ +plus\_x\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to +x face of box & 0 \\ +minus\_x\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to -x face of box & 0 \\ +plus\_y\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to +y face of box & 0 \\ +minus\_y\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to -z face of box & 0 \\ +all\_face\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to all faces above & 0 \\ +cut\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to all internal cuts & 0 \\ +p\_interact & 1 & Probability to interact with this geometry [0-1] & 0 \\ +mask\_string & string & Comma seperated list of geometry names which this geometry should mask & 0 \\ +mask\_setting & string & "All" or "Any", should the masked volume be simulated when the ray is in just one mask, or all. & 0 \\ +number\_of\_activations & 1 & Number of subsequent Union\_master components that will simulate this geometry & 1 \\ +init & string & name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_box.comp}{Source code} for \texttt{Union\_box.comp}. +\end{itemize} +\IfFileExists{Union_box_static.tex}{\input{Union_box_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_conditional_PSD.tex b/docs/manuals/mcstas/union/Union_conditional_PSD.tex new file mode 100644 index 0000000000..ab1b508fbc --- /dev/null +++ b/docs/manuals/mcstas/union/Union_conditional_PSD.tex @@ -0,0 +1,73 @@ +\section{The \texttt{Union\_conditional\_PSD} McStas Component} +A conditional component in the shape of an area the neutrons must hit + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union components + +This is a conditional component that affects the loggers in the target_loggers +string. When a logger is affected, it will only record events if the +conditional is true at the end of the simulation of a ray in the master. +Conditionals can be used to for example limit the loggers to rays that end +within a certain energy range, time interval or similar. + +One can apply several conditionals to each logger if desired. + +In the extend section of a master, the tagging conditional can be acsessed by +the variable name tagging_conditional_extend. Beware, that it only works as +long as the tagging system is active, so you may want to increase the number +of histories allowed by that master component before stopping. + +This conditional is a little special, because it needs to be placed in space. +It's center location is like a psd. + +overwrite_logger_weight can be used to force the loggers this conditional +controls to write the final weight for each scattering event, instead of the +recorded value. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_loggers & string & Comma seperated list of loggers this conditional should affect & "NULL" \\ +master\_tagging & 1 & Apply this conditional to the tagging system in next master & 0 \\ +tagging\_extend\_index & 1 & Not currently used & -1 \\ +\textbf{xwidth} & m & Width of target area & \\ +\textbf{yheight} & m & Height of target area & \\ +time\_min & s & Min time (on psd), if not set ignored & 0 \\ +time\_max & s & Max time (on psd), if not set ignored & 0 \\ +overwrite\_logger\_weight & 1 & Default = 0, overwrite = 1 & 0 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_conditional_PSD.comp}{Source code} for \texttt{Union\_conditional\_PSD.comp}. +\end{itemize} +\IfFileExists{Union_conditional_PSD_static.tex}{\input{Union_conditional_PSD_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_conditional_standard.tex b/docs/manuals/mcstas/union/Union_conditional_standard.tex new file mode 100644 index 0000000000..a42574fff1 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_conditional_standard.tex @@ -0,0 +1,73 @@ +\section{The \texttt{Union\_conditional\_standard} McStas Component} +A conditional component that filter on basic variables of exit state + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This is a conditional component that affects the loggers in the target_loggers +string. When a logger is affected, it will only record events if the +conditional is true at the end of the simulation of a ray in the master. +Conditionals can be used to for example limit the loggers to rays that end +within a certain energy range, time interval or similar. + +One can apply several conditionals to each logger if desired. + +In the extend section of a master, the tagging conditional can be acsessed by +the variable name tagging_conditional_extend. Beware, that it only works as +long as the tagging system is active, so you may want to increase the number +of histories allowed by that master component before stopping. + +overwrite_logger_weight can be used to force the loggers this conditional +controls to write the final weight for each scattering event, instead of the +recorded value. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_loggers & string & Comma seperated list of loggers this conditional should affect & "NULL" \\ +master\_tagging & 1 & Apply this conditional to the tagging system in next master & 0 \\ +tagging\_extend\_index & 1 & Not currently used & -1 \\ +time\_min & s & Min time, if not set ignored & 0 \\ +time\_max & s & Max time, if not set ignored & 0 \\ +E\_min & meV & Max energy, if not set ignored & 0 \\ +E\_max & meV & Min energy, if not set ignored & 0 \\ +total\_order\_min & 1 & Min scattering order, if not set ignored & 0 \\ +total\_order\_max & 1 & Max scattering order, if not set ignored & 0 \\ +last\_volume\_index & 1 & Not used yet & -1 \\ +overwrite\_logger\_weight & 1 & Default = 0, overwrite = 1 & 0 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_conditional_standard.comp}{Source code} for \texttt{Union\_conditional\_standard.comp}. +\end{itemize} +\IfFileExists{Union_conditional_standard_static.tex}{\input{Union_conditional_standard_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_cone.tex b/docs/manuals/mcstas/union/Union_cone.tex new file mode 100644 index 0000000000..84ab628941 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_cone.tex @@ -0,0 +1,76 @@ +\section{The \texttt{Union\_cone} McStas Component} +Cone geometry component for Union components + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Martin Olsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 17.09.18 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +The position of this component is the center of the cone, and it thus +extends yheight/2 up and down along y axis. + +It is allowed to overlap components, but it is not allowed to have two +parallel planes that coincides. This will crash the code on run time. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +material\_string & string & Material name of this volume, defined using Union\_make\_material & 0 \\ +\textbf{priority} & 1 & Priotiry of the volume (can not be the same as another volume) A high priority is on top of low. & \\ +radius & m & Radius volume in (x,z) plane & 0 \\ +radius\_top & m & Top radius volume in (x,z) plane & 0 \\ +radius\_bottom & m & Bottom radius volume in (x,z) plane & 0 \\ +\textbf{yheight} & m & Cone height in (y) direction & \\ +visualize & 1 & Set to 0 if you wish to hide this geometry in mcdisplay & 1 \\ +target\_index & 1 & Focuses on component a component this many steps further in the component sequence & 0 \\ +target\_x & m & X position of target to focus at & 0 \\ +target\_y & m & Y position of target to focus at & 0 \\ +target\_z & m & Z position of target to focus at & 0 \\ +focus\_aw & deg & Horiz. angular dimension of a rectangular area & 0 \\ +focus\_ah & deg & Vert. angular dimension of a rectangular area & 0 \\ +focus\_xw & m & Horiz. dimension of a rectangular area & 0 \\ +focus\_xh & m & Vert. dimension of a rectangular area & 0 \\ +focus\_r & m & Focusing on circle with this radius & 0 \\ +p\_interact & 1 & Probability to interact with this geometry [0-1] & 0 \\ +mask\_string & string & Comma seperated list of geometry names which this geometry should mask & 0 \\ +mask\_setting & string & "All" or "Any", should the masked volume be simulated when the ray is in just one mask, or all. & 0 \\ +number\_of\_activations & 1 & Number of subsequent Union\_master components that will simulate this geometry & 1 \\ +curved\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to curved wall of cone & 0 \\ +top\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to +y top face of cone & 0 \\ +bottom\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to -y bottom face of cone & 0 \\ +all\_face\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to all faces above & 0 \\ +cut\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to all internal cuts & 0 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_cone.comp}{Source code} for \texttt{Union\_cone.comp}. +\end{itemize} +\IfFileExists{Union_cone_static.tex}{\input{Union_cone_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_cylinder.tex b/docs/manuals/mcstas/union/Union_cylinder.tex new file mode 100644 index 0000000000..c1354a15cc --- /dev/null +++ b/docs/manuals/mcstas/union/Union_cylinder.tex @@ -0,0 +1,74 @@ +\section{The \texttt{Union\_cylinder} McStas Component} +Cylinder geometry component for Union components + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +The position of this component is the center of the cylinder, and it thus +extends yheight/2 up and down along y axis. + +It is allowed to overlap components, but it is not allowed to have two +parallel planes that coincides. This will crash the code on run time. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +material\_string & string & Material name of this volume, defined using Union\_make\_material & 0 \\ +\textbf{priority} & 1 & Priotiry of the volume (can not be the same as another volume) A high priority is on top of low. & \\ +\textbf{radius} & m & Outer radius volume in (x,z) plane & \\ +\textbf{yheight} & m & Cylinder height in (y) direction & \\ +visualize & 1 & Set to 0 if you wish to hide this geometry in mcdisplay & 1 \\ +target\_index & 1 & Focuses on component a component this many steps further in the component sequence & 0 \\ +target\_x & m & X Position of target to focus at & 0 \\ +target\_y & m & Y Position of target to focus at & 0 \\ +target\_z & m & Z Position of target to focus at & 0 \\ +focus\_aw & deg & Horiz. angular dimension of a rectangular area & 0 \\ +focus\_ah & deg & Vert. angular dimension of a rectangular area & 0 \\ +focus\_xw & m & Horiz. dimension of a rectangular area & 0 \\ +focus\_xh & m & Vert. dimension of a rectangular area & 0 \\ +focus\_r & m & Focusing on circle with this radius & 0 \\ +p\_interact & 1 & Probability to interact with this geometry [0-1] & 0 \\ +mask\_string & string & Comma seperated list of geometry names which this geometry should mask & 0 \\ +mask\_setting & string & "All" or "Any", should the masked volume be simulated when the ray is in just one mask, or all. & 0 \\ +number\_of\_activations & 1 & Number of subsequent Union\_master components that will simulate this geometry & 1 \\ +curved\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to curved wall of cylinder & 0 \\ +top\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to +y top face of cylinder & 0 \\ +bottom\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to -y bottom face of cylinder & 0 \\ +all\_face\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to all faces above & 0 \\ +cut\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to all internal cuts & 0 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_cylinder.comp}{Source code} for \texttt{Union\_cylinder.comp}. +\end{itemize} +\IfFileExists{Union_cylinder_static.tex}{\input{Union_cylinder_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_init.tex b/docs/manuals/mcstas/union/Union_init.tex new file mode 100644 index 0000000000..bf91daa4df --- /dev/null +++ b/docs/manuals/mcstas/union/Union_init.tex @@ -0,0 +1,47 @@ +\section{The \texttt{Union\_init} McStas Component} +Initialize component that needs to be place before any Union component + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} ESS DMSC + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using this component +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_init.comp}{Source code} for \texttt{Union\_init.comp}. +\end{itemize} +\IfFileExists{Union_init_static.tex}{\input{Union_init_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_logger_1D.tex b/docs/manuals/mcstas/union/Union_logger_1D.tex new file mode 100644 index 0000000000..ba01c65d69 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_logger_1D.tex @@ -0,0 +1,73 @@ +\section{The \texttt{Union\_logger\_1D} McStas Component} +One dimensional Union logger for several possible variables + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This logger in particular is not finished. It is supposed to allow several +different variables to be histogrammed, but currently only time is supported + +A logger will log something for scattering events happening to certain volumes, +which are specified in the target_geometry string. By leaving it blank, all +geometries are logged, even the ones not defined at this point in the +instrument file. If a list og target_geometries is selected, one can further +narrow the events logged by providing a list of process names in target_process +which need to correspond with names of defined Union_process components. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +target\_process & string & Comma seperated names of physical processes, if volumes are selected, one can select Union\_process names & "NULL" \\ +\textbf{min\_value} & 1 & Histogram boundery for logged value & \\ +\textbf{max\_value} & 1 & Histogram boundery for logged value & \\ +n1 & 1 & Number of bins in histogram & 90 \\ +variable & string & Time for time in seconds, q for magnitude of scattering vector in 1/AA. & "time" \\ +filename & string & Filename of produced data file & "NULL" \\ +order\_total & 1 & Only log rays that scatter for the n'th time, 0 for all orders & 0 \\ +order\_volume & 1 & Only log rays that scatter for the n'th time in the same geometry & 0 \\ +order\_volume\_process & 1 & Only log rays that scatter for the n'th time in the same geometry, using the same process & 0 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then acces logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_logger_1D.comp}{Source code} for \texttt{Union\_logger\_1D.comp}. +\end{itemize} +\IfFileExists{Union_logger_1D_static.tex}{\input{Union_logger_1D_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_logger_2DQ.tex b/docs/manuals/mcstas/union/Union_logger_2DQ.tex new file mode 100644 index 0000000000..3ba7e3e3e2 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_logger_2DQ.tex @@ -0,0 +1,76 @@ +\section{The \texttt{Union\_logger\_2DQ} McStas Component} +Two dimensional logger of scattering vector for Union components + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This logger logs a 2D projection of the scattering vector, q in the lab frame. + +A logger will log something for scattering events happening to certain volumes, +which are specified in the target_geometry string. By leaving it blank, all +geometries are logged, even the ones not defined at this point in the +instrument file. If a list og target_geometries is selected, one can further +narrow the events logged by providing a list of process names in target_process +which need to correspond with names of defined Union_process components. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +target\_process & string & Comma seperated names of physical processes, if volumes are selected, one can select Union\_process names & "NULL" \\ +Q\_direction\_1 & string & Q direction for first axis ("x", "y" or "z") & "x" \\ +Q1\_min & AA\textasciicircum{}-1 & Histogram boundery, min q value for first axis & -5 \\ +Q1\_max & AA\textasciicircum{}-1 & Histogram boundery, max q value for first axis & 5 \\ +n1 & 1 & Number of bins for first axis & 90 \\ +Q\_direction\_2 & string & Q direction for second axis ("x", "y" or "z") & "z" \\ +Q2\_min & AA\textasciicircum{}-1 & Histogram boundery, min q value for second axis & -5 \\ +Q2\_max & AA\textasciicircum{}-1 & Histogram boundery, max q value for second axis & 5 \\ +n2 & 1 & Number of bins for second axis & 90 \\ +filename & string & Filename of produced data file & "NULL" \\ +order\_total & 1 & Only log rays that scatter for the n'th time, 0 for all orders & 0 \\ +order\_volume & 1 & Only log rays that scatter for the n'th time in the same geometry & 0 \\ +order\_volume\_process & 1 & Only log rays that scatter for the n'th time in the same geometry, uwsing the same process & 0 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then acces logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_logger_2DQ.comp}{Source code} for \texttt{Union\_logger\_2DQ.comp}. +\end{itemize} +\IfFileExists{Union_logger_2DQ_static.tex}{\input{Union_logger_2DQ_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_logger_2D_kf.tex b/docs/manuals/mcstas/union/Union_logger_2D_kf.tex new file mode 100644 index 0000000000..11723b88c4 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_logger_2D_kf.tex @@ -0,0 +1,77 @@ +\section{The \texttt{Union\_logger\_2D\_kf} McStas Component} +Two dimensional logger of final wavevector for Union components + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This logger logs a 2D projection of the final wavevector after each scattering +in the lab frame. + +A logger will log something for scattering events happening to certain volumes, +which are specified in the target_geometry string. By leaving it blank, all +geometries are logged, even the ones not defined at this point in the +instrument file. If a list og target_geometries is selected, one can further +narrow the events logged by providing a list of process names in target_process +which need to correspond with names of defined Union_process components. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +target\_process & string & Comma seperated names of physical processes, if volumes are selected, one can select Union\_process names & "NULL" \\ +Q1\_min & AA\textasciicircum{}-1 & Histogram boundery, min kf value for first axis & -5 \\ +Q1\_max & AA\textasciicircum{}-1 & Histogram boundery, max kf value for first axis & 5 \\ +Q2\_min & AA\textasciicircum{}-1 & Histogram boundery, min kf value for second axis & -5 \\ +Q2\_max & AA\textasciicircum{}-1 & Histogram boundery, max kf value for second axis & 5 \\ +Q\_direction\_1 & string & kf direction for first axis ("x", "y" or "z") & "x" \\ +Q\_direction\_2 & string & kf direction for second axis ("x", "y" or "z") & "z" \\ +filename & string & Filename of produced data file & "NULL" \\ +n1 & 1 & Number of bins for first axis & 90 \\ +n2 & 1 & Number of bins for second axis & 90 \\ +order\_total & 1 & Only log rays that scatter for the n'th time, 0 for all orders & 0 \\ +order\_volume & 1 & Only log rays that scatter for the n'th time in the same geometry & 0 \\ +order\_volume\_process & 1 & Only log rays that scatter for the n'th time in the same geometry, using the same process & 0 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then acces logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_logger_2D_kf.comp}{Source code} for \texttt{Union\_logger\_2D\_kf.comp}. +\end{itemize} +\IfFileExists{Union_logger_2D_kf_static.tex}{\input{Union_logger_2D_kf_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_logger_2D_kf_time.tex b/docs/manuals/mcstas/union/Union_logger_2D_kf_time.tex new file mode 100644 index 0000000000..f8c7a7df45 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_logger_2D_kf_time.tex @@ -0,0 +1,81 @@ +\section{The \texttt{Union\_logger\_2D\_kf\_time} McStas Component} +Two dimensional logger of wavevector for a range of time bins + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This logger logs a 2D projection of the final wavevector after each scattering +in the lab frame. It will do so for a number of time_bins, making it possible +to make a animation, but beware of memory / diskspace requirements. + +A logger will log something for scattering events happening to certain volumes, +which are specified in the target_geometry string. By leaving it blank, all +geometries are logged, even the ones not defined at this point in the +instrument file. If a list og target_geometries is selected, one can further +narrow the events logged by providing a list of process names in target_process +which need to correspond with names of defined Union_process components. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +target\_process & string & Comma seperated names of physical processes, if volumes are selected, one can select Union\_process names & "NULL" \\ +Q1\_min & A\textasciicircum{}-1 & Histogram boundery, min kf value for first axis & -5 \\ +Q1\_max & A\textasciicircum{}-1 & Histogram boundery, max kf value for first axis & 5 \\ +Q2\_min & A\textasciicircum{}-1 & Histogram boundery, min kf value for second axis & -5 \\ +Q2\_max & A\textasciicircum{}-1 & Histogram boundery, max kf value for second axis & 5 \\ +time\_min & s & Minimum time & 0 \\ +time\_max & s & Maximum time & 1 \\ +Q\_direction\_1 & string & kf direction for first axis ("x", "y" or "z") & "x" \\ +Q\_direction\_2 & string & kf direction for second axis ("x", "y" or "z") & "z" \\ +filename & string & Filename of produced data file & "NULL" \\ +n1 & 1 & Number of bins for first axis & 90 \\ +n2 & 1 & Number of bins for second axis & 90 \\ +time\_bins & 1 & Number of time bins & 10 \\ +order\_total & 1 & Only log rays that scatter for the n'th time, 0 for all orders & 0 \\ +order\_volume & 1 & Only log rays that scatter for the n'th time in the same geometry & 0 \\ +order\_volume\_process & 1 & Only log rays that scatter for the n'th time in the same geometry, using the same process & 0 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then acces logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_logger_2D_kf_time.comp}{Source code} for \texttt{Union\_logger\_2D\_kf\_time.comp}. +\end{itemize} +\IfFileExists{Union_logger_2D_kf_time_static.tex}{\input{Union_logger_2D_kf_time_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_logger_2D_space.tex b/docs/manuals/mcstas/union/Union_logger_2D_space.tex new file mode 100644 index 0000000000..b9ea78cc08 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_logger_2D_space.tex @@ -0,0 +1,78 @@ +\section{The \texttt{Union\_logger\_2D\_space} McStas Component} +Two dimensional spatial logger for the Union components + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This logger logs a 2D projection of the position of each scattering in the lab frame. + +This logger needs to be placed in space, the position is the center of the histogram. + +A logger will log something for scattering events happening to certain volumes, +which are specified in the target_geometry string. By leaving it blank, all +geometries are logged, even the ones not defined at this point in the +instrument file. If a list og target_geometries is selected, one can further +narrow the events logged by providing a list of process names in target_process +which need to correspond with names of defined Union_process components. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +target\_process & string & Comma seperated names of physical processes, if volumes are selected, one can select Union\_process names & "NULL" \\ +D\_direction\_1 & string & Direction for first axis ("x", "y" or "z") & "x" \\ +D1\_min & m & Histogram boundery, min position value for first axis & -5 \\ +D1\_max & m & Histogram boundery, max position value for first axis & 5 \\ +n1 & 1 & Number of bins for first axis & 90 \\ +D\_direction\_2 & string & Direction for second axis ("x", "y" or "z") & "z" \\ +D2\_min & m & Histogram boundery, min position value for second axis & -5 \\ +D2\_max & m & Histogram boundery, max position value for second axis & 5 \\ +n2 & 1 & Number of bins for second axis & 90 \\ +filename & string & Filename of produced data file & "NULL" \\ +order\_total & 1 & Only log rays that scatter for the n'th time, 0 for all orders & 0 \\ +order\_volume & 1 & Only log rays that scatter for the n'th time in the same geometry & 0 \\ +order\_volume\_process & 1 & Only log rays that scatter for the n'th time in the same geometry, using the same process & 0 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then acces logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_logger_2D_space.comp}{Source code} for \texttt{Union\_logger\_2D\_space.comp}. +\end{itemize} +\IfFileExists{Union_logger_2D_space_static.tex}{\input{Union_logger_2D_space_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_logger_2D_space_time.tex b/docs/manuals/mcstas/union/Union_logger_2D_space_time.tex new file mode 100644 index 0000000000..88d45e88f6 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_logger_2D_space_time.tex @@ -0,0 +1,81 @@ +\section{The \texttt{Union\_logger\_2D\_space\_time} McStas Component} +Two dimensional spatail logger for a number of time bins + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This logger logs a 2D projection of the position of each scattering in the lab +frame. Using the time_bins one can select to get this project for different +time slots, effectively making a small animation of what happens. + +A logger will log something for scattering events happening to certain volumes, +which are specified in the target_geometry string. By leaving it blank, all +geometries are logged, even the ones not defined at this point in the +instrument file. If a list og target_geometries is selected, one can further +narrow the events logged by providing a list of process names in target_process +which need to correspond with names of defined Union_process components. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +target\_process & string & Comma seperated names of physical processes, if volumes are selected, one can select Union\_process names & "NULL" \\ +D1\_min & m & Histogram boundery, min position value for first axis & -5 \\ +D1\_max & m & Histogram boundery, max position value for first axis & 5 \\ +D2\_min & m & Histogram boundery, min position value for second axis & -5 \\ +D2\_max & m & Histogram boundery, max position value for second axis & 5 \\ +time\_min & s & Minimum time & 0 \\ +time\_max & s & Maximum time & 1 \\ +D\_direction\_1 & string & Direction for first axis ("x", "y" or "z") & "x" \\ +D\_direction\_2 & string & Direction for second axis ("x", "y" or "z") & "z" \\ +filename & string & Filename of produced data file & "NULL" \\ +n1 & 1 & Number of bins for first axis & 90 \\ +n2 & 1 & Number of bins for second axis & 90 \\ +time\_bins & 1 & Number of time bins & 10 \\ +order\_total & 1 & Only log rays that scatter for the n'th time, 0 for all orders & 0 \\ +order\_volume & 1 & Only log rays that scatter for the n'th time in the same geometry & 0 \\ +order\_volume\_process & 1 & Only log rays that scatter for the n'th time in the same geometry, using the same process & 0 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then acces logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_logger_2D_space_time.comp}{Source code} for \texttt{Union\_logger\_2D\_space\_time.comp}. +\end{itemize} +\IfFileExists{Union_logger_2D_space_time_static.tex}{\input{Union_logger_2D_space_time_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_logger_3D_space.tex b/docs/manuals/mcstas/union/Union_logger_3D_space.tex new file mode 100644 index 0000000000..7ac9d4d437 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_logger_3D_space.tex @@ -0,0 +1,82 @@ +\section{The \texttt{Union\_logger\_3D\_space} McStas Component} +Three dimensional logger for spatial dimensions + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This logger logs a 2D projection of the position of each scattering in the lab +frame. It does this in n3 space slices, so one can get a full 3D histogram of +scattering positions. + +A logger will log something for scattering events happening to certain volumes, +which are specified in the target_geometry string. By leaving it blank, all +geometries are logged, even the ones not defined at this point in the +instrument file. If a list og target_geometries is selected, one can further +narrow the events logged by providing a list of process names in target_process +which need to correspond with names of defined Union_process components. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +target\_geometry & string & Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) & "NULL" \\ +target\_process & string & Comma seperated names of physical processes, if volumes are selected, one can select Union\_process names & "NULL" \\ +D1\_min & m & histogram boundery, min position value for first axis & -1 \\ +D1\_max & m & histogram boundery, max position value for first axis & 1 \\ +D2\_min & m & histogram boundery, min position value for second axis & -1 \\ +D2\_max & m & histogram boundery, max position value for second axis & 1 \\ +D3\_min & m & histogram boundery, min position value for third axis & -1 \\ +D3\_max & m & histogram boundery, max position value for third axis & 1 \\ +D\_direction\_1 & string & Direction for first axis ("x", "y" or "z") & "x" \\ +D\_direction\_2 & string & Direction for second axis ("x", "y" or "z") & "z" \\ +D\_direction\_3 & string & Direction for second axis ("x", "y" or "z") & "z" \\ +filename & string & Filename of produced data file & "NULL" \\ +n1 & 1 & number of bins for first axis & 90 \\ +n2 & 1 & number of bins for second axis & 90 \\ +n3 & 1 & number of bins for third axis & 10 \\ +order\_total & 1 & Only log rays that scatter for the n'th time, 0 for all orders & 0 \\ +order\_volume & 1 & Only log rays that scatter for the n'th time in the same geometry & 0 \\ +order\_volume\_process & 1 & Only log rays that scatter for the n'th time in the same geometry, using the same process & 0 \\ +logger\_conditional\_extend\_index & 1 & If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger\_conditional\_extend", and one would then acces logger\_conditional\_extend[n] if logger\_conditional\_extend\_index is set to n & -1 \\ +init & string & name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_logger_3D_space.comp}{Source code} for \texttt{Union\_logger\_3D\_space.comp}. +\end{itemize} +\IfFileExists{Union_logger_3D_space_static.tex}{\input{Union_logger_3D_space_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_make_material.tex b/docs/manuals/mcstas/union/Union_make_material.tex new file mode 100644 index 0000000000..33f62fcf55 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_make_material.tex @@ -0,0 +1,55 @@ +\section{The \texttt{Union\_make\_material} McStas Component} +Component that takes a number of Union processes and constructs a Union material + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using this component +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +process\_string & string & Comma seperated names of physical processes & "NULL" \\ +\textbf{my\_absorption} & 1/m & Inverse penetration depth from absorption at standard energy & \\ +absorber & 0/1 & Control parameter, if set to 1 the material will have no scattering processes & 0 \\ +refraction\_density & g/cm3 & Density of the refracting material. density \textless{} 0 means the material is outside/before the shape. & 0 \\ +refraction\_sigma\_coh & barn & Coherent cross section of refracting material. Use negative value to indicate a negative coherent scattering length & 0 \\ +refraction\_weight & g/mol & Molar mass of the refracting material & 0 \\ +refraction\_SLD & AA\textasciicircum{}-2 & Scattering length density of material (overwrites sigma\_coh, density and weight) & -1500 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_make_material.comp}{Source code} for \texttt{Union\_make\_material.comp}. +\end{itemize} +\IfFileExists{Union_make_material_static.tex}{\input{Union_make_material_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_master.tex b/docs/manuals/mcstas/union/Union_master.tex new file mode 100644 index 0000000000..02c63793e5 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_master.tex @@ -0,0 +1,59 @@ +\section{The \texttt{Union\_master} McStas Component} +Master component for Union components that performs the overall simulation + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) This master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +enable\_refraction & 0/1 & Toggles refraction effects, simulated for all materials that have refraction parameters set & 1 \\ +enable\_reflection & 0/1 & Toggles reflection effects, simulated for all materials that have refraction parameters set & 1 \\ +verbal & 0/1 & Toogles printing information loaded during initialize & 0 \\ +list\_verbal & 0/1 & Toogles information of all internal lists in intersection network & 0 \\ +finally\_verbal & 0/1 & Toogles information about cleanup performed in finally section & 0 \\ +allow\_inside\_start & 0/1 & Set to 1 if rays are expected to start inside a volume in this master & 0 \\ +enable\_tagging & 0/1 & Enable tagging of ray history (geometry, scattering process) & 0 \\ +history\_limit & 1 & Limit the number of unique histories that are saved & 300000 \\ +enable\_conditionals & 0/1 & Use conditionals with this master & 1 \\ +inherit\_number\_of\_scattering\_events & 0/1 & Inherit the number of scattering events from last master & 0 \\ +weight\_ratio\_limit & 1 & Limit on the ratio between initial weight and current, ray absorbed if ratio becomes lower than limit & 1e-90 \\ +init & string & Name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_master.comp}{Source code} for \texttt{Union\_master.comp}. +\end{itemize} +\IfFileExists{Union_master_static.tex}{\input{Union_master_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_master_GPU.tex b/docs/manuals/mcstas/union/Union_master_GPU.tex new file mode 100644 index 0000000000..259d0d292e --- /dev/null +++ b/docs/manuals/mcstas/union/Union_master_GPU.tex @@ -0,0 +1,56 @@ +\section{The \texttt{Union\_master\_GPU} McStas Component} +Master component for Union components that performs the overall simulation + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) This master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +verbal & 0/1 & Toogles terminal output describing the defined simulation & 1 \\ +list\_verbal & 0/1 & Toogles information of all internal lists in intersection network & 0 \\ +finally\_verbal & 0/1 & Toogles information about cleanup performed in finally section & 0 \\ +allow\_inside\_start & 0/1 & Set to 1 if rays are expected to start inside a volume in this master & 0 \\ +enable\_tagging & 0/1 & Enable tagging of ray history (geometry, scattering process) & 0 \\ +history\_limit & 1 & Limit the number of unique histories that are saved & 300000 \\ +enable\_conditionals & 0/1 & Use conditionals with this master & 1 \\ +inherit\_number\_of\_scattering\_events & 0/1 & Inherit the number of scattering events from last master & 0 \\ +init & & & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_master_GPU.comp}{Source code} for \texttt{Union\_master\_GPU.comp}. +\end{itemize} +\IfFileExists{Union_master_GPU_static.tex}{\input{Union_master_GPU_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_mesh.tex b/docs/manuals/mcstas/union/Union_mesh.tex new file mode 100644 index 0000000000..9f5652a43f --- /dev/null +++ b/docs/manuals/mcstas/union/Union_mesh.tex @@ -0,0 +1,80 @@ +\section{The \texttt{Union\_mesh} McStas Component} +Component for including 3D mesh in Union geometry + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Martin Olsen, and expanded upon by Daniel Lomholt Christensen + \item \textbf{Origin:} University of Copenhagen / ACTNXT project + \item \textbf{Date:} 17.09.18 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere/mesh, assigned a material +4) A Union_master component placed after all the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +The mesh component loads a 3D off or stl files as the geometry. +The mesh geometry that is loaded must be a watertight mesh. +In order to check this, the component implements a simple Euler Pointcare value, +To check if the given geometry is watertight. This check is sometimes too rigid, +so a user can set the skip_convex_check parameter in order to not have this +check performed. + + +If you load an off file, we currently only support rank 3 polygons, i.e +triangular meshes. + +It is allowed to overlap components, but it is not allowed to have two +parallel planes that coincides. This will crash the code on run time. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +filename & str & Name of file that contains the 3D geometry. Can be either .OFF, .off, .STL, or .stl & 0 \\ +material\_string & string & material name of this volume, defined using Union\_make\_material & 0 \\ +\textbf{priority} & 1 & priotiry of the volume (can not be the same as another volume) A high priority is on top of low. & \\ +visualize & 1 & set to 0 if you wish to hide this geometry in mcdisplay & 1 \\ +all\_surfaces & & & 0 \\ +cut\_surface & & & 0 \\ +target\_index & 1 & Focuses on component a component this many steps further in the component sequence & 0 \\ +target\_x & m & & 0 \\ +target\_y & m & Position of target to focus at & 0 \\ +target\_z & m & & 0 \\ +focus\_aw & deg & horiz. angular dimension of a rectangular area & 0 \\ +focus\_ah & deg & vert. angular dimension of a rectangular area & 0 \\ +focus\_xw & m & horiz. dimension of a rectangular area & 0 \\ +focus\_xh & m & vert. dimension of a rectangular area & 0 \\ +focus\_r & m & focusing on circle with this radius & 0 \\ +p\_interact & 1 & probability to interact with this geometry [0-1] & 0 \\ +mask\_string & string & Comma seperated list of geometry names which this geometry should mask & 0 \\ +mask\_setting & string & "All" or "Any", should the masked volume be simulated when the ray is in just one mask, or all. & 0 \\ +number\_of\_activations & 1 & Number of subsequent Union\_master components that will simulate this geometry & 1 \\ +skip\_convex\_check & 1 & when set to 1, skips the check for whether input .off file is convex. & 0 \\ +coordinate\_scale & 1e-3 & Multiplier that the vertex positions are multiplied by. Set to 1 for input coordinates in meters. Set to 1e-3 for input coordinates in mm. & 1e-3 \\ +init & string & name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_mesh.comp}{Source code} for \texttt{Union\_mesh.comp}. +\end{itemize} +\IfFileExists{Union_mesh_static.tex}{\input{Union_mesh_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_sphere.tex b/docs/manuals/mcstas/union/Union_sphere.tex new file mode 100644 index 0000000000..f0f2eb61c1 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_sphere.tex @@ -0,0 +1,69 @@ +\section{The \texttt{Union\_sphere} McStas Component} +Sphere geometry component for the Union components + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union components + +The position of this component is the center of the sphere + +It is allowed to overlap components, but it is not allowed to have two +parallel planes that coincides. This will crash the code on run time. +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +material\_string & string & material name of this volume, defined using Union\_make\_material & 0 \\ +\textbf{priority} & 1 & priotiry of the volume (can not be the same as another volume) A high priority is on top of low. & \\ +\textbf{radius} & m & Radius of sphere & \\ +visualize & 1 & set to 0 if you wish to hide this geometry in mcdisplay & 1 \\ +target\_index & 1 & Focuses on component a component this many steps further in the component sequence & 0 \\ +target\_x & m & X position of target to focus at & 0 \\ +target\_y & m & Y position of target to focus at & 0 \\ +target\_z & m & Z position of target to focus at & 0 \\ +focus\_aw & deg & horiz. angular dimension of a rectangular area & 0 \\ +focus\_ah & deg & vert. angular dimension of a rectangular area & 0 \\ +focus\_xw & m & horiz. dimension of a rectangular area & 0 \\ +focus\_xh & m & vert. dimension of a rectangular area & 0 \\ +focus\_r & m & focusing on circle with this radius & 0 \\ +p\_interact & 1 & probability to interact with this geometry [0-1] & 0 \\ +mask\_string & string & Comma seperated list of geometry names which this geometry should mask & 0 \\ +mask\_setting & string & "All" or "Any", should the masked volume be simulated when the ray is in just one mask, or all. & 0 \\ +number\_of\_activations & 1 & Number of subsequent Union\_master components that will simulate this geometry & 1 \\ +surface & string & Comma seperated string of Union surface definitions defined prior to this component & 0 \\ +cut\_surface & string & Comma seperated string of Union surface definitions defined prior to this component, applied to all internal cuts & 0 \\ +init & string & name of Union\_init component (typically "init", default) & "init" \\ +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_sphere.comp}{Source code} for \texttt{Union\_sphere.comp}. +\end{itemize} +\IfFileExists{Union_sphere_static.tex}{\input{Union_sphere_static.tex}}{} \ No newline at end of file diff --git a/docs/manuals/mcstas/union/Union_stop.tex b/docs/manuals/mcstas/union/Union_stop.tex new file mode 100644 index 0000000000..e0f37eb6a5 --- /dev/null +++ b/docs/manuals/mcstas/union/Union_stop.tex @@ -0,0 +1,47 @@ +\section{The \texttt{Union\_stop} McStas Component} +Stop component that must be placed after all Union components for instrument to compile correctly + +\subsection*{Identification} +\begin{itemize} + \item \textbf{Site:} + \item \textbf{Author:} Mads Bertelsen + \item \textbf{Origin:} University of Copenhagen + \item \textbf{Date:} 20.08.15 +\end{itemize} + +\subsection*{Description} +\begin{lstlisting} +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using this component +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +\end{lstlisting} + +\subsection*{Input parameters} +Parameters in \textbf{boldface} are required; the others are optional. + +\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}} +\toprule +\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\ +\midrule +\endhead +\bottomrule +\end{longtable} + +\subsection*{Links} +\begin{itemize} + \item \href{run:/home/willend/willend-McCode/mcstas-comps/union/Union_stop.comp}{Source code} for \texttt{Union\_stop.comp}. +\end{itemize} +\IfFileExists{Union_stop_static.tex}{\input{Union_stop_static.tex}}{} \ No newline at end of file diff --git a/mcstas-comps/contrib/Al_window.md b/mcstas-comps/contrib/Al_window.md new file mode 100644 index 0000000000..1af151725a --- /dev/null +++ b/mcstas-comps/contrib/Al_window.md @@ -0,0 +1,37 @@ +# The `Al_window` Component + +*McStas: Aluminium window in the beam* + +## Identification + +- **Site:** +- **Author:** S. Roth +- **Origin:** FRM-II +- **Date:** Jul 31, 2001 + +## Description + +```text +Aluminium window in the beam + +Example: Al_window(thickness=0.002) + +%BUGS +Only handles the absorption, and window has infinite width/height +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| thickness | m | Al Window thickness | 0.001 | + +## Links + +- [Source code](Al_window.comp) for `Al_window.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/CavitiesIn.md b/mcstas-comps/contrib/CavitiesIn.md new file mode 100644 index 0000000000..2094e88971 --- /dev/null +++ b/mcstas-comps/contrib/CavitiesIn.md @@ -0,0 +1,39 @@ +# The `CavitiesIn` Component + +*McStas: Slit - sorting in channels* + +## Identification + +- **Site:** +- **Author:** Henrich Frielinghaus +- **Origin:** JCNS - FZ-Juelich +- **Date:** Oct 2007 + +## Description + +```text +This routine sorts the 'full' neutron beam (given by xw,yw) +in xc,yc channels. These can be imagined as cavities. +CavitiesOut sorts these channels back to normal coordinates. + +Example: Slit(xw=0.05, yw=0.05, xc=4, yc=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xw | m | width in X-dir | 0.05 | +| yw | m | width in Y-dir | 0.05 | +| xc | m | channels in X-dir | 1 | +| yc | m | channels in Y-dir | 1 | + +## Links + +- [Source code](CavitiesIn.comp) for `CavitiesIn.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/CavitiesOut.md b/mcstas-comps/contrib/CavitiesOut.md new file mode 100644 index 0000000000..2a09e4e62a --- /dev/null +++ b/mcstas-comps/contrib/CavitiesOut.md @@ -0,0 +1,39 @@ +# The `CavitiesOut` Component + +*McStas: Slit - sorting in channels* + +## Identification + +- **Site:** +- **Author:** Henrich Frielinghaus +- **Origin:** JCNS - FZ-Juelich +- **Date:** Oct 2007 + +## Description + +```text +This routine sorts the 'full' neutron beam (given by xw,yw) +in xc,yc channels. These can be imagined as cavities. +CavitiesOut sorts these channels back to normal coordinates. + +Example: Slit(xw=0.05, yw=0.05, xc=4, yc=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xw | m | width in X-dir (full width, might be larger for trumpets) | 0.05 | +| yw | m | width in Y-dir (full width, might be larger for trumpets) | 0.05 | +| xc | 1 | Number of x-channels | 1 | +| yc | 1 | Number of y-channels | 1 | + +## Links + +- [Source code](CavitiesOut.comp) for `CavitiesOut.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Collimator_ROC.md b/mcstas-comps/contrib/Collimator_ROC.md new file mode 100644 index 0000000000..643dcf6c49 --- /dev/null +++ b/mcstas-comps/contrib/Collimator_ROC.md @@ -0,0 +1,57 @@ +# The `Collimator_ROC` Component + +*McStas: Radial Oscillationg Collimator (ROC)* + +## Identification + +- **Site:** +- **Author:** Thomas C Hansen +- **Origin:** ILL (Dif/D20) +- **Date:** 15 May 2000 + +## Description + +```text +ESCRIPTION + +This is an implementation of an Ideal radial oscillating collimator, +which is usually placed between a polycrystalline sample and a linear +curved position sensitive detector on a 2-axis diffractometer like D20. +The transfer function has been implemented analytically, as this is +much more efficient than doing Monte-Caqrlo (MC) choices and to absorb +many neutrons on the absorbing blades. The function is basically triangular +(except for rather 'exotic' focuss apertures) and depends on the distance +from the projection of the focus centre to the plane perpendicular to the +collimator planes to the intersection of the same projection of the velocity +vector of the neutron with a line that is perpendicular to it and containing +the same projection of the focus centre. The oscillation is assumed to be +absolutely regular and so shading each angle the same way. All neutrons not +hitting the collimator core will be absorbed. + +Example: Collimator_ROC( +ROC_pitch=5, ROC_ri=0.15, ROC_ro=0.3, ROC_h=0.15, +ROC_ttmin=-25, ROC_ttmax=135, ROC_sign=-1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| ROC_pitch | deg | Angular pitch between the absorbing blades | 1 | +| ROC_ri | m | Inner radius of the collimator | 0.4 | +| ROC_ro | m | Outer radius of the collimator | 1.2 | +| ROC_h | m | Height of the collimator | 0.153 | +| ROC_ttmin | deg | Lower scattering angle limit | 0 | +| ROC_ttmax | deg | Higher scattering angle limit | 100 | +| ROC_sign | 1 | Chirality/takeoff sign | 1 | + +## Links + +- [Source code](Collimator_ROC.comp) for `Collimator_ROC.comp`. +- D20 diffractometer at the ILL + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Commodus_I3.md b/mcstas-comps/contrib/Commodus_I3.md new file mode 100644 index 0000000000..1693543c89 --- /dev/null +++ b/mcstas-comps/contrib/Commodus_I3.md @@ -0,0 +1,57 @@ +# The `Commodus_I3` Component + +*McStas: ISIS Moderators (Tested with McStas 3.1 (Windows))* + +## Identification + +- **Site:** +- **Author:** G. Skoro, based on ViewModerator4 from S. Ansell +- **Origin:** ISIS +- **Date:** July 2022 + +## Description + +```text +Produces a neutron distribution at the ISIS TS1 or TS2 corresponding moderator front face position. +The Face argument determines which TS1 or TS2 beamline is to be sampled by using corresponding file. +Neutrons are created having a range of energies determined by the E0 and E1 arguments. +Trajectories are produced such that they pass through the moderator face (defined by +modXsize and modZsize) and a focusing rectangle (defined by xw, yh and dist). +--- HOW TO USE --- + +Example: Commodus_I3(Face="TS1verBase2016_LH8020_newVM-var_South04_Merlin.mcstas", E0 = E_min, E1 = E_max, +modXsize = 0.12, modZsize = 0.12, xw = 0.094, yh = 0.094, dist = 1.6) + +MERLIN simulation; TS1 baseline model. +In this example, xw and yh are chosen to be identical to the shutter opening dimension. +dist = 1.6 is the real distance to the shutter front face: +(This is TimeOffset value (=160 [cm]) from TS1verBase2016_LH8020_newVM-var_South04_Merlin.mcstas file.) + +N.B. Absolute normalization: The result of the Mc-Stas simulation will show neutron intensity for beam current of 1 uA. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Face | string | TS1 (or TS2) instrument McStas filename | "TS1_S04_Merlin.mcstas" | +| **E0** | meV | Lower edge of energy distribution | | +| **E1** | meV | Upper edge of energy distribution | | +| modPosition | | | 0 | +| dist | m | Distance from moderator surface to the focusing rectangle | 1.7 | +| verbose | int | Flag to output debugging information | 0 | +| beamcurrent | uA | ISIS beam current | 1 | +| modXsize | m | Moderator width | 0.12 | +| modZsize | m | Moderator height | 0.12 | +| xw | m | Width of focusing rectangle | 0.094 | +| yh | m | Height of focusing rectangle | 0.094 | + +## Links + +- [Source code](Commodus_I3.comp) for `Commodus_I3.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Conics_EH.md b/mcstas-comps/contrib/Conics_EH.md new file mode 100644 index 0000000000..6345668cdf --- /dev/null +++ b/mcstas-comps/contrib/Conics_EH.md @@ -0,0 +1,60 @@ +# The `Conics_EH` Component + +*McStas: Release: McStas 2.7 +Date: September 2021 + +Elliptic-Hyperbolic shells for Wolter optic* + +## Identification + +- **Site:** +- **Author:** Peter Wilendrup and Erik Knudsen
(derived from Giacomo Resta skeleton-component) +- **Origin:** DTU +- **Date:** September 2021 + +## Description + +```text +Implements a set of nshells Wolter Ellipsoid/Hyperboloid pairs using conics.h from ConicTracer. + +The component has two distinct modes of specifying the geometry: +a) Via the radii vector, parametrized from largest to smallest radius with a length of 'nshells' + +b) By specifying radii rmax and rmin, between which a quadratic law distributes 'nshells' surfaces. + +The mirrors are assumed to be touching at the mid-optic plane, i.e. there is no gap between primary +and secondary mirror. +By definition the ratio between primary and secondary mirror glancing angles is 1/3. +At present a single m-value is used for all mirrors. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rmin | m | Midoptic plane radius of innermost mirror pair. | 0.0031416 | +| rmax | m | Midoptic plane radius of outermost mirror pair. | 0.05236 | +| focal_length_u | m | Focal length (upstream) of the mirror pairs. | 10 | +| focal_length_d | m | Focal length (downstream) of the mirror pairs. | 10 | +| le | m | Paraboloid mirror length. | 0.25 | +| lh | m | Hyperboloid mirror length. | 0.25 | +| nshells | 1 | Number of nested shells to expect | 4 | +| m | 1 | Critical angle of mirrors as multiples of Ni_c. | 1 | +| mirr_thick | m | Thickness of mirror shell surfaces - NOT YET IMPLEMENTED | 0 | +| disk | | Flag. If nonzero, insert a disk to block the central area within the innermost mirror. | 1 | +| radii | m | Optional vector of radii (length should match nshells) | NULL | +| R0 | 1 | Reflectivity at Low angles for reflectivity curve approximation | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.021 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | +| alpha | AA | Slope of reflectivity for reflectivity curve approximation | 6.07 | +| transmit | 1 | Fraction of statistics to assign to transmitted beam - NOT YET IMPLEMENTED | 0 | + +## Links + +- [Source code](Conics_EH.comp) for `Conics_EH.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Conics_HE.md b/mcstas-comps/contrib/Conics_HE.md new file mode 100644 index 0000000000..42e7746203 --- /dev/null +++ b/mcstas-comps/contrib/Conics_HE.md @@ -0,0 +1,60 @@ +# The `Conics_HE` Component + +*McStas: Release: McStas 2.7 +Date: September 2021 + +Hyperbolic-Elliptic shells for Wolter optic* + +## Identification + +- **Site:** +- **Author:** Peter Wilendrup and Erik Knudsen
(derived from Giacomo Resta skeleton-component) +- **Origin:** DTU +- **Date:** September 2021 + +## Description + +```text +Implements a set of nshells Wolter Ellipsoid/Hyperboloid pairs using conics.h from ConicTracer. + +The component has two distinct modes of specifying the geometry: +a) Via the radii vector, parametrized from largest to smallest radius with a length of 'nshells' + +b) By specifying radii rmax and rmin, between which a quadratic law distributes 'nshells' surfaces. + +The mirrors are assumed to be touching at the mid-optic plane, i.e. there is no gap between primary +and secondary mirror. +By definition the ratio between primary and secondary mirror glancing angles is 1/3. +At present a single m-value is used for all mirrors. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rmin | m | Midoptic plane radius of innermost mirror pair. | 0.0031416 | +| rmax | m | Midoptic plane radius of outermost mirror pair. | 0.05236 | +| focal_length_u | m | Focal length (upstream) of the mirror pairs. | 10 | +| focal_length_d | m | Focal length (downstream) of the mirror pairs. | 10 | +| le | m | Paraboloid mirror length. | 0.25 | +| lh | m | Hyperboloid mirror length. | 0.25 | +| nshells | 1 | Number of nested shells to expect | 4 | +| m | 1 | Critical angle of mirrors as multiples of Ni_c. | 1 | +| mirr_thick | m | Thickness of mirror shell surfaces - NOT YET IMPLEMENTED | 0 | +| disk | | Flag. If nonzero, insert a disk to block the central area within the innermost mirror. | 1 | +| radii | m | Optional vector of radii (length should match nshells) | NULL | +| R0 | 1 | Reflectivity at Low angles for reflectivity curve approximation | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.021 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | +| alpha | AA | Slope of reflectivity for reflectivity curve approximation | 6.07 | +| transmit | 1 | Fraction of statistics to assign to transmitted beam - NOT YET IMPLEMENTED | 0 | + +## Links + +- [Source code](Conics_HE.comp) for `Conics_HE.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Conics_PH.md b/mcstas-comps/contrib/Conics_PH.md new file mode 100644 index 0000000000..a0f56c36f2 --- /dev/null +++ b/mcstas-comps/contrib/Conics_PH.md @@ -0,0 +1,58 @@ +# The `Conics_PH` Component + +*McStas: Release: McStas 2.7 +Date: September 2021 + +Parabolid-Hyperbolic shells for Wolter optic* + +## Identification + +- **Site:** +- **Author:** Peter Wilendrup and Erik Knudsen
(derived from Giacomo Resta skeleton-component) +- **Origin:** DTU +- **Date:** September 2021 + +## Description + +```text +Implements a set of nshells Wolter I Paraboloid/Hyperboloid pairs using conics.h from ConicTracer. + +The component has two distinct modes of specifying the geometry: +a) Via the radii vector, parametrized from largest to smallest radius with a length of 'nshells' + +b) By specifying radii rmax and rmin, between which a quadratic law distributes 'nshells' surfaces. + +The mirrors are assumed to be touching at the mid-optic plane, i.e. there is no gap between primary +and secondary mirror.* By definition the ratio between primary and secondary mirror glancing angles is 1/3. +At present a single m-value is used for all mirrors. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rmin | m | Midoptic plane radius of innermost mirror pair. | 0.325 | +| rmax | m | Midoptic plane radius of outermost mirror pair. | 0.615 | +| focal_length | m | Focal length of the mirror pairs. | 10.070 | +| lp | m | Paraboloid mirror length. | 0.84 | +| lh | m | Hyperboloid mirror length. | 0.84 | +| nshells | 1 | Number of nested shells to expect | 4 | +| m | 1 | Critical angle of mirrors as multiples of Ni. | 1 | +| mirr_thick | m | Thickness of mirror shell surfaces - NOT YET IMPLEMENTED | 0 | +| disk | | Flag. If nonzero, insert a disk to block the central area within the innermost mirror. | 1 | +| radii | m | Optional vector of radii (length should match nshells) | NULL | +| R0 | 1 | Reflectivity at Low angles for reflectivity curve approximation | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.021 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | +| alpha | AA | Slope of reflectivity for reflectivity curve approximation | 6.07 | +| transmit | 1 | Fraction of statistics to assign to transmitted beam - NOT YET IMPLEMENTED | 0 | + +## Links + +- [Source code](Conics_PH.comp) for `Conics_PH.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Conics_PP.md b/mcstas-comps/contrib/Conics_PP.md new file mode 100644 index 0000000000..f43753d7bf --- /dev/null +++ b/mcstas-comps/contrib/Conics_PP.md @@ -0,0 +1,60 @@ +# The `Conics_PP` Component + +*McStas: Release: McStas 2.7 +Date: September 2021 + +Parabolid-Parabolid shells for Wolter optic* + +## Identification + +- **Site:** +- **Author:** Peter Wilendrup and Erik Knudsen
(derived from Giacomo Resta skeleton-component) +- **Origin:** DTU +- **Date:** September 2021 + +## Description + +```text +Implements a set of nshells Wolter I Paraboloid/Parabolid pairs using conics.h from ConicTracer. + +The component has two distinct modes of specifying the geometry: +a) Via the radii vector, parametrized from largest to smallest radius with a length of 'nshells' + +b) By specifying radii rmax and rmin, between which a quadratic law distributes 'nshells' surfaces. + +The mirrors are assumed to be touching at the mid-optic plane, i.e. there is no gap between primary +and secondary mirror. +By definition the ratio between primary and secondary mirror glancing angles is 1/3. +At present a single m-value is used for all mirrors. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rmin | m | Midoptic plane radius of innermost mirror pair. | 0.0031416 | +| rmax | m | Midoptic plane radius of outermost mirror pair. | 0.05236 | +| focal_length_u | m | Focal length of upstream mirror. | 10.070 | +| focal_length_d | m | Focal length of downstream mirror. | 10.070 | +| lp1 | m | Upstream paraboloid mirror length. | 0.84 | +| lp2 | m | Downstream paraboloid mirror length. | 0.84 | +| nshells | 1 | Number of nested shells to expect | 4 | +| m | 1 | Critical angle of mirrors as multiples of Ni. | 1 | +| mirr_thick | m | Thickness of mirror shell surfaces - NOT YET IMPLEMENTED | 0 | +| disk | | Flag. If nonzero, insert a disk to block the central area within the innermost mirror. | 1 | +| radii | m | Optional vector of radii (length should match nshells) | NULL | +| R0 | 1 | Reflectivity at Low angles for reflectivity curve approximation | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.021 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | +| alpha | AA | Slope of reflectivity for reflectivity curve approximation | 6.07 | +| transmit | 1 | Fraction of statistics to assign to transmitted beam - NOT YET IMPLEMENTED | 0 | + +## Links + +- [Source code](Conics_PP.comp) for `Conics_PP.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/E_4PI.md b/mcstas-comps/contrib/E_4PI.md new file mode 100644 index 0000000000..e8628712be --- /dev/null +++ b/mcstas-comps/contrib/E_4PI.md @@ -0,0 +1,39 @@ +# The `E_4PI` Component + +*McStas: Spherical Energy-sensitive detector* + +## Identification + +- **Site:** +- **Author:** Duc Le +- **Origin:** ISIS +- **Date:** 2000s + +## Description + +```text +Example: E_4PI(filename="e4pi.dat",ne=200,Emin=0,Emax=E*2) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| ne | 1 | Number of energy bins | 50 | +| Emin | meV | Minimum energy measured | 0 | +| Emax | meV | Maximum energy measured | 5 | +| filename | string | Name of file in which to store the output data | 0 | +| radius | m | Radius of detector (m) | 1 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | + +## Links + +- [Source code](E_4PI.comp) for `E_4PI.comp`. +- Test +- results (not up-to-date). + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Exact_radial_coll.md b/mcstas-comps/contrib/Exact_radial_coll.md new file mode 100644 index 0000000000..b5010949f9 --- /dev/null +++ b/mcstas-comps/contrib/Exact_radial_coll.md @@ -0,0 +1,49 @@ +# The `Exact_radial_coll` Component + +*McStas: An exact radial Soller collimator.* + +## Identification + +- **Site:** +- **Author:** Roland Schedler +- **Origin:** HMI +- **Date:** October 2006 + +## Description + +```text +Radial Soller collimator with rectangular opening, specified length and +specified foil thickness. +The collimator is made of many trapezium shaped nslit stacked radially. +The nslit are separated by absorbing foils, the whole stuff is inside +an absorbing housing. +The component should be positioned at the radius center. The model is exact. +The neutron beam outside the collimator area is transmitted unaffected. + +Example: Exact_radial_coll(theta_min=-5, theta_max=5, nslit=100, +radius=1.0, length=.3, h_in=.2, h_out=.3, d=0.0001) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| theta_min | deg | Minimum Theta angle for the radial setting | -5 | +| theta_max | deg | Maximum Theta angle for the radial setting | 5 | +| nslit | 1 | Number of channels in the theta range | 100 | +| radius | m | Inner radius (focus point to foil start point). | 1.0 | +| length | m | Length of the foils / collimator | .5 | +| h_in | m | Input window height | .3 | +| h_out | m | Output window height | .4 | +| d | m | Thickness of the absorbing foils | 0.0001 | +| verbose | 0/1 | Gives additional information | 0 | + +## Links + +- [Source code](Exact_radial_coll.comp) for `Exact_radial_coll.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/FermiChopper_ILL.md b/mcstas-comps/contrib/FermiChopper_ILL.md new file mode 100644 index 0000000000..311e821cff --- /dev/null +++ b/mcstas-comps/contrib/FermiChopper_ILL.md @@ -0,0 +1,76 @@ +# The `FermiChopper_ILL` Component + +*McStas: Fermi Chopper with rotating frame.* + +## Identification + +- **Site:** +- **Author:** M. Poehlmann, C. Carbogno, H. Schober, E. Farhi +- **Origin:** ILL Grenoble / TU Muenchen +- **Date:** May 2002 + +## Description + +```text +Models a Fermi chopper with optional supermirror coated blades +supermirror facilities may be disabled by setting m = 0, R0=0 +Slit packages are straight. Chopper slits are separated by an infinitely +thin absorbing material. The effective transmission (resulting from fraction +of the transparent material and its transmission) may be specified. +The chopper slit package width may be specified through the total width 'xwidth' +of the full package or the width 'w' of each single slit. The other parameter +is calculated by: xwidth = nslit*w. + +Example: +FermiChopper_ILL(phase=-50.0, radius=0.04, nu=100, +yheight=0.08, w=0.00022475, nslit=200.0, R0=0.0, +Qc=0.02176, alpha=2.33, m=0.0, length=0.012, eff=0.95, +zero_time=0) + +Markus Poehlmann +Christian Carbogno +and Helmut Schober + +%VALIDATION +Apr 2005: extensive external test, most problems solved (cf. 'Bugs') +Validated by: K. Lieutenant + +limitations: +no blade width used + +%BUGS +- overestimates peak width for long wavelengths +- does not give the right pulse position, shape and width for slit widths below 0.1 mm +- fails sometimes when using MPI +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| phase | deg | chopper phase at t=0 | 0 | +| radius | m | chopper cylinder radius | 0.04 | +| nu | Hz | chopper frequency | 100 | +| yheight | m | Height of chopper | 0.08 | +| w | m | width of one chopper slit | 0.00022475 | +| nslit | 1 | number of chopper slits | 200.0 | +| R0 | 1 | low-angle reflectivity | 0.0 | +| Qc | AA-1 | critical scattering vector | 0.02176 | +| alpha | AA | slope of reflectivity | 2.33 | +| m | 1 | m-value of material. Zero means completely absorbing. | 0.0 | +| W | AA-1 | width of supermirror cut-off | 2e-3 | +| length | m | channel length of the Fermi chopper | 0.012 | +| eff | 1 | efficiency = transmission x fraction of transparent material | 0.95 | +| zero_time | 1 | set time to zero: 0: no 1: once per half cycle | 0 | +| xwidth | m | optional total width of slit package | 0 | +| verbose | 1 | optional flag to display component statistics, use 1 or 3 (debuging) | 0 | + +## Links + +- [Source code](FermiChopper_ILL.comp) for `FermiChopper_ILL.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Fermi_chop2a.md b/mcstas-comps/contrib/Fermi_chop2a.md new file mode 100644 index 0000000000..0d3fd9b421 --- /dev/null +++ b/mcstas-comps/contrib/Fermi_chop2a.md @@ -0,0 +1,41 @@ +# The `Fermi_chop2a` Component + +*McStas: SNS Fermi Chopper as used in SNS_ARCS* + +## Identification + +- **Site:** +- **Author:** Garrett Granroth +- **Origin:** SNS Oak Ridge,TN +- **Date:** 6 Feb 2005 + +## Description + +```text +Models an SNS Fermi Chopper, used in the SNS_ARCS instrument model. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **len** | m | slit package length | | +| **w** | m | slit package width | | +| **nu** | Hz | frequency | | +| **delta** | sec | time from edge of chopper to center Phase angle | | +| **tc** | sec | time when desired neutron is at the center of the chopper | | +| **ymin** | m | Lower y bound | | +| **ymax** | m | Upper y bound | | +| **nchan** | 1 | number of channels in chopper | | +| **bw** | m | blade width | | +| **blader** | m | blade radius | | + +## Links + +- [Source code](Fermi_chop2a.comp) for `Fermi_chop2a.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Filter_graphite.md b/mcstas-comps/contrib/Filter_graphite.md new file mode 100644 index 0000000000..bfd9eb3b06 --- /dev/null +++ b/mcstas-comps/contrib/Filter_graphite.md @@ -0,0 +1,46 @@ +# The `Filter_graphite` Component + +*McStas: Pyrolytic graphite filter (analytical model)* + +## Identification + +- **Site:** +- **Author:** Thomas C Hansen +- **Origin:** ILL +- **Date:** 07 March 2000 + +## Description + +```text +ESCRIPTION + +This rectangular pyrolytic graphite filter uses an analytical model +with linear interpolation on the neutron wavelength +This type of filter is e.g. used to supress higher harmonics, such as +the 1.2 AA contribution to the 2.4 AA obtained by a highly oriented +pyrolytic graphite (HOPG) monochromator. + +Example: Filter_graphite(xmin=-.05, xmax=.05, ymin=-.05, ymax=.05, length=1.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xmin | m | Lower x bound | -0.16 | +| xmax | m | Upper x bound | 0.16 | +| ymin | m | Lower y bound | -0.16 | +| ymax | m | Upper y bound | 0.16 | +| length | m | Thickness of graphite plate | 0.05 | +| xwidth | m | Width of filter. Overrides xmin,xmax. | 0 | +| yheight | m | Height of filter. Overrides ymin,ymax. | 0 | + +## Links + +- [Source code](Filter_graphite.comp) for `Filter_graphite.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/FlatEllipse_finite_mirror.md b/mcstas-comps/contrib/FlatEllipse_finite_mirror.md new file mode 100644 index 0000000000..0911d66c44 --- /dev/null +++ b/mcstas-comps/contrib/FlatEllipse_finite_mirror.md @@ -0,0 +1,54 @@ +# The `FlatEllipse_finite_mirror` Component + +*McStas: Date: 2022-2023 + +NMO (nested mirror optic) modules* + +## Identification + +- **Site:** +- **Author:** Christoph Herb, TUM +- **Origin:** TUM +- **Date:** 2022-2023 + +## Description + +```text +Simulates NMO (nested mirror optic) modules as concevied by Böni et al., see +Christoph Herb et al., Nucl. Instrum. Meth. A 1040, 1671564 (1-18) 2022. + +The component relies on an updated version of conic.h from MIT. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sourceDist | m | Distance used for calculating the spacing of the mirrors | 0 | +| LStart | m | Left focal point | 0.6 | +| LEnd | m | Right focal point | 0.6 | +| lStart | m | z-Value of the mirror start | 0.0 | +| lEnd | m | z-Value of the mirror end | 0.0 | +| r_0 | m | distance to the mirror at lStart | 0.02076 | +| nummirror | 1 | number of mirrors | 9 | +| mf | | mvalue of the inner side of the coating, m>10 results in perfect reflections | 4 | +| mb | | mvalue of the outer side of the coating, m>10 results in perfect reflections | 0 | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| Qc | AA-1 | critical scattering vector | 0.021 | +| W | AA-1 | width of supermirror cutoff | 0.003 | +| alpha | AA | Slope of reflectivity | 6.07 | +| mirror_width | m | width of the individual mirrors | 0.003 | +| mirror_sidelength | m | side length of the individual mirrors | 1 | +| doubleReflections | 1 | binary value determining whether the mirror backside is reflective | 0 | +| rfront_inner_file | str | file of distances to the optical axis of the individual mirrors | "NULL" | + +## Links + +- [Source code](FlatEllipse_finite_mirror.comp) for `FlatEllipse_finite_mirror.comp`. +- Christoph Herb et al., Nucl. Instrum. Meth. A 1040, 1671564 (1-18) 2022. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Foil_flipper_magnet.md b/mcstas-comps/contrib/Foil_flipper_magnet.md new file mode 100644 index 0000000000..ee37795df1 --- /dev/null +++ b/mcstas-comps/contrib/Foil_flipper_magnet.md @@ -0,0 +1,57 @@ +# The `Foil_flipper_magnet` Component + +*McStas: A magnet with a spin-flip foil inside* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Sep. 2015 + +## Description + +```text +ESCRIPTION +A magnet with a spin-flip foil inside + +This component models a magnet with a constant magnetic field and a slanted +magnetized foil inside acting as a spin-flipper. This arrangement may be used to +target the geometry of a Spin-Echo SANS instrument (Rekveldt, NIMB, 1997 || Rekveldt, Rev Sci Instr. 2005). +In its most basic form a SE-SANS instrument nrelies on inclined field regions of +constant magnetic field, which can be difficult to realize. Instead it is possible to emulate +such regions using a magnetized foil. + +In this component th emagntzied foil is modelled as a canted (by the angle phi) mathematical plane inside a region +of constant magnetic field of dimensions (xwidth,yheight,zdepth). Furthermore, exponetially decaying stray fields from +the constant field region may be specified by giving parameters (Bxwidth,Byheight,Bzdepth) > (xwidth,yheight,zdepth). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| stray_field | | Toggle for modelling of stray fields. | 1 | +| **xwidth** | m | width of the magnet | | +| **yheight** | m | height of the magnet | | +| **zdepth** | m | thickness of the magnet | | +| Bxwidth | m | width of the B-field of thev component | -1 | +| Byheight | m | height of the B-field of the component | -1 | +| Bzdepth | m | thickness of the B-field of the component | -1 | +| phi | rd | angle (from the xz-plane) of the foil-spinflipper inside the magnet | 0.0 | +| foilthick | um | Thickness of the magnetized foil | 0.0 | +| **Bx** | T | Parameter used for x composant of field. | | +| **By** | T | Parameter used for y composant of field. | | +| **Bz** | T | Parameter used for z composant of field. | | +| foil_in | | Toggle for optional foil in the flipper. | 1 | +| verbose | | Toggle verbose mode | 0 | + +## Links + +- [Source code](Foil_flipper_magnet.comp) for `Foil_flipper_magnet.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/GISANS_sample.md b/mcstas-comps/contrib/GISANS_sample.md new file mode 100644 index 0000000000..41c1223e45 --- /dev/null +++ b/mcstas-comps/contrib/GISANS_sample.md @@ -0,0 +1,89 @@ +# The `GISANS_sample` Component + +*McStas: Sample for GISANS* + +## Identification + +- **Site:** +- **Author:** H. Frielinghaus +- **Origin:** FZJ +- **Date:** March 2023 + +## Description + +```text +The idea of this sample goes back to the real sample studied in the publication https://doi.org/10.1063/1.4723634 +This is a sandwich of a sapphire and silicon slab through which the neutrons impinge and the sample in between where the scattering emerges from. +The sample consist of spherical polystyrene colloids in heavy water that form aligned crystallites at the solid-liquid interface, +while in the middle of the volume the crytallites are orientationally averaged in the polar angle that points in the lateral direaction. +The crystallites of the current verision are not highly realistic because they are monoclinic with a 60° angle mimicking a fraction +of a hexagonal structure with hexagonal planes stacked in the z-direction. +Inside the routine one can change between 2 or 3 different planes. Also the total crystallite size can be changed. +Especially the parallelogram with 60° angle is unrealistic because one usually would assume the crystallites to have a hexagonal shape. +However, the finite crystallites mimic the final correlation length inside the sample. +The sample works for neutrons impingin from the sapphire, the silicon at grazing angles and in transmission in the sense of a SANS sample. +If the neutrons impinge through the other layers (sample and silicon oxide) - the responses are not so realistic and need further development. +Also multiple scattering would be needed to be implemented still - but could be done. + +What this sample component covers relatively well is the fact that damping of the intensity by scattering and absorption is also covered. +That means that even at larger angles than the critical angle the intensity is damped inside the sample and so only a certain near surface +layer scatters neutrons. +This effect is not covered by BornAgain. + +I see this as a start for further developments. + +Information extracted from malformatted docstrings follow: + +the total thickness of the sandwich is zsapph+zsamp+zsilicon +the thicknesses zsampsurf and zsiliconsurf are parts of the total sample/silicon thicknesses + +(scattering length densitites, reciprocal total cross section of absorption, reciprocal total cross section of incoherent scattering) +units rho... [A-2], abslen... [cm], inclen... [cm] +rhosapph, abslensapph, inclensapph for sapphire +rhoD2O, abslenD2O, inclenD2O for D2O as solvent in sample +rhoPS, abslenPS, inclenPS for polystyrene as colloids in sample +rhosiliconsurf, abslensiliconsurf, inclensiliconsurf for silicon surface (oxide layer) +rhosilicon, abslensilicon, inclensilicon for silicon +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Width of sample volume | 0.05 | +| yheight | m | Height of sample volume | 0.15 | +| zsapph | m | Thickness of the sapphire layer on one side | 0.02 | +| zsamp | m | Thickness of the overall sample between sapphire and silicon | 0.002 | +| zsampsurf | m | Thickness from the total of zsamp on either side of sapphire/silicon that is oriented | 0.000001 | +| zsilicon | m | Thickness of the silicon layer on the other side | 0.02 | +| zsiliconsurf | m | Thickness from the total of zsilicon on the sample side (oxidization layer) | 5e-9 | +| rhosapph | | | 5.773e-6 | +| abslensapph | | | 163.708 | +| inclensapph | | | 49.815 | +| rhoD2O | | | 6.364e-6 | +| abslenD2O | | | 44066.347 | +| inclenD2O | | | 7.258 | +| rhoPS | | | 1.358e-6 | +| abslenPS | | | 114.502 | +| inclenPS | | | 0.24588 | +| rhosiliconsurf | | | 4.123e-6 | +| abslensiliconsurf | | | 401.051 | +| inclensiliconsurf | | | 169.11 | +| rhosilicon | | | 2.079e-6 | +| abslensilicon | | | 209.919 | +| inclensilicon | | | 9901.6 | +| phiPS | 1 | Concentration vol/vol of colloids in D2O | 0.1 | +| Rad | A | Radius of colloids in Aangstroem | 370.0 | +| phirot | rad | angle of the ordered (aligned) crytallites at the two surfaces towards sapphire/silicon | 0.0 | +| sc_aim | 1 | how much is scattered versus transmitted | 0.98 | +| sans_aim | 1 | how much goes to the small angle range versus wide angles | 0.98 | + +## Links + +- [Source code](GISANS_sample.comp) for `GISANS_sample.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Guide_anyshape_r.md b/mcstas-comps/contrib/Guide_anyshape_r.md new file mode 100644 index 0000000000..61e2da0d78 --- /dev/null +++ b/mcstas-comps/contrib/Guide_anyshape_r.md @@ -0,0 +1,70 @@ +# The `Guide_anyshape_r` Component + +*McStas: Reflecting surface (guide and mirror) with any shape, defined from an OFF file +and a patch to allow m-, alpha- and W-values added per polygon face. +Derived from Guide_anyshape / Guide_anyshape_r .* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi, adapted by Peter Link and Gaetano Mangiapia +- **Origin:** ILL/MLZ +- **Date:** August 4th 2010 + +## Description + +```text +This is a reflecting object component, derived from Guide_anyshape. +Its shape, as well as m-, alpha- and W-values (IN THIS ORDER) for each face, are defined from +an OFF file, given with its file name. The object size is set as given from the file, where +dimensions should be in meters. The bounding box may be re-scaled by specifying +xwidth,yheight,zdepth parameters. The object may optionally be centered when +using 'center=1'. + +If in input only the values of R0 and Qc are specified, leaving m, alpha and W all null, then +Guide_anyshape_g will use the values of these last three parameters that are specified in the OFF +file for each face: floating point based values may be provided for them. +In case at least one among m, alpha and W is not null, then Guide_anyshape_g will use these +values as input (common for all the faces), ignoring those specified in the OFF file + +The complex OFF/PLY geometry option handles any closed non-convex polyhedra. +It supports the OFF and NOFF file format but not COFF (colored faces). +Standard .OFF files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. +PLY geometry files are also supported. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Redimension the object bounding box on X axis is non-zero | 0 | +| yheight | m | Redimension the object bounding box on Y axis is non-zero | 0 | +| zdepth | m | Redimension the object bounding box on Z axis is non-zero | 0 | +| center | 1 | When set to 1, the object will be centered w.r.t. the local coordinate frame | 0 | +| transmit | 1 | When true, non reflected neutrons are transmitted through the surfaces, instead of being absorbed. No material absorption is taken into account though | 0 | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.0219 | +| alpha | AA | Slope of reflectivity | 0 | +| m | 1 | m-value of material. Zero means completely absorbing. | 0 | +| W | AA-1 | Width of supermirror cut-off | 0 | +| geometry | str | Name of the OFF/PLY file describing the guide geometry | 0 | + +## Links + +- [Source code](Guide_anyshape_r.comp) for `Guide_anyshape_r.comp`. +- Geomview and Object File Format (OFF) +- Java version of Geomview (display only) jroff.jar +- qhull +- powercrust + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Guide_curved.md b/mcstas-comps/contrib/Guide_curved.md new file mode 100644 index 0000000000..a206bd00da --- /dev/null +++ b/mcstas-comps/contrib/Guide_curved.md @@ -0,0 +1,50 @@ +# The `Guide_curved` Component + +*McStas: Non-focusing curved neutron guide.* + +## Identification + +- **Site:** +- **Author:** Ross Stewart +- **Origin:** ILL (France). +- **Date:** November 18 2003 + +## Description + +```text +Models a rectangular curved guide tube with entrance centered on the Z axis. +The entrance lies in the X-Y plane. Draws a true depiction +of the guide, and trajectories. Guide is not focusing. + +Example: Guide_curved(w1=0.1, h1=0.1, l=2.0, R0=0.99, Qc=0.021, +alpha=6.07, m=2, W=0.003, curvature=2700) + +%BUGS +This component does not work with gravitation on. Use component Guide_gravity then. +Systematic error on transmitted flux is found to be about 10%. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **w1** | m | Width at the guide entry | | +| **h1** | m | Height at the guide entry | | +| **l** | m | length of guide | | +| R0 | 1 | Low-angle reflectivity | 0.995 | +| Qc | AA-1 | Critical scattering vector | 0.0218 | +| alpha | AA | Slope of reflectivity | 4.38 | +| m | 1 | m-value of material. Zero means completely absorbing. | 2 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | +| curvature | m | Radius of curvature of the guide | 2700 | + +## Links + +- [Source code](Guide_curved.comp) for `Guide_curved.comp`. +- Bender + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Guide_four_side.md b/mcstas-comps/contrib/Guide_four_side.md new file mode 100644 index 0000000000..6988856b2d --- /dev/null +++ b/mcstas-comps/contrib/Guide_four_side.md @@ -0,0 +1,136 @@ +# The `Guide_four_side` Component + +*McStas: Guide with four side walls* + +## Identification + +- **Site:** +- **Author:** Tobias Panzner +- **Origin:** PSI +- **Date:** 07/08/2010 + +## Description + +```text +This component models a guide with four side walls. +As user you can controll the properties of every wall separatly. All togther you have up to +8 walls: 4 inner walls and 4 outer walls. + +Every single wall can have a elliptic, parabolic or straight shape. +All four sides of the guide are independent from each other. +In the elliptic case the side wall shape follows the equation x^2/b^2+(z+z0)^2/a^2=1 +(the center of the ellipse is located at (0,-z0)). +In the parabolic case the side wall shape follows the equation z=b-ax^2;mc +In the straight case the side wall shape follows the equation z=l/(w2-w1)*x-w1. + +The shape selection is done by the focal points. The focal points are located at the +z-axis and are defined by their distance to the entrance or exit window of the guide +(in the following called 'focal length'). + +If both focal lengths for one wall are zero it will be a straight wall (entrance and +exit width have to be given in the beginning). + +If one of the focal lengths is not zero the shape will be parabolic (only the entrance width +given in the beginning is recognized; exit width will be calculated). If the the entrance +focal length is zero the guide will be a focusing devise. +If the exit focal length is zero it will be defocusing devise. + +If both focals are non zero the shape of the wall will be elliptic (only the entrance width +given in the beginning is recognized; exit width will be calculated). + +Notice: 1.)The focal points are in general located outside the guide (positive focal lengths). +Focal points inside the guide need to have negative focal lengths. +2.)The exit width parameters (w2r, w2l, h2u,h2d) are only taken into account if the +walls have a linear shape. In the ellitic or parabolic case they will be ignored. + +For the inner channel: the outer side of each wall is calculated by the component in depentence +of the wallthickness and the shape of the inner side. + +Each of walls can have a own indepenting reflecting layer (defined by an input file) +or it can be a absorber or it can be transparent. + +The reflectivity properties can be given by an input file (Format [q(Angs-1) R(0-1)]) or by +parameters (Qc, alpha, m, W). + +%BUGS +This component does not work with gravitation on. + +This component does not work correctly in GROUP-modus. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| RIreflect | | (str) Name of relfectivity file for the right inner wall. | 0 | +| LIreflect | | (str) Name of relfectivity file for the left inner wall. | 0 | +| UIreflect | | (str) Name of relfectivity file for the top inner wall. | 0 | +| DIreflect | | (str) Name of relfectivity file for the bottom inner wall. | 0 | +| ROreflect | | (str) Name of relfectivity file for the right outer wall. | 0 | +| LOreflect | | (str) Name of relfectivity file for the left outer wall. | 0 | +| UOreflect | | (str) Name of relfectivity file for the top outer wall. | 0 | +| DOreflect | | (str) Name of relfectivity file for the bottom outer wall. | 0 | +| w1l | m | Width at the left guide entry (positive x-axis) | 0.002 | +| w2l | m | Width at the left guide exit (positive x-axis) | 0.002 | +| linwl | m | left horizontal wall: distance of 1st focal point | 0 | +| loutwl | m | left horizontal wall: distance of 2nd focal point | 0 | +| w1r | m | Width at the right guide entry (negative x-axis) | 0.002 | +| w2r | m | Width at the right guide exit (negative x-axis) | 0.002 | +| linwr | m | right horizontal wall: distance of 1st focal point | 0.0 | +| loutwr | m | right horizontal wall: distance of 2nd focal point | 0 | +| h1u | m | Height at the top guide entry (positive y-axis) | 0.002 | +| h2u | m | Height at the top guide entry (positive y-axis) | 0.002 | +| linhu | m | upper vertical wall: distance of 1st focal point | 0.0 | +| louthu | m | upper vertical wall: distance of 2nd focal point | 0 | +| h1d | m | Height at the bottom guide entry (negative y-axis) | 0.002 | +| h2d | m | Height at the bottom guide entry (negative y-axis) | 0.002 | +| linhd | m | lower vertical wall: distance of 1st focal point | 0.0 | +| louthd | m | lower vertical wall: distance of 2nd focal point | 0 | +| l | m | length of guide (DEFAULT = 0) | 0 | +| R0 | 1 | Low-angle reflectivity (DEFAULT = 0.99) | 0.99 | +| Qcxl | AA-1 | Critical scattering vector for left vertical | 0.0217 | +| Qcxr | AA-1 | Critical scattering vector for right vertical | 0.0217 | +| Qcyu | AA-1 | Critical scattering vector for top inner wall | 0.0217 | +| Qcyd | AA-1 | Critical scattering vector for bottom inner wall | 0.0217 | +| alphaxl | AA | Slope of reflectivity for left vertical | 6.07 | +| alphaxr | AA | Slope of reflectivity for right vertical | 6.07 | +| alphayu | AA | Slope of reflectivity for top inner wall | 6.07 | +| alphayd | AA | Slope of reflectivity for bottom inner wall | 6.07 | +| Wxr | AA-1 | Width of supermirror cut-off for right inner wall | 0.003 | +| Wxl | AA-1 | Width of supermirror cut-off for left inner wall | 0.003 | +| Wyu | AA-1 | Width of supermirror cut-off for top inner wall | 0.003 | +| Wyd | AA-1 | Width of supermirror cut-off for bottom inner wall | 0.003 | +| mxr | 1 | m-value of material for right vertical inner wall. | 3.6 | +| mxl | 1 | m-value of material for left vertical inner wall. | 3.6 | +| myu | 1 | m-value of material for top inner wall | 3.6 | +| myd | 1 | m-value of material for bottom inner wall | 3.6 | +| QcxrOW | AA-1 | Critical scattering vector for right vertical | 0.0217 | +| QcxlOW | AA-1 | Critical scattering vector for left vertical | 0.0217 | +| QcyuOW | AA-1 | Critical scattering vector for top outer wall | 0.0217 | +| QcydOW | AA-1 | Critical scattering vector for bottom outer wall | 0.0217 | +| alphaxlOW | AA | Slope of reflectivity for left vertical | 6.07 | +| alphaxrOW | AA | Slope of reflectivity for right vertical | 6.07 | +| alphayuOW | AA | Slope of reflectivity for top outer wall | 6.07 | +| alphaydOW | AA | Slope of reflectivity for bottom outer wall | 6.07 | +| WxrOW | AA-1 | Width of supermirror cut-off for right outer wall | 0.003 | +| WxlOW | AA-1 | Width of supermirror cut-off for left outer wall | 0.003 | +| WyuOW | AA-1 | Width of supermirror cut-off for top outer wall | 0.003 | +| WydOW | AA-1 | Width of supermirror cut-off for bottom outer wall | 0.003 | +| mxrOW | 1 | m-value of material for right vertical outer wall | 0 | +| mxlOW | 1 | m-value of material for left vertical outer wall | 0 | +| myuOW | 1 | m-value of material for top outer wall | 0 | +| mydOW | 1 | m-value of material for bottom outer wall | 0 | +| rwallthick | m | thickness of the right wall (DEFAULT = 0.001 m) | 0.001 | +| lwallthick | m | thickness of the left wall (DEFAULT = 0.001 m) | 0.001 | +| uwallthick | m | thickness of the top wall (DEFAULT = 0.001 m) | 0.001 | +| dwallthick | m | thickness of the bottom wall(DEFAULT = 0.001 m) | 0.001 | + +## Links + +- [Source code](Guide_four_side.comp) for `Guide_four_side.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Guide_gravity_psd.md b/mcstas-comps/contrib/Guide_gravity_psd.md new file mode 100644 index 0000000000..047da54a65 --- /dev/null +++ b/mcstas-comps/contrib/Guide_gravity_psd.md @@ -0,0 +1,101 @@ +# The `Guide_gravity_psd` Component + +*McStas: Neutron straight guide with gravity. Can be channeled and focusing. +Waviness may be specified, as well as side chamfers (on substrate).* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France). +- **Date:** Aug 03 2001 + +## Description + +```text +Models a rectangular straight guide tube centered on the Z axis, with +gravitation handling. The entrance lies in the X-Y plane. +The guide can be channeled (nslit,d,nhslit parameters). The guide coating +specifications may be entered via different ways (global, or for +each wall m-value). + +Waviness (random) may be specified either globally or for each mirror type. +Side chamfers (due to substrate processing) may be specified the same way. +In order to model a realistic straight guide assembly, a long guide of +length 'l' may be splitted into 'nelements' between which chamfers/gaps are +positioned. + +The reflectivity may be specified either using an analytical mode (see +Component manual) or as a text file in free format, with 1st +column as q[Angs-1] and 2nd column as the reflectivity R in [0-1]. +For details on the geometry calculation see the description in the McStas +component manual. + +There is a special rotating mode in order to approximate a Fermi Chopper +behaviour, in the case the neutron trajectory is nearly linear inside the +chopper slits, i.e. the neutrons are fast w/r/ to the chopper speed. +Slits are straight, but may be super-mirror coated. In this case, the +component is NOT centered, but located at its entry window. It should then +be shifted by -l/2. + +Example: Guide_gravity_psd(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=12, +R0=0.99, Qc=0.0219, alpha=6.07, m=1.0, W=0.003) + +%VALIDATION +May 2005: extensive internal test, all problems solved +Validated by: K. Lieutenant +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **nxpsd** | 1 | Number of bins in the built-in mirror parallel monitors | | +| **filenameT** | str | Filename for top-mirror-monitor | | +| **filenameB** | str | Filename for bottom-mirror-monitor | | +| **filenameL** | str | Filename for left-mirror-monitor | | +| **filenameR** | str | Filename for right-mirror-monitor | | +| **w1** | m | Width at the guide entry | | +| **h1** | m | Height at the guide entry | | +| w2 | m | Width at the guide exit. If 0, use w1. | 0 | +| h2 | m | Height at the guide exit. If 0, use h1. | 0 | +| **l** | m | length of guide | | +| R0 | 1 | Low-angle reflectivity | 0.995 | +| Qc | AA-1 | Critical scattering vector | 0.0218 | +| alpha | AA | Slope of reflectivity | 4.38 | +| m | 1 | m-value of material. Zero means completely absorbing. m=0.65 | 1.0 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | +| nslit | 1 | Number of vertical channels in the guide (>= 1) (nslit-1 vertical dividing walls). | 1 | +| d | m | Thickness of subdividing walls | 0.0005 | +| mleft | 1 | m-value of material for left. vert. mirror | -1 | +| mright | 1 | m-value of material for right. vert. mirror | -1 | +| mtop | 1 | m-value of material for top. horz. mirror | -1 | +| mbottom | 1 | m-value of material for bottom. horz. mirror | -1 | +| nhslit | 1 | Number of horizontal channels in the guide (>= 1). (nhslit-1 horizontal dividing walls). this enables to have nslit*nhslit rectangular channels | 1 | +| G | m/s2 | Gravitation norm. 0 value disables G effects. | 0 | +| aleft | 1 | alpha-value of left vert. mirror | -1 | +| aright | 1 | alpha-value of right vert. mirror | -1 | +| atop | 1 | alpha-value of top horz. mirror | -1 | +| abottom | 1 | alpha-value of left horz. mirror | -1 | +| wavy | deg | Global guide waviness | 0 | +| wavy_z | deg | Partial waviness along propagation axis | 0 | +| wavy_tb | deg | Partial waviness in transverse direction for top/bottom mirrors | 0 | +| wavy_lr | deg | Partial waviness in transverse direction for left/right mirrors | 0 | +| chamfers | m | Global chamfers specifications (in/out/mirror sides). | 0 | +| chamfers_z | m | Input and output chamfers | 0 | +| chamfers_lr | m | Chamfers on left/right mirror sides | 0 | +| chamfers_tb | m | Chamfers on top/bottom mirror sides | 0 | +| nelements | 1 | Number of sections in the guide (length l/nelements). | 1 | +| nu | Hz | Rotation frequency (round/s) for Fermi Chopper approximation | 0 | +| phase | deg | Phase shift for the Fermi Chopper approximation | 0 | +| reflect | str | Reflectivity file name. Format q(Angs-1) R(0-1) | "NULL" | + +## Links + +- [Source code](Guide_gravity_psd.comp) for `Guide_gravity_psd.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Guide_honeycomb.md b/mcstas-comps/contrib/Guide_honeycomb.md new file mode 100644 index 0000000000..f3794d18b3 --- /dev/null +++ b/mcstas-comps/contrib/Guide_honeycomb.md @@ -0,0 +1,57 @@ +# The `Guide_honeycomb` Component + +*McStas: Neutron guide with gravity and honeycomb geometry. Can be channeled and focusing.* + +## Identification + +- **Site:** +- **Author:** G. Venturi +- **Origin:** ILL (France). +- **Date:** Apr 2003 + +## Description + +```text +Models a honeycomb guide tube centered on the Z axis. The entrance lies +in the X-Y plane. Gravitation applies also when reaching the guide input +window. The guide can be channeled (hexagonal channel section; nslit,d parameters). +The guide coating specifications may be entered via different ways (global, +or for each wall m-value). +For details on the geometry calculation see the description in the McStas +reference manual. + +Example: Guide_honeycomb(w1=0.1, w2=0.1, l=12, +R0=0.99, Qc=0.0219, alpha=6.07, m=1.0, W=0.003, nslit=1, d=0.0005) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **w1** | m | Width at the guide entry | | +| w2 | m | Width at the guide exit. If zero, sets w2=w1. | 0 | +| **l** | m | length of guide | | +| R0 | 1 | Low-angle reflectivity | 0.995 | +| Qc | AA-1 | Critical scattering vector | 0.0218 | +| alpha | AA | Slope of reflectivity | 4.38 | +| m | 1 | m-value of material. Zero means completely absorbing. | 1.0 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | +| nslit | 1 | Number of horizontal channels in the guide (>= 1) [1] | 1 | +| d | m | Thickness of subdividing walls [0] | 0.0005 | +| mleftup | 1 | m-value of material for leftup. oblique mirror | -1 | +| mrightup | 1 | m-value of material for rightdown. oblique mirror | -1 | +| mleftdown | 1 | m-value of material for rightdown. oblique mirror | -1 | +| mrightdown | 1 | m-value of material for leftup. oblique mirror | -1 | +| mleft | 1 | m-value of material for left. vertical mirror | -1 | +| mright | 1 | m-value of material for right. vertical mirror | -1 | +| G | m/s2 | Gravitation norm. 0 value disables G effects. | 0 | + +## Links + +- [Source code](Guide_honeycomb.comp) for `Guide_honeycomb.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Guide_m.md b/mcstas-comps/contrib/Guide_m.md new file mode 100644 index 0000000000..f7ee58ec54 --- /dev/null +++ b/mcstas-comps/contrib/Guide_m.md @@ -0,0 +1,80 @@ +# The `Guide_m` Component + +*McStas: Release: McStas 1.12c + +Neutron guide.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** September 2 1998, Modified 2013 + +## Description + +```text +Models a rectangular guide tube centered on the Z axis. The entrance lies +in the X-Y plane. +For details on the geometry calculation see the description in the McStas +reference manual. +The reflectivity profile may either use an analytical mode (see Component +Manual) or a 2-columns reflectivity free text file with format +[q(Angs-1) R(0-1)]. + +Example: Guide(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=2.0, +R0=0.99, Qc=0.021, alpha=6.07, m=2, W=0.003 + +%VALIDATION +May 2005: extensive internal test, no bugs found +Validated by: K. Lieutenant + +%BUGS +This component does not work with gravitation on. Use component Guide_gravity then. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflect | str | Reflectivity file name. Format [q(Angs-1) R(0-1)] | 0 | +| **w1** | m | Width at the guide entry | | +| **h1** | m | Height at the guide entry | | +| **w2** | m | Width at the guide exit | | +| **h2** | m | Height at the guide exit | | +| **l** | m | Length of guide | | +| R0_left | 1 | Low-angle reflectivity, left mirrror. | 0.99 | +| R0_right | 1 | Low-angle reflectivity, right mirror. | 0.99 | +| R0_top | 1 | Low-angle reflectivity, top mirror. | 0.99 | +| R0_bottom | 1 | Low-angle reflectivity, bottom mirror. | 0.99 | +| Qc_left | AA-1 | Critical scattering vector, left mirrror. | 0.0219 | +| Qc_right | AA-1 | Critical scattering vector, right mirror. | 0.0219 | +| Qc_top | AA-1 | Critical scattering vector, top mirror. | 0.0219 | +| Qc_bottom | AA-1 | Critical scattering vector, bottom mirror. | 0.0219 | +| aleft | AA | Slope of reflectivity, left mirrror. | 6.07 | +| aright | AA | Slope of reflectivity, right mirror. | 6.07 | +| atop | AA | Slope of reflectivity, top mirror. | 6.07 | +| abottom | AA | Slope of reflectivity, bottom mirror. | 6.07 | +| mleft | 1 | m-value of material. Zero means completely absorbing, left mirrror. | 2 | +| mright | 1 | m-value of material. Zero means completely absorbing, right mirror. | 2 | +| mtop | 1 | m-value of material. Zero means completely absorbing, top mirror. | 2 | +| mbottom | 1 | m-value of material. Zero means completely absorbing, bottom mirror. | 2 | +| W_left | AA-1 | Width of supermirror cut-off, left mirrror. | 0.003 | +| W_right | AA-1 | Width of supermirror cut-off, right mirror. | 0.003 | +| W_top | AA-1 | Width of supermirror cut-off, top mirror. | 0.003 | +| W_bottom | AA-1 | Width of supermirror cut-off, bottom mirror. | 0.003 | +| W | AA-1 | Overall width of supermirror cut-off, overwrites values from individual mirrors | 0 | +| m | 1 | Overall m-value of supermirrors, overwrites values from individual mirrors | 0 | +| alpha | AA | Overall slope of reflectivity, overwrites values from individual mirrors | 0 | +| R0 | 1 | Overall, low-angle reflectivity, overwrites values from individual mirrors | 0 | +| Qc | AA-1 | Overall, critical scattering vector, overwrites values from individual mirrors | 0 | + +## Links + +- [Source code](Guide_m.comp) for `Guide_m.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Guide_multichannel.md b/mcstas-comps/contrib/Guide_multichannel.md new file mode 100644 index 0000000000..fa9c1dddbe --- /dev/null +++ b/mcstas-comps/contrib/Guide_multichannel.md @@ -0,0 +1,74 @@ +# The `Guide_multichannel` Component + +*McStas: Multichannel neutron guide with semi-transparent blades. +Derived from Guide_channeled by Christian Nielsen. +Allows to simulate bi-spectral extraction optics.* + +## Identification + +- **Site:** +- **Author:** Jan Saroun (saroun@ujf.cas.cz) +- **Origin:** Nuclear Physics Institute, CAS, Rez +- **Date:** 17.3.2022 + +## Description + +```text +Models a rectangular guide with equidistant vertical blades of finite thickness. +The blades material can be either fully absorbing or semi-transparent. The absorption +coefficient is wavelength dependent according to the semi-empirical model used +e.g. in J. Baker et al., J. Appl. Cryst. 41 (2008) 1003 or +A. Freund, Nucl. Instr. Meth. A 213 (1983) 495. +Data are provided for Si and Al2O3. + +All walls are flat, curvature is not implemented (may be added as a future upgrade) +Tapering is possible by setting different entry ad exit dimensions. +Different guide coating can be set for vertical and horizontal mirrors. +For transparent walls, neutrons are alloed to migrate between channels and to +propagate through the blades. + +The model is almost equivalent to the GUIDE component in SIMRES (http://neutron.ujf.cas.cz/restrax) +when used with zero curvature and type set to "guide or bender". +The features from SIMRES not included in this McSas model are: +- has a more conservative model for absorption in blades: events above r(m= 1) | 1 | +| dlam | m | Thickness of lamellae | 0.0005 | +| Qcx | AA-1 | Critical scattering vector for left and right vertical mirrors in each channel | 0.0218 | +| Qcy | AA-1 | Critical scattering vector for top and bottom mirrors | 0.0218 | +| alphax | AA | Slope of reflectivity for left and right vertical mirrors in each channel | 4.38 | +| alphay | AA | Slope of reflectivity for top and bottom mirrors | 4.38 | +| W | AA-1 | Width of supermirror cut-off for all mirrors | 0.003 | +| mx | 1 | m-value of material for left and right vertical mirrors in each channel. Zero means completely absorbing. | 1 | +| my | 1 | m-value of material for top and bottom mirrors. Zero means completely absorbing. | 1 | +| mater | string | "Si", "Al2O3", or "absorb" (default) | "absorb" | + +## Links + +- [Source code](Guide_multichannel.comp) for `Guide_multichannel.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/ISIS_moderator.md b/mcstas-comps/contrib/ISIS_moderator.md new file mode 100644 index 0000000000..216d55998e --- /dev/null +++ b/mcstas-comps/contrib/ISIS_moderator.md @@ -0,0 +1,56 @@ +# The `ISIS_moderator` Component + +*McStas: ISIS Moderators* + +## Identification + +- **Site:** +- **Author:** S. Ansell and D. Champion +- **Origin:** ISIS +- **Date:** AUGUST 2005 + +## Description + +```text +Produces a TS1 or TS2 ISIS moderator distribution. The Face argument determines which moderator +is to be sampled. Each face uses a different Etable file (the location of which is determined by +the MCTABLES environment variable). Neutrons are created having a range of energies +determined by the Emin and Emax arguments. Trajectories are produced such that they pass +through the moderator face (defined by modXsixe and yheight) and a focusing rectangle +(defined by xh,focus_yh and dist). Please download the documentation for precise instructions for use. + +Example: ISIS_moderator(Face ="water", Emin = 49.0,Emax = 51.0, dist = 1.0, focus_xw = 0.01, +focus_yh = 0.01, xwidth = 0.074, yheight = 0.074, CAngle = 0.0,SAC= 1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Face | word | Name of the face - TS2=groove,hydrogen,narrow,broad - | "hydrogen" | +| Emin | meV | Lower edge of energy distribution | 49.0 | +| Emax | meV | Upper edge of energy distribution | 51.0 | +| dist | m | Distance from source to the focusing rectangle | 1.0 | +| focus_xw | m | Width of focusing rectangle | 0.01 | +| focus_yh | m | Height of focusing rectangle | 0.01 | +| xwidth | m | Moderator vertical size | 0.074 | +| yheight | m | Moderator Horizontal size | 0.074 | +| CAngle | radians | Angle from the centre line | 0.0 | +| SAC | boolean | Apply solid angle correction or not (1/0) | 1 | +| Lmin | meV | Lower edge of wavelength distribution | 0 | +| Lmax | meV | Upper edge of wavelength distribution | 0 | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 | 1 | +| verbose | boolean | Echo status information at everu 1e5'th neutron | 0 | + +## Links + +- [Source code](ISIS_moderator.comp) for `ISIS_moderator.comp`. +- Further information should be +- downloaded from the ISIS MC website. +- *******************************************************************************/ + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Lens.md b/mcstas-comps/contrib/Lens.md new file mode 100644 index 0000000000..7ff572e5e8 --- /dev/null +++ b/mcstas-comps/contrib/Lens.md @@ -0,0 +1,108 @@ +# The `Lens` Component + +*McStas: Refractive lens with absorption, incoherent scattering and surface imperfection.* + +## Identification + +- **Site:** +- **Author:** C. Monzat/E. Farhi/S. Desert/G. Euzen +- **Origin:** ILL/LLB +- **Date:** 2009 + +## Description + +```text +Refractive Lens with absorption, incoherent scattering and surface imperfection. +Geometry may be: +spherical (use r1 and r2 to specify radius of curvature), +planar (use phiy1 and phiy2 to specify rotation angle of plane w.r.t beam) +parabolic (use focus1 and focus2 as optical focal length). + +Optionally, you can specify the 'geometry' parameter as a OFF/PLY file name. +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the PLY, OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). + +The lens cross-section is seen as a 2*radius disk from the beam Z axis, except +when a 'geometry' file is given. +Usually, you should stack more than one of these to get a significant effect +on the neutron beam, so-called 'compound refractive lens'. + +The focal length for N lenses with focal 'f' is f/N, where f=R/(1-n) +and R = r/2 for a spherical lens with curvature radius 'r' +R = focus for a parabolic lens with focal of the parabola +and n = sqrt(1-(lambda*lambda*rho*bc/PI)) with +bc = sqrt(fabs(sigma_coh)*100/4/PI)*1e-5 +rho = density*6.02214179*1e23*1e-24/weight + +Common materials: Should have high coherent, and low incoherent and absorption cross sections +Be: density=1.85, weight=9.0121, sigma_coh=7.63, sigma_inc=0.0018,sigma_abs=0.0076 +Pb: density=11.115,weight=207.2, sigma_coh=11.115,sigma_inc=0.003, sigma_abs=0.171 +Pb206: sigma_coh=10.68, sigma_inc=0 , sigma_abs=0.03 +Pb208: sigma_coh=11.34, sigma_inc=0 , sigma_abs=0.00048 +Zr: density=6.52, weight=91.224, sigma_coh=6.44, sigma_inc=0.02, sigma_abs=0.185 +Zr90: sigma_coh=5.1, sigma_inc=0 , sigma_abs=0.011 +Zr94: sigma_coh=8.4, sigma_inc=0 , sigma_abs=0.05 +Bi: density=9.78, weight=208.98, sigma_coh=9.148, sigma_inc=0.0084,sigma_abs=0.0338 +Mg: density=1.738, weight=24.3, sigma_coh=3.631, sigma_inc=0.08, sigma_abs=0.063 +MgF2: density=3.148, weight=62.3018,sigma_coh=11.74, sigma_inc=0.0816,sigma_abs=0.0822 +diamond: density=3.52, weight=12.01, sigma_coh=5.551, sigma_inc=0.001, sigma_abs=0.0035 +Quartz/silica: density=2.53, weight=60.08, sigma_coh=10.625,sigma_inc=0.0056,sigma_abs=0.1714 +Si: density=2.329, weight=28.0855,sigma_coh=2.1633,sigma_inc=0.004, sigma_abs=0.171 +Al: density=2.7, weight=26.98, sigma_coh=1.495, sigma_inc=0.0082,sigma_abs=0.231 +perfluoropolymer(PTFE/Teflon/CF2): +density=2.2, weight=50.007, sigma_coh=13.584,sigma_inc=0.0026,sigma_abs=0.0227 +Organic molecules with C,O,H,F + +Example: Lens(r1=0.025,r2=0.025, thickness=0.001,radius=0.0150) + +%BUGS +parabolic shape is not fully validated yet, but should do still... +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| r1 | m | radius of the first circle describing the lens. r>0 means concave face, r<0 means convex, r=0 means plane | 0 | +| r2 | m | radius of the second circle describing the lens r>0 means concave face, r<0 means convex, r=0 means plane | 0 | +| focus1 | m | focal of the first parabola describing the lens | 0 | +| focus2 | m | focal of the second parabola describing the lens | 0 | +| phiy1 | deg | angle of plane1 (r1=0) around y vertical axis | 0 | +| phiy2 | deg | angle of plane2 (r2=0) around y vertical axis | 0 | +| thickness | m | thickness of the lens between its two surfaces | 0.001 | +| radius | m | radius of the lens section, e.g. beam size. | 0.015 | +| sigma_coh | barn | coherent cross section | 11.74 | +| sigma_inc | barn | incoherent cross section | 0.0816 | +| sigma_abs | barn | thermal absorption cross section | 0.0822 | +| density | g/cm3 | density of the material for the lens | 3.148 | +| weight | g/mol | molar mass of the material | 62.3018 | +| p_interact | 1 | MC Probability for scattering the ray; otherwise transmit | 0.1 | +| focus_aw | deg | vertical angle to forward focus after scattering | 10 | +| focus_ah | deg | horizontal angle to forward focus after scattering | 10 | +| RMS | Angs | root mean square roughness of the surface | 0 | +| geometry | str | Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust | 0 | + +## Links + +- [Source code](Lens.comp) for `Lens.comp`. +- M. L. Goldberger et al, Phys. Rev. 71, 294 - 310 (1947) +- Sears V.F. Neutron optics. An introduction to the theory of neutron optical phenomena and their applications. Oxford University Press, 1989. +- H. Park et al. Measured operationnal neutron energies of compound refractive lenses. Nuclear Instruments and Methods B, 251:507-511, 2006. +- J. Feinstein and R. H. Pantell. Characteristics of the thick, compound refractive lens. Applied Optics, 42 No. 4:719-723, 2001. +- Geomview and Object File Format (OFF) +- Java version of Geomview (display only) jroff.jar +- qhull +- powercrust + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Lens_simple.md b/mcstas-comps/contrib/Lens_simple.md new file mode 100644 index 0000000000..7a3f0d489c --- /dev/null +++ b/mcstas-comps/contrib/Lens_simple.md @@ -0,0 +1,72 @@ +# The `Lens_simple` Component + +*McStas: Rectangular/circular slit with parabolic/spherical LENS.* + +## Identification + +- **Site:** +- **Author:** Henrich Frielinghaus +- **Origin:** FZ Juelich +- **Date:** June 2010 + +## Description + +```text +A simple rectangular or circular slit. You may either +specify the radius (circular shape), or the rectangular bounds. +No transmission around the slit is allowed. + +At the slit position there is/are also a LENS or multiple LENSES present. +Spherical/parabolic abberation is taken into account in a simplified +manner. The focal point becomes a function of the distance ss from the +origin of the lens where the ray hits the lens (plane). +With this focal distance the refraction is calculated based on simple +geometrical optics (as tought already in school). + +The approximation gets wrong when the distance ss is too big, and +total reflection becomes possible. Then the corrections of the focal +distance are strong (see foc*= ... lines. When this correction factor +is too close to zero, the corrections become highly wrong). + +The advantage of this routine is the simplicity which makes the +simulation very fast - especially for multiple lenses. The argument +for this way of treating the lenses is that the collimation and +detector distance are large (say 20m) compared to the lens thickness +(say 2-5cm) and the lens array thickness (say max. 1m). + +For lens arrays one still can simulate several of these simplified +lenses instead of an exact treatment (because 5cm<<1m). The author +believes that this medium detailed treatment meets usually the +desired accuracy. + +Example: Lens_simple(rho=5.16e10,Rc=0.0254,Nl=7,xmin=-0.01,xmax=0.01,ymin=-0.01,ymax=0.01) +Lens_simple(rho=5.16e10,Rc=0.0254,Nl=7,radius=0.01) +Lens_simple(rho=5.16e10,Rc=0.0254,Nl=7,radius=0.035,SigmaAL=0.141, d0=0.002) +^^^^^^^^^^^ last example includes absorption of MgF2-lens. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rho | m-2 | Scattering length density | 5.16e14 | +| Rc | m | Radius (concave: Rc>0) of biconcave lens | 0.02 | +| Nl | 1 | Number of single lenses | 7.0 | +| parab | | Switch (not 0 -> parabolic, for 0 spherical) | 1.1 | +| xmin | m | Lower x bound | 0 | +| xmax | m | Upper x bound | 0 | +| ymin | m | Lower y bound | 0 | +| ymax | m | Upper y bound | 0 | +| radius | m | Radius of slit in the z=0 plane, centered at Origin | 0 | +| SigmaAL | | Absorption cross section per lambda (wavelength) [1/(m*AA)] | 0.141 | +| d0 | m | Minimum thickness in the centre of the lens | 0.002 | + +## Links + +- [Source code](Lens_simple.comp) for `Lens_simple.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Mirror_Curved_Bispectral.md b/mcstas-comps/contrib/Mirror_Curved_Bispectral.md new file mode 100644 index 0000000000..87a29f86f9 --- /dev/null +++ b/mcstas-comps/contrib/Mirror_Curved_Bispectral.md @@ -0,0 +1,46 @@ +# The `Mirror_Curved_Bispectral` Component + +*McStas: Single mirror plate that is curved and fits into an elliptic guide.* + +## Identification + +- **Site:** +- **Author:** Henrik Jacobsen +- **Origin:** RNBI +- **Date:** April 2012 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflect | q(Angs-1) R(0-1) | (str) Name of relfectivity file. Format | 0 | +| **focus_s** | m | first focal point of ellipse in ABSOLUTE COORDINATES | | +| **focus_e** | m | second focal point of ellipse in ABSOLUTE COORDINATES | | +| **mirror_start** | m | start of mirror in ABSOLUTE COORDINATES | | +| **guide_start** | m | start of guide in ABSOLUTE COORDINATES | | +| **yheight** | m | the height of the mirror when not in the guide | | +| **smallaxis** | m | the smallaxis of the guide | | +| **length** | m | the length of the mirror | | +| **m** | | m-value of material | | +| transmit | 0/1 | 0: non reflected neutrons are absorbed. 1: non reflected neutrons pass through | 0 | +| substrate_thickness | m | thickness of substrate (for absorption) | 0.0005 | +| coating_thickness | m | thickness of coating (for absorption) | 10e-6 | +| theta_1 | deg | angle of mirror wrt propagation direction at start of mirror | 1.25 | +| theta_2 | deg | angle of mirror wrt propagation direction at center of mirror | 1.25 | +| theta_3 | deg | angle of mirror wrt propagation direction at end of mirror | 1.25 | + +## Links + +- [Source code](Mirror_Curved_Bispectral.comp) for `Mirror_Curved_Bispectral.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Mirror_Elliptic.md b/mcstas-comps/contrib/Mirror_Elliptic.md new file mode 100644 index 0000000000..af117bb7c9 --- /dev/null +++ b/mcstas-comps/contrib/Mirror_Elliptic.md @@ -0,0 +1,46 @@ +# The `Mirror_Elliptic` Component + +*McStas: Elliptical mirror.* + +## Identification + +- **Site:** +- **Author:** Sylvain Desert +- **Origin:** LLB +- **Date:** 2007 + +## Description + +```text +Models an elliptical mirror. The reflectivity profile is given by a 2-column reflectivity free +text file with format [q(Angs-1) R(0-1)]. The component is centered on the ellipse. + +Example: Mirror_Elliptic(reflect="supermirror_m3.rfl", focus=6.6e-4, +interfocus = 8.2, yheight = 0.0002, zmin=-3.24, zmax=-1.49) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflect | q(Angs-1) R(0-1) | (str) Reflectivity file name. Format | 0 | +| focus | m | focal length (m) | 6.6e-4 | +| interfocus | m | Distance between the two elliptical focal points | 8.2 | +| yheight | m | height of the mirror | 2e-4 | +| zmin | m | z-axis coordinate of ellipse start | 0 | +| zmax | m | z-axis coordinate of ellipse end | 0 | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.0219 | +| alpha | AA | Slope of reflectivity | 6.07 | +| m | 1 | m-value of material. Zero means completely absorbing. | 1.0 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | + +## Links + +- [Source code](Mirror_Elliptic.comp) for `Mirror_Elliptic.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Mirror_Elliptic_Bispectral.md b/mcstas-comps/contrib/Mirror_Elliptic_Bispectral.md new file mode 100644 index 0000000000..d1847fc620 --- /dev/null +++ b/mcstas-comps/contrib/Mirror_Elliptic_Bispectral.md @@ -0,0 +1,44 @@ +# The `Mirror_Elliptic_Bispectral` Component + +*McStas: Single mirror plate that is curved and fits into an elliptic guide.* + +## Identification + +- **Site:** +- **Author:** Henrik Jacobsen +- **Origin:** RNBI +- **Date:** April 2012 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflect | q(Angs-1) R(0-1) | (str) Name of relfectivity file. Format | 0 | +| **focus_start_w** | m | Horizontal position of first focal point of ellipse in ABSOLUTE COORDINATES | | +| **focus_end_w** | m | Horizontal position of second focal point of ellipse in ABSOLUTE COORDINATES | | +| **focus_start_h** | m | Vertical position of first focal point of ellipse in ABSOLUTE COORDINATES | | +| **focus_end_h** | m | VErtical position of second focal point of ellipse in ABSOLUTE COORDINATES | | +| **mirror_start** | m | start of mirror in ABSOLUTE COORDINATES | | +| **m** | | m-value of material | | +| **smallaxis_w** | m | Small-axis dimension of horizontal ellipse | | +| **smallaxis_h** | m | Small-axis dimension of vertical ellipse | | +| **length** | m | the length of the mirror | | +| transmit | 0/1 | 0: non reflected neutrons are absorbed. 1: non reflected neutrons pass through | 0 | +| substrate_thickness | m | thickness of substrate (for absorption) | 0.0005 | +| coating_thickness | m | thickness of coating (for absorption) | 10e-6 | + +## Links + +- [Source code](Mirror_Elliptic_Bispectral.comp) for `Mirror_Elliptic_Bispectral.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Mirror_Parabolic.md b/mcstas-comps/contrib/Mirror_Parabolic.md new file mode 100644 index 0000000000..ac50f1e8a3 --- /dev/null +++ b/mcstas-comps/contrib/Mirror_Parabolic.md @@ -0,0 +1,45 @@ +# The `Mirror_Parabolic` Component + +*McStas: Parabolic mirror.* + +## Identification + +- **Site:** +- **Author:** Sylvain Desert +- **Origin:** LLB +- **Date:** 2007 + +## Description + +```text +Models a parabolic mirror. The reflectivity profile is given by a 2-column reflectivity free +text file with format [q(Angs-1) R(0-1)]. + +Example: Mirror_Parabolic(reflect="supermirror_m3.rfl", xwidth = 0.05, xshift=0.05, +yheight = 2e-4, focus = 6.6e-4) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflect | q(Angs-1) R(0-1) | (str) Reflectivity file name. Format | 0 | +| xwidth | m | width of the illuminated parabola | 0.05 | +| xshift | m | distance between the beam centre and the symetric axis of the parabolla | 0.019 | +| yheight | m | height of the mirror | 2e-4 | +| focus | m | focal length | 6.6e-4 | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.0219 | +| alpha | AA | Slope of reflectivity | 6.07 | +| m | 1 | m-value of material. Zero means completely absorbing. | 1.0 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | + +## Links + +- [Source code](Mirror_Parabolic.comp) for `Mirror_Parabolic.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Monochromator_2foc.md b/mcstas-comps/contrib/Monochromator_2foc.md new file mode 100644 index 0000000000..be1a34943e --- /dev/null +++ b/mcstas-comps/contrib/Monochromator_2foc.md @@ -0,0 +1,73 @@ +# The `Monochromator_2foc` Component + +*McStas: Double bent monochromator with multiple slabs* + +## Identification + +- **Site:** +- **Author:** Peter Link. +- **Origin:** Uni. Gottingen (Germany) +- **Date:** Feb. 12,1999 + +## Description + +```text +Double bent monochromator which uses a small-mosaicity approximation as well +as the approximation vy^2 << vz^2 + vx^2. +Second order scattering is neglected. +For an unrotated monochromator component, the crystal plane lies in the y-z +plane (ie. parallel to the beam). +When curvatures are set to 0, the monochromator is flat. +The curvatures approximation for parallel beam focusing to distance L, with +monochromator rotation angle A1 are: +RV = 2*L*sin(DEG2RAD*A1); +RH = 2*L/sin(DEG2RAD*A1); + +Example: Monochromator_2foc(zwidth=0.02, yheight=0.02, gap=0.0005, NH=11, NV=11, +mosaich=30, mosaicv=30, r0=0.7, Q=1.8734) + +Example values for lattice parameters +PG 002 DM=3.355 AA (Highly Oriented Pyrolytic Graphite) +PG 004 DM=1.607 AA +Heusler 111 DM=3.362 AA (Cu2MnAl) +CoFe DM=1.771 AA (Co0.92Fe0.08)b +Ge 311 DM=1.714 AA +Si 111 DM=3.135 AA +Cu 111 DM=2.087 AA +Cu 002 DM=1.807 AA +Cu 220 DM=1.278 AA +Cu 111 DM=2.095 AA +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflect | k, R | reflectivity file name of text file as 2 columns | 0 | +| zwidth | m | horizontal width of an individual slab | 0.01 | +| yheight | m | vertical height of an individual slab | 0.01 | +| gap | m | typical gap between adjacent slabs | 0.0005 | +| NH | columns | number of slabs horizontal | 11 | +| NV | rows | number of slabs vertical | 11 | +| mosaich | arcmin | Horisontal mosaic FWHM | 30.0 | +| mosaicv | arcmin | Vertical mosaic FWHM | 30.0 | +| r0 | 1 | Maximum reflectivity | 0.7 | +| Q | AA-1 | Scattering vector | 1.8734 | +| RV | m | radius of vertical focussing, flat for 0 | 0 | +| RH | m | radius of horizontal focussing, flat for 0 | 0 | +| DM | Angstrom | monochromator d-spacing instead of Q=2*pi/DM | 0 | +| mosaic | arcmin | sets mosaich=mosaicv | 0 | +| width | m | total width of monochromator | 0 | +| height | m | total height of monochromator | 0 | +| verbose | 0/1 | verbosity level | 0 | + +## Links + +- [Source code](Monochromator_2foc.comp) for `Monochromator_2foc.comp`. +- Additional note from Peter Link. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Monochromator_bent.md b/mcstas-comps/contrib/Monochromator_bent.md new file mode 100644 index 0000000000..a1949aa171 --- /dev/null +++ b/mcstas-comps/contrib/Monochromator_bent.md @@ -0,0 +1,63 @@ +# The `Monochromator_bent` Component + +*McStas: A bent crystal monochromator. Based on the model implemented by Jan Šaroun in NIMA 529 (2004) pp 162-165. +Mosacity and bending radius can be set.* + +## Identification + +- **Site:** +- **Author:** Daniel Lomholt Christensen with help from Jan Šaroun +- **Origin:** ILL/NBI +- **Date:** 24 August 2023 + +## Description + +```text +This monochromator is an array of crystals, that can be bent. +The crystals are placed by the user in the x,y,z pos and rot parameters. +The crystal is bent, so that it follows a curve on a cylinder of radius_x. +The monochromator lies along the z plane, so when a diffraction angle of theta +is desired, it should just be inserted in the ROTATED parameter around +the y-axis. +Instruments that showcase the use of this component is the +"Test_monochromator_bent.instr", and the "ILL_SALSA.instr" under the examples folder. +SALSA showcases its complex use in a real instrument, while Test_monochromator_bent +makes a simple show of its capabilities. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| zwidth | m | Width of each crystal without bending. | 0.2 | +| yheight | m | Height of each crystal without bending. | 0.1 | +| xthickness | m | Thickness of each crystal without bending. | 0.0005 | +| radius_x | m | Radius of the circle the monochromator bends on in the plane. Can be negative. | 2 | +| radius_y | m | Radius of the (very large) circle the monochromator bends on as a side effect of the horizontal bending. The code assumes that it is so small that it does not affect the points of intersection appreciatively of the crystal. | 0 | +| plane_of_reflection | "Si400" | The plane of reflection from the material. The list of possible reflections can be seen in the source code. | "Si400" | +| angle_to_cut_horizontal | degrees | Angle between cut and normal of crystal slab, horizontally | 0 | +| mosaicity | arcmin | Gaussian mosaicity of the crystal. Always the horizontal mosaicity | 30 | +| mosaic_anisotropy | 1 | Anisotropy of the mosaicity, changes vertical mosaicity to be mosaic_anisotropy*mosaicity | 1 | +| n_crystals | # | Number of crystals in your array. | 1 | +| domainthickness | μm | Thickness of the crystal domains. | 10 | +| temperature | K | Temperature of the monochromator in Kelvin. | 300 | +| optimize | | Flag to tell if the component should optimize for reflections or not. | 0 | +| x_pos | vector | x-Position of each crystal | NULL | +| y_pos | vector | y-Position of each crystal | NULL | +| z_pos | vector | z-Position of each crystal | NULL | +| x_rot | vector | Rotation around x-axis for each crystal | NULL | +| y_rot | vector | Rotation around y-axis for each crystal | NULL | +| z_rot | vector | Rotation around z-axis for each crystal NOTE: Rotations happen around x, then y, then z. | NULL | +| verbose | | Verbosity of the monochromator. Used for debugging. | 0 | +| draw_as_rectangles | | Draw the monochromators as boxes. DOES NOT WORK WHEN USING _rot parameters. | 0 | + +## Links + +- [Source code](Monochromator_bent.comp) for `Monochromator_bent.comp`. +- Jan Šaroun NIM A Volume 529, Issue 1-3 (2004), pp162-165 + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Monochromator_bent_complex.md b/mcstas-comps/contrib/Monochromator_bent_complex.md new file mode 100644 index 0000000000..bbccd3edb8 --- /dev/null +++ b/mcstas-comps/contrib/Monochromator_bent_complex.md @@ -0,0 +1,58 @@ +# The `Monochromator_bent_complex` Component + +*McStas: A bent crystal monochromator. Based on the model implemented by Jan Šaroun in NIMA 529 (2004) pp 162-165. Mosacity and bending radius can be set.* + +## Identification + +- **Site:** +- **Author:** Daniel Lomholt Christensen with help from Jan Šaroun +- **Origin:** ILL/NBI +- **Date:** 2 August 2025 + +## Description + +```text +This component is a more complex implementation of Monochromator_bent. +This component only differs in the fact that it allows and forces the user +to set every single parameter for every single crystal in the crystal array. +An exception to this rule is the plane of reflection, for which one can +choose a single plane of reflection, and that will work for all crystals. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| zwidth | m | Width of each crystal without bending. | NULL | +| yheight | m | Height of each crystal without bending. | NULL | +| xthickness | m | Thickness of each crystal without bending. | NULL | +| radius_x | m | Radius of the circle the monochromator bends on in the plane. Can be negative. | NULL | +| radius_y | m | Radius of the (very large) circle the monochromator bends on as a side effect of the horizontal bending. The code assumes that it is so small that it does not affect the points of intersection appreciatively of the crystal. | NULL | +| angle_to_cut_horizontal | degrees | Angle between cut and normal of crystal slab, horizontally | NULL | +| mosaicity | arcmin | Gaussian mosaicity of the crystal. Always the horizontal mosaicity | NULL | +| mosaic_anisotropy | 1 | Anisotropy of the mosaicity, changes vertical mosaicity to be mosaic_anisotropy*mosaicity | NULL | +| domainthickness | μm | Thickness of the crystal domains. | NULL | +| temperature | K | Temperature of the monochromator in Kelvin. | NULL | +| plane_of_reflection | string | The plane of reflection from the material. The list of possible reflections can be seen in the source code. Each plane must be separated by a ";", like "Si400;Si111". | "Si400" | +| x_pos | vector | x-Position of each crystal | NULL | +| y_pos | vector | y-Position of each crystal | NULL | +| z_pos | vector | z-Position of each crystal | NULL | +| x_rot | vector | Rotation around x-axis for each crystal | NULL | +| y_rot | vector | Rotation around y-axis for each crystal | NULL | +| z_rot | vector | Rotation around z-axis for each crystal NOTE: Rotations happen around x, then y, then z. | NULL | +| n_crystals | 1 | Number of crystals in your array. | 1 | +| optimize | 1 | Flag to tell if the component should optimize for reflections or not. | 0 | +| verbose | 1 | Verbosity of the monochromator. Used for debugging. | 0 | +| draw_as_rectangles | 1 | Draw the monochromators as boxes. DOES NOT WORK WHEN USING _rot parameters. | 0 | + +## Links + +- [Source code](Monochromator_bent_complex.comp) for `Monochromator_bent_complex.comp`. +- Jan Šaroun NIM A Volume 529, Issue 1-3 (2004), pp162-165 +- Christensen, D.L.; Cabeza, S.; Pirling, T.; Lefmann, K.; Šaroun, J. Simulating Neutron Diffraction from Deformed Mosaic Crystals in McStas. Quantum Beam Sci. 2026, 10, 6. https://doi.org/10.3390/qubs10010006 + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/MultiDiskChopper.md b/mcstas-comps/contrib/MultiDiskChopper.md new file mode 100644 index 0000000000..285a4ae86e --- /dev/null +++ b/mcstas-comps/contrib/MultiDiskChopper.md @@ -0,0 +1,68 @@ +# The `MultiDiskChopper` Component + +*McStas: Based on DiskChopper (Revision 1.18) by Peter Willendrup (2006), +which in turn is based on Chopper (Philipp Bernhardt), Jitter and beamstop from work by +Kaspar Hewitt Klenoe (jan 2006), adjustments by Rob Bewey (march 2006)* + +## Identification + +- **Site:** +- **Author:** Markus Appel +- **Origin:** ILL / FAU Erlangen-Nuernberg +- **Date:** 2015-10-19 + +## Description + +```text +Models a disk chopper with a freely configurable slit pattern. For simple applications, +use the DiskChopper component and see the component manual example of DiskChopper GROUPing. +If the chopper slit pattern should be dynamically configurable or a complicated pattern +is to be used as first chopper on a continuous source, use this component. + +Width and position of the slits is defined as a list in string parameters so +they can easily be taken from instrument parameters. +The chopper axis is located on the y axis as defined by the parameter delta_y. +When the chopper is the first chopper after a continuous (i.e. time-independent) +source, the parameter isfirst should be set to 1 to increase Monte-Carlo efficiency. + + +Examples (see parameter definitions for details): +Two opposite slits with 10 and 20deg opening, with the 20deg slit in the beam at t=0.02: +MultiDiskChopper(radius=0.2, slit_center="0;180", slit_width="10;20", delta_y=-0.1, +nu=302, nslits=2, phase=180, delay=0.02) + +First chopper on a continuous source, creating pulse trains for one additional revolution +before and after the revolution at t=0: +MultiDiskChopper(radius=0.2, slit_center="0;180", slit_width="10;20", delta_y=-0.1, +nu=302, nslits=2, phase=180, isfirst=1, nrev=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| slit_center | string | (deg) Angular position of the slits (similar to slit_width) | "0 180" | +| slit_width | string | (deg) Angular width of the slits, given as list in a string separated by space ' ', comma ',', underscore '_' or semicolon ';'. Example: "0;20;90;135;270" | "10 20" | +| nslits | | Number of slits to read from slit_width and slit_center | 2 | +| delta_y | m | y-position of the chopper rotation axis. If the chopper is located above the guide (delta_y>0), the coordinate system will be mirrored such that the created pulse pattern in time is the same as for delta_y<0. A warning will be printed in this case. | -0.3 | +| nu | Hz | Rotation speed of the disk, the sign determines the direction. | 0 | +| nrev | | When isfirst=1: Number of *additional* disk revolutions before *and* after the one around t=delay to distribute events on. If set to 2 for example, there will be 2 leading, 1 central, and 2 trailing revolutions of the disk (2*nrev+1 in total). | 0 | +| ratio | | When isfirst=1: Spacing of the additional revolutions from the parameter nrev from the central revolution. | 1 | +| jitter | s | Jitter in the time phase. | 0 | +| delay | s | Time delay of the chopper clock. | 0 | +| isfirst | 0/1 | Set to 1 for the first chopper after a continuous source. The neutron events | 0 | +| phase | deg | Phase angle located on top of the disk at t=delay (see below). | 0 | +| radius | m | Outer radius of the disk | 0.375 | +| equal | 0/1 | When isfirst=1: If 0, the neutron events will be distributed between different slits proportional to the slit size. If 1, the events will be distributed such that each slit transmits the same number of events. This parameter can be used to achieve comparable simulation statistics over different pulses when simulating small and large slits together. | 0 | +| abs_out | | If 1, absorb all neutrons outside the disk diameter. | 0 | +| verbose | 0/1 | Set to 1 to display more information during the simulation. | 0 | + +## Links + +- [Source code](MultiDiskChopper.comp) for `MultiDiskChopper.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Multilayer_Sample.md b/mcstas-comps/contrib/Multilayer_Sample.md new file mode 100644 index 0000000000..6918be6e9f --- /dev/null +++ b/mcstas-comps/contrib/Multilayer_Sample.md @@ -0,0 +1,56 @@ +# The `Multilayer_Sample` Component + +*McStas: Multilayer Reflecting sample using matrix Formula, v2 with 'nrepeats' for repeating multilayer structure.* + +## Identification + +- **Site:** +- **Author:** Robert Dalgliesh +- **Origin:** ISIS +- **Date:** June 2010 + +## Description + +```text +in order to get this to compile you need to link against +the gsl and gslcblas libraries. + +to do this automatically edit +/usr/local/lib/mcstas/tools/perl/mcstas_config.perl + +add -lgsl and -lgslcblas to the CFLAGS line + +Horizontal reflecting substrate defined by SLDs,Thicknesses, roughnesses +The superphase may also be determined + +Example: Multilayer_Sample(xmin=-0.1, xmax=0.1,zmin=-0.1, zmax=0.1, nlayer=1,sldPar={0.0,2.0e-6,0.0e-6},dPar={20.0}, sigmaPar={5.0,5.0}) + +Example: d1 500: sld1 (air) 0.0: sld2 (Si) 2.07e-6: sldf1(film Ni) 9.1e-6 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Width of substrate | 0.2 | +| zlength | m | Length of substrate | 0.2 | +| nlayer | 1 | Number of film layers | 1 | +| nrepeats | 1 | Number of repeats of the block of layers appart from the superphase and substrate | 1 | +| sldPar | AA^-2 | Scattering length Density's of layers | {0.0,2.0e-6,0.0e-6} | +| dPar | AA | Thicknesses of film layers | {20.0} | +| sigmaPar | AA | r.m.s roughnesses of the interfaces | {5.0,5.0} | +| frac_inc | 1 | Fraction of statistics to assign to incoherent scattering | 0 | +| ythick | m | Thickness of substrate | 0 | +| mu_inc | m^-1 | Incoherent scattering length | 5.62 | +| target_index | 1 | Used in combination with focus_xw and focus_yh to indicate solid angle for incoherent scattering. | 0 | +| focus_xw | m | Used in combination with target_index and focus_yh to indicate solid angle for incoherent scattering. | 0 | + +## Links + +- [Source code](Multilayer_Sample.comp) for `Multilayer_Sample.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/NMO.md b/mcstas-comps/contrib/NMO.md new file mode 100644 index 0000000000..814d8bf24e --- /dev/null +++ b/mcstas-comps/contrib/NMO.md @@ -0,0 +1,56 @@ +# The `NMO` Component + +*McStas: Date: 2022-2023 + +NMO (nested mirror optic) modules* + +## Identification + +- **Site:** +- **Author:** Christoph Herb, TUM +- **Origin:** TUM +- **Date:** 2022-2023 + +## Description + +```text +Simulates NMO (nested mirror optic) modules as concevied by Böni et al., see +Christoph Herb et al., Nucl. Instrum. Meth. A 1040, 1671564 (1-18) 2022. + +The component relies on an updated version of conic.h from MIT. + +NMO.comp contains no actual code, uses INHERIT of all sections from FlatEllipse_finite_mirror +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sourceDist | m | Distance used for calculating the spacing of the mirrors | 0 | +| LStart | m | Left focal point | 0.6 | +| LEnd | m | Right focal point | 0.6 | +| lStart | m | z-Value of the mirror start | 0. | +| lEnd | m | z-Value of the mirror end | 0. | +| r_0 | m | distance to the mirror at lStart | 0.02076 | +| nummirror | 1 | number of mirrors | 9 | +| mf | | mvalue of the inner side of the coating, m>10 results in perfect reflections | 4 | +| mb | | mvalue of the outer side of the coating, m>10 results in perfect reflections | 0 | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| Qc | AA-1 | critical scattering vector | 0.021 | +| W | AA-1 | width of supermirror cutoff | 0.003 | +| alpha | AA | Slope of reflectivity | 6.07 | +| mirror_width | m | width of the individual mirrors | 0.003 | +| mirror_sidelength | m | side length of the individual mirrors | 1 | +| doubleReflections | 1 | binary value determining whether the mirror backside is reflective | 0 | +| rfront_inner_file | str | file of distances to the optical axis of the individual mirrors | "NULL" | + +## Links + +- [Source code](NMO.comp) for `NMO.comp`. +- Christoph Herb et al., Nucl. Instrum. Meth. A 1040, 1671564 (1-18) 2022. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/NPI_tof_dhkl_detector.md b/mcstas-comps/contrib/NPI_tof_dhkl_detector.md new file mode 100644 index 0000000000..a85ebc3d9e --- /dev/null +++ b/mcstas-comps/contrib/NPI_tof_dhkl_detector.md @@ -0,0 +1,73 @@ +# The `NPI_tof_dhkl_detector` Component + +*McStas: Release: McStas 2.5 +Last update: 30/11/2018 + +NPI detector for estimating dhkl from tof* + +## Identification + +- **Site:** +- **Author:** Jan Saroun, saroun@ujf.cas.cz +- **Origin:** NPI +- **Date:** July 1, 2017 + +## Description + +```text +A cylindrical detector which converts time-of-flight data (x,y,z,time) to a 1D diffractogram in dhkl. +The detector model includes finite detection depth, spatial and time resolution. Optionally, the component +exports position and time coordinates of detection events in an ASCII file. + +The component can also handle setups employing a modulation chopper for peak multiplexing at a long pulse source, +as proposed for the diffractometer BEER@ESS. In this case, the component requires chopper parameters +(modulation period, width of the primary unmodulated pulse), and a file with estimated dhkl values. +The component then estimates valid regions on the angle/tof map, excluding areas assumed to be empty +or with overlaping lines. This map is exported together with the diffractogram. + +Tips for usage: +1) Centre the detector at the sample axis, keep z-axis parallel to the incident beam. +2) Set the radius equal to the distance from the sample axis to the front face of the detection volume. +3) Linst-Lc is used to determine "instrumental" wavelength as lambda = h/m_n*time/(Linst-Lc); +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of file in which to store the detector data. | 0 | +| radius | m | Radius of detector. | 2 | +| yheight | m | Height of detector. | 0.3 | +| zdepth | m | Thickness of the detection volume. | 0.01 | +| amin | deg | minimum of scattering angle to be detected. | 75 | +| amax | deg | maximum of scattering angle to be detected. | 105 | +| nd | | Number of bins for dhkl in the 1D diffractograms. | 200 | +| na | | Number of bins for scattering angles in the 2D maps. | 800 | +| nt | | Number of bins for time of flight in the 2D maps. | 800 | +| nev | | Number of detection events to export in "events.dat" (only modulation mode, set 1 for no export) | 1 | +| d_min | AA | minimum of inter-planar spacing to be detected. | 1 | +| d_max | AA | maximum of inter-planar spacing to be detected. | 3 | +| **time0** | s | Time delay of the wavelength definition chopper with respect to the source pulse. | | +| **Linst** | m | Distance from the source to the detector. | | +| **Lc** | m | Distance from the source to the pulse chopper (set 0 for a short pulse source). | | +| res_x | m | Spatial resolution along x (Gaussian FWHM). | 0 | +| res_y | m | Spatial resolution along y (Gaussian FWHM). | 0 | +| res_t | s | Time resolution (Gaussian FWHM). Readout only, path to capture is accounted for by the tracing code. | 0 | +| mu | 1/cm/AA | Capture coefficient for the detection medium. | 1.0 | +| mod_shift | float | Relative shift of the modulation pattern (delta_d/d, constant for all reflections). | 0 | +| modulation | 1\|0 | Switch on/off the modulation regime (BEER multiplexing technique). | 0 | +| mod_dt | s | Modulation period. | 0 | +| mod_twidth | s | Width of the primary source pulse. | 0 | +| mod_d0_table | str | Name of a file with the list of dhkl estimates (one per line). | 0 | +| verbose | 1\|0 | Switch for extended reporting. | 0 | +| restore_neutron | 1\|0 | Switch for restoring of previous neutron state. | 1 | + +## Links + +- [Source code](NPI_tof_dhkl_detector.comp) for `NPI_tof_dhkl_detector.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/NPI_tof_theta_monitor.md b/mcstas-comps/contrib/NPI_tof_theta_monitor.md new file mode 100644 index 0000000000..722fad1590 --- /dev/null +++ b/mcstas-comps/contrib/NPI_tof_theta_monitor.md @@ -0,0 +1,50 @@ +# The `NPI_tof_theta_monitor` Component + +*McStas: Release: McStas 1.6 + +Cylindrical (2pi) PSD Time-of-flight monitor.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** October 2000 + +## Description + +```text +Derived from TOF_cylPSD_monitor. +Code is extended by the option allowing to define range of scattering angles, therefore creating only a part of the cylinder surface. +The plot is transposed when compared to TOF_cylPSD_monitor: scattering angles are on the horizontal axis. + + +Example: TOF_cylPSD_monitor_NPI(nt = 1024, nphi = 960, filename = "Output.dat", +radius = 2, yheight = 1.0, tmin = 3e4, tmax = 12e4, amin = 75, amax = 105, restore_neutron = 1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of file in which to store the detector image | 0 | +| radius | m | Cylinder radius | 1 | +| yheight | m | Cylinder height | 0.3 | +| **tmin** | mu-s | Beginning of time window | | +| **tmax** | mu-s | End of time window | | +| **amin** | deg | minimum angle to detect | | +| **amax** | deg | maximum angle to detect | | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 1 | +| verbose | | | 0 | +| nt | 1 | Number of time bins | 128 | +| na | | | 90 | + +## Links + +- [Source code](NPI_tof_theta_monitor.comp) for `NPI_tof_theta_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/PSD_Detector.md b/mcstas-comps/contrib/PSD_Detector.md new file mode 100644 index 0000000000..9c9a685cde --- /dev/null +++ b/mcstas-comps/contrib/PSD_Detector.md @@ -0,0 +1,168 @@ +# The `PSD_Detector` Component + +*McStas: Position-sensitive gas-filled detector with gaseous thermal-neutron +converter (box, cylinder or 'banana').* + +## Identification + +- **Site:** +- **Author:** Thorwald van Vuure +- **Origin:** ILL +- **Date:** Feb 21st, 2005 + +## Description + +```text +An n times m pixel Position Sensitive Detector (PSD), box, cylinder or banana +filled with a mixture of thermal-neutron converter gas and stopping gas. +This model implements wires detection, including charge drift, parallax, etc. +The default is a simple 1D/2D position detector. However, setting +the parameter 'type' to "events" will save the signal as an event file which +contains all neutron parameters at detection points, including time. This is +especially suited for TOF detectors. Please use Histogrammer afterwards. +The gas creation event (neutron absorption in gas) is flagged as SCATTERED==1, +and the charge detection (signal) is flagged as SCATTERED==2. + +GEOMETRY: +A flat rectangular box of given depth is simulated, or alternatively +a cylinder (when giving radius), or a horizontal cylindrical 'banana' +detector (when giving the width along the arc). +Box position is at its center, the 'banana' and cylinder have their +position at focus point, symetric in angular range for the 'banana'. + +GAS SPECIFICATIONS: +The converter gas can be specified as He-3, BF3 or N2. +The filling pressure of converter gas must be specified along +with the zdepth: this gives an absorption probability (e.g. ~90% for +0.18 nm neutrons at zdepth 3 cm and He-3 pressure 5 bar). +The stopping gas can be specified as one of the following gases: +CF4, C3H8, CO2, Xe/TMA or He, or any for which a table of stopping +powers is available. NB: each stopping gas table has specific +data on a pair of particles (from thermal-neutron absorptions in +either He-3, BF3 or N2) in a specific gas. Unusual choices like N2 +as a converter and He as a stopping gas probably require the +calculation of a new table. +Tip: to do a simulation in pure He-3, specify 0 bar for the stopping gas. +The pressures of the two gases together put a lower limit on the +achievable spatial resolution, no matter what pixel size is +specified. +Example: 1 bar CF4 gives ~2.5 mm spatial resolution, 3 bar CF4 gives +~1 mm. C3H8 requires more pressure for the same resolution, then +Xe/TMA, then CO2 and finally He. + +IMPLEMENTED FEATURES: +Taken into account are the following effects: +- (rectangularly distributed) error in the recorded position due to +the range of the neutron capture products in the gas +- angular dependence of absorption efficiency +- border effect (events outside the sensitive volume tend to be +counted in the border pixels) +- parallax effect (with, if desired, an electrostatic lens to +partially correct for this - use "LensOn=1") +- wall effect +To correctly take the wall effect into account, a value must be +specified for the energy threshold for acceptance of an event as a +valid neutron event. This normally serves to discriminate from +gammas. Because these are not simulated in McStas, a value of 0 keV +can be chosen for this threshold if one is interested in seeing the +maximum number of neutrons; however, a more realistic value would be +100 keV. This implies seeing the maximum number of neutrons as well, +except in geometries with dominating wall effect. +The border effect is a considerably complex phenomenon: it depends +on the precise electric field configuration near the border. It is +simulated here simply by introducing a dead zone, gas-filled, +bordering the sensitive volume. Events in there can still cause +signals in the detector. The dead zone can cause a shadow in the +sensitive volume, just as in reality. +The algorithm simply adds all events on the first 'pixel' in the +dead zone to the border pixels. This is a coarse approximation, +because the physical effect depends on the orientation of the +tracks and the energy threshold setting. The bottom line is that +tracking the position of the Center Of Gravity of the charge +deposition in the detector does not allow for accurate modeling of +the border effect, and therefore the border pixels should be +ignored, just as in a real detector. +Note that specifying 0 width of the dead zone next to the +sensitive volume, apart from being unrealistic, does not allow +accurate simulation of the border effect: in this case, there will +be a relative lack of events on the border pixels due to the wall +effect. +This component determines the position of the Center Of Gravity of +the charge cloud in the detector. It does not simulate independent +channels. +Manufacturing imperfections such as wire diameter variations and +spread in electronic amplifier component properties are not simulated. +This should allow an experimenter to identify these manufacturing +imperfections in his physical machine and correct for them. + +Example: PSD_Detector(xwidth=0.192, yheight=0.192, nx=64, ny=64, +zdepth=0.03, threshold=100, borderx=-1, bordery=-1, +PressureConv=5, PressureStop=1, +FN_Conv="Gas_tables/He3inHe.table", FN_Stop="Gas_tables/He3inCF4.table", +xChDivRelSigma=0, yChDivRelSigma=0, +filename="BIDIM19.psd") + +Example: PSD_Detector(xwidth=0.26, yheight=0.26, nx=128, ny=128, +zdepth=0.03, threshold=100, borderx=-1, bordery=-1, +PressureConv=5, PressureStop=1, +FN_Conv="Gas_tables/He3inHe.table", FN_Stop="Gas_tables/He3inCF4.table", +xChDivRelSigma=0, yChDivRelSigma=0, +filename="BIDIM26.psd") + +Example: PSD_Detector(radius=0.0127, yheight=0.20, nx=1, ny=128, +threshold=100, borderx=-1, +PressureConv=9.9, PressureStop=0.1, +FN_Conv="Gas_tables/He3inHe.table", FN_Stop="Gas_tables/He3inCO2.table", +yChDivRelSigma=0.006, +filename="ReuterStokes.psd") + +Example: PSD_Detector(awidth=1.533, yheight=0.4, nx=640, ny=256, +radius=0.73, zdepth=0.032, dc=0.026, threshold=100, +borderx=-1, bordery=-1, +PressureConv=5, PressureStop=1, +FN_Conv="Gas_tables/He3inHe.table", FN_Stop="Gas_tables/He3inCF4.table", +xChDivRelSigma=0, yChDivRelSigma=0.0037, +LensOn=1, filename="D19.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of pixel columns | 128 | +| ny | 1 | Number of pixel rows | 128 | +| xwidth | m | Width of detector opening, in the case of a flat box | 0 | +| radius | m | Radius of detector for cylindrical/banana shape | 0 | +| awidth | m | Width of detector opening along the horizontal arc of the detector, measured along the inside arc of the sensitive volume in the case of a 'banana' detector | 0 | +| yheight | m | Height of detector opening | 0 | +| zdepth | m | Depth of the sensitive volume of the detector | 0.03 | +| threshold | keV | Energy threshold for acceptance of an event | 100 | +| PressureConv | bar | Pressure of gaseous thermal-neutron converter (e.g. He-3) | 5 | +| PressureStop | bar | Pressure of stopping gas | 1 | +| interpolate | 1 | Performs energy interpolation if true | 1 | +| p_interact | 1 | Fraction of statistical events to be treated by component. Set it to 0 to use real absorption probability | 0 | +| verbose | 1 | Gives more information and spectrum | 0 | +| LensOn | 1 | set to 1 to simulate an electrostatic lens according to P. Van Esch, NIM A 540 (2005) pp. 361-367. | 1 | +| dc | m | Distance from the entrance window to the cathode plane, where the correction zone of the lens ends for banana shape and LensOn=1 | 0 | +| borderx | m | Width of (gas-filled) border on the side of the detector | -2 | +| bordery | m | Height of (gas-filled) border on the top/bottom of the detector giving rise to various border effects. Set to -2 to obtain the height of one pixel, -1 for the depth of the detector (default), or specify a non-negativedistance | -2 | +| xChDivRelSigma | 1 | Sigma of the error in position determination along the x axis (relative to xwidth), uniquely due to charge division readout. Set to 0 in case of independent channel readout along the x dimension | 0 | +| yChDivRelSigma | 1 | Relative sigma due to charge division in y direction, relative to yheight. | 0 | +| bufsize | 1 | Size of neutron output buffer default is 0, i.e. save all - recommended. | 0 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| angle | deg | Angular opening of detector in the case of a 'banana' detector, then overrides awidth parameter | 0 | +| type | string | If set to 'events' detector signal saves signal into an event file to be read e.g. by Histogrammer. This is to be used for TOF detectors. | 0 | +| filename | text | Name of file in which to store the detector image. The name of the component is used if file name is not specified | 0 | +| FN_Conv | text | Filename of the stopping power table of the converter gas | "He3inHe.table" | +| FN_Stop | text | Filename of the stopping power table of the stopping gas | "He3inCF4.table" | + +## Links + +- [Source code](PSD_Detector.comp) for `PSD_Detector.comp`. +- The test/example instrument Test_PSD_Detector.instr. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/PSD_Pol_monitor.md b/mcstas-comps/contrib/PSD_Pol_monitor.md new file mode 100644 index 0000000000..ccd730c1fb --- /dev/null +++ b/mcstas-comps/contrib/PSD_Pol_monitor.md @@ -0,0 +1,47 @@ +# The `PSD_Pol_monitor` Component + +*McStas: Position-sensitive monitor.* + +## Identification + +- **Site:** +- **Author:** Alexander Backs, based on PSD_monitor by K. Lefmann +- **Origin:** ESS +- **Date:** 2022 + +## Description + +```text +An (n times m) pixel PSD monitor, measuring local polarisation as function of x,y coordinates. + +Example: PSD_Pol_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, nx=90, ny=90, my=1, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of pixel columns | 90 | +| ny | 1 | Number of pixel rows | 90 | +| filename | string | Name of file in which to store the detector image | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| xwidth | m | Width of detector. Overrides xmin, xmax | 0 | +| yheight | m | Height of detector. Overrides ymin, ymax | 0 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| mx | 1 | Define the projection axis along which the polarizatoin is evaluated, x-component | 0 | +| my | 1 | Define the projection axis along which the polarizatoin is evaluated, y-component | 0 | +| mz | 1 | Define the projection axis along which the polarizatoin is evaluated, z-component | 0 | + +## Links + +- [Source code](PSD_Pol_monitor.comp) for `PSD_Pol_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/PSD_monitor_rad.md b/mcstas-comps/contrib/PSD_monitor_rad.md new file mode 100644 index 0000000000..e06e6d3ada --- /dev/null +++ b/mcstas-comps/contrib/PSD_monitor_rad.md @@ -0,0 +1,40 @@ +# The `PSD_monitor_rad` Component + +*McStas: Position-sensitive monitor with radially averaging.* + +## Identification + +- **Site:** +- **Author:** Henrich Frielinghaus +- **Origin:** FZ-Juelich/FRJ-2/IFF/KWS-2 +- **Date:** Sept 2004 + +## Description + +```text +Radial monitor that allows for radial averaging. +Comment: The intensity is given as two files: +1) a radial sum +2) a radial average (i.e. intensity per area) + +Example: PSD_monitor_rad(rmax=0.2, nr=100, filename="Output.psd", filename_av="Output_av.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nr | 1 | Number of concentric circles | 100 | +| filename | text | Name of file in which to store the detector image | 0 | +| filename_av | text | Name of file in which to store the averaged detector image | 0 | +| rmax | m | Outer radius of detector | 0.2 | + +## Links + +- [Source code](PSD_monitor_rad.comp) for `PSD_monitor_rad.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/PSD_spinDmon.md b/mcstas-comps/contrib/PSD_spinDmon.md new file mode 100644 index 0000000000..73e0dc6c09 --- /dev/null +++ b/mcstas-comps/contrib/PSD_spinDmon.md @@ -0,0 +1,44 @@ +# The `PSD_spinDmon` Component + +*McStas: Position-sensitive monitor, measuring the spin-down component of the neutron beam.* + +## Identification + +- **Site:** +- **Author:** Michael Schneider (SNAG) +- **Origin:** SNAG +- **Date:** 2024 + +## Description + +```text +An (n times m) pixel PSD monitor, measuring the spin-down component of the neutron beam. + +Example: PSD_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, nx=90, ny=90, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of pixel columns | 90 | +| ny | 1 | Number of pixel rows | 90 | +| filename | string | Name of file in which to store the detector image | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| xwidth | m | Width of detector. Overrides xmin, xmax | 0 | +| yheight | m | Height of detector. Overrides ymin, ymax | 0 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | + +## Links + +- [Source code](PSD_spinDmon.comp) for `PSD_spinDmon.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/PSD_spinUmon.md b/mcstas-comps/contrib/PSD_spinUmon.md new file mode 100644 index 0000000000..3276a926e1 --- /dev/null +++ b/mcstas-comps/contrib/PSD_spinUmon.md @@ -0,0 +1,44 @@ +# The `PSD_spinUmon` Component + +*McStas: Position-sensitive monitor, measuring the spin-up component of the neutron beam.* + +## Identification + +- **Site:** +- **Author:** Michael Schneider (SNAG) +- **Origin:** SNAG +- **Date:** 2024 + +## Description + +```text +An (n times m) pixel PSD monitor, measuring the spin-up component of the neutron beam. + +Example: PSD_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, nx=90, ny=90, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of pixel columns | 90 | +| ny | 1 | Number of pixel rows | 90 | +| filename | string | Name of file in which to store the detector image | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| xwidth | m | Width of detector. Overrides xmin, xmax | 0 | +| yheight | m | Height of detector. Overrides ymin, ymax | 0 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | + +## Links + +- [Source code](PSD_spinUmon.comp) for `PSD_spinUmon.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/PerfectCrystal.md b/mcstas-comps/contrib/PerfectCrystal.md new file mode 100644 index 0000000000..96c25337ce --- /dev/null +++ b/mcstas-comps/contrib/PerfectCrystal.md @@ -0,0 +1,89 @@ +# The `PerfectCrystal` Component + +*McStas: Based on a perfect crystal component by: Miguel A. Gonzalez, A. Dianoux June 2013 (ILL) + +Changelog: +Version 1.1 +- BUGFIX: correct neutron energy shift in Doppler mode +- added option 'debyescherrer' to select analyzer geometry +- added option 'facette' to approximate analyzer sphere by small, flat crystals + +Version 1.0 +- inital release* + +## Identification + +- **Site:** +- **Author:** Markus Appel +- **Origin:** ILL / FAU Erlangen-Nuernberg +- **Date:** 2015-12-21 + +## Description + +```text +Perfect crystal component, primarily for use as monochromator and analyzer in +backscattering spectrometers. Reflection from a single Bragg reflex of a flat or +spherical surface is simulated using a Darwin, Ewald or Gaussian profile. Doppler +movement of the monochromator is supported as well. + +Orientation of the crystal surface is *different* from other monochromator components! +Gravitational energy shift for tall analyzers should work in principle, but it not tested yet. +See the parameter description on how to define the geometry and properties. + +[1] Website for Backscattering Spectroscopy: http://www.ill.eu/sites/BS-review/index.htm + +Examples: +IN16B (ILL) Si111 large angle analyzers (approximate dimensions): +PerfectCrystal(radius=2, lambda=6.2708, sigma=0.24e-3, +ttmin=40, ttmax=165, phimin=-45, phimax=+45, centerfocus=1) + +IN16B (ILL) Si111 Doppler monochromator: +PerfectCrystal(radius=2.165, lambda=6.2708, sigma=0.24e-3, +width = 0.500, height = 0.250, centerfocus=0, +speed = 4.7, amplitude = 0.075, exclusive=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| ttmin | deg | | NAN | +| ttmax | deg | analyzer coverage angle in horizontal xz-plane between -180 and 180 | NAN | +| tt0 | deg | | NAN | +| ttwidth | deg | horizontal coverage as center and full width | NAN | +| width | m | absolute width | NAN | +| phimin | deg | | NAN | +| phimax | deg | vertical analyzer coverage between -90 and 90 (-180 and 180 if debyescherrer==1) | NAN | +| phi0 | deg | | NAN | +| phiwidth | deg | vertical coverage as center and full width | NAN | +| height | m | absolute height (only if debyescherrer==0) | NAN | +| debyescherrer | -180...180 | (0/1) bend analyzer following a Debye-Scherrer ring along scattering angle tt (twotheta) (phi = | 0 | +| facette | m | width of square crystal facettes arranged on the spherical surface (set 0 to disable). Default: 0 Warning: Facettation will fail at the poles along +-y axis. | 0 | +| facette_xi | deg | random misalignemt of each facette. Default: 0 | 0 | +| centerfocus | 0/1 | Component origin is the center of the analyzer sphere if 1, if set to 0 the origin is on the analyzer surface. Default: 0 | 0 | +| radius | m | Radius of curvature, set to 0 for a flat surface. Default: 0 | 0 | +| tau | A^-1 | Scattering vector of the reflex (sometimes also called Q...) | NAN | +| lambda | A | Alternatively to tau: backscattered wavelength | NAN | +| R0 | | Peak reflectivity. Default: 1 | 1.0 | +| dtauovertau | 1 | Plateau width of the Ewald/Darwin curve (see | NAN | +| dtauovertau_ext | | Relative variation of tau (randomized for each trajectory, full width) | 0 | +| ewald | 0/1 | Use Ewald curve if 1, Darwin curve if 0. Default: 1 (Ewald) | 1 | +| sigma | meV | Width of the Gaussian reflectivity curve in meV (corresponding to the energy resolution). (The width will be transformed and the Gaussian is actually calculated in k-space.) | NAN | +| ismirror | 0/1 | Simply reflect all neutrons if 1. Good for debugging/visualization. Default: 0 | 0 | +| speed | m/s | Maximum Doppler speed. The actual monochromator velocity is randomized between -speed and +speed. Default: 0 | 0 | +| amplitude | m | Amplitude of the Doppler movement. Default: 0 | 0 | +| smartphase | 0/1 | Optimize Doppler phase for better MC efficiency if set to 1. *WARNING:* Experimental option! Always compare to a simulation without smartphase. Better do not use smartwidth with Ewald/Darwin curves due to their endless tails. Default: 0 | 0 | +| smartwidth | meV | Half width of the possible energy reflection window for smartphase. Default: 5*sigma OR 10*2*dtauovertau*E0 | NAN | +| exclusive | 0/1 | If set to 1, absorb all neutrons that missed the monochromator/analyzer surface. Default: 0 | 0 | +| transmit | 0...1 | Monte-Carlo probability of transmitting an event through the monochromator/analyzer surface. (Events with R=1.0 for DarwinE/Ewald curves are always reflected!). Default: 0 | 0 | +| verbose | | | 0 | + +## Links + +- [Source code](PerfectCrystal.comp) for `PerfectCrystal.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Pol_bender_tapering.md b/mcstas-comps/contrib/Pol_bender_tapering.md new file mode 100644 index 0000000000..b099297a7d --- /dev/null +++ b/mcstas-comps/contrib/Pol_bender_tapering.md @@ -0,0 +1,73 @@ +# The `Pol_bender_tapering` Component + +*McStas: Polarising bender.* + +## Identification + +- **Site:** +- **Author:** Erik Bergbaeck Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** June 2012 + +## Description + +```text +A component modelling a set of identical blades bent to form a multcihannel (nslits) +bender. The bender has a cylindrically curved entry plane (Will be extended to also +allow a flat entry plane). + +The bender may also be tapered such that it can have focusing or defocusing porperties. +This may be specified through the "channel_file"-parameter, which points to a data file +in which the individual channels are defined by an entry- and an exit-width. + +The file format for channel file columns: +> #d-spacing1 d-spacing2 l_spacer d-coating1 d-coating2 +> 1e-3 0.8e-3 1e-5 1e-9 1e-9 + +Each blades is considered coated with a reflecting coating, whose thickness is defined in the +latter two columsn of the channel data file. + +Coating reflectivities are read from +another data file with separate reflectivities for up and down spin. When a neutron ray hits a blade +the polarization vector associated with the ray is decomposed into spin-up and down +probablities, which in turn determines the overall reflectivity for this ray on the mirror. +Furthermore the probabilities are used to also reconstruct the polarization vector of the reflected +ray. + +File format for the reflectivity file: +> #parameter = m +> q/m R(up) R(down) + +The effect of spacers inside the channels is modelled by absorption only. The depth of the spacers +in a channel is considered constant for one channel (set in the channel data file), the number of +them is constant across all channels and is an input parameter to the component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| channel_file | | File name of file containing channel data. such as spacer widths etc. (see above for format) | "channel.dat" | +| xwidth | m | Width at the bender entry. Currently unsupported. | 0 | +| **yheight** | m | Height at the bender entry. | | +| **length** | m | Length of blades that make up the bender. | | +| **d_substrate** | m | Thickness of the substrate. | | +| entry_radius | m | Radius of curvature of the entrance window. | 10 | +| radius | m | Curvature of a single plate/polarizer. +:curve left/-:right | 100 | +| G | m/s^2 | Magnitude of gravitation. | 9.8 | +| nslit | 1 | Number of slits in the bender | 1 | +| debug | | If > 0 print out some internal parameters. | 1 | +| reflect_file | | File name of file containing reflectivity data parametrized either by q or m. | NULL | +| sigma_abs | barn | Absorption per unit cell at v=2200 m/s of spacers. Defaults to literature value for Al. | 0.231 | +| V0 | AA^3 | Volume of unit cell for spacers. Defaults to Al. | 66.4 | +| nspacer | | Number of spacers per channel. | 5 | + +## Links + +- [Source code](Pol_bender_tapering.comp) for `Pol_bender_tapering.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Pol_pi_2_rotator.md b/mcstas-comps/contrib/Pol_pi_2_rotator.md new file mode 100644 index 0000000000..15d17de3cf --- /dev/null +++ b/mcstas-comps/contrib/Pol_pi_2_rotator.md @@ -0,0 +1,39 @@ +# The `Pol_pi_2_rotator` Component + +*McStas: Ideal π/2-rotator* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen (erkn@fysik.dtu.dk) +- **Origin:** Risoe +- **Date:** 8/4-2008 + +## Description + +```text +Simple, idelized, component that turns the polarization exactly π/2 around the specified vector +vector (rx,ry,rx). +The geometry of the component is realized as a box, where the the spin is rotated at the z-midpoint. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | width of the component | 0.1 | +| yheight | m | height of the component | 0.1 | +| zdepth | m | thickness of the component | 0.01 | +| rx | | x-component of the rotation axis | 0 | +| ry | | y-component of the rotation axis | 0 | +| rz | | z-component of the rotation axis | 1 | + +## Links + +- [Source code](Pol_pi_2_rotator.comp) for `Pol_pi_2_rotator.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Pol_triafield.md b/mcstas-comps/contrib/Pol_triafield.md new file mode 100644 index 0000000000..bffb87889f --- /dev/null +++ b/mcstas-comps/contrib/Pol_triafield.md @@ -0,0 +1,56 @@ +# The `Pol_triafield` Component + +*McStas: Constant magnetic field in a isosceles triangular coil* + +## Identification + +- **Site:** +- **Author:** Morten Sales, based on Pol_constBfield by Peter Christiansen +- **Origin:** Helmholtz-Zentrum Berlin +- **Date:** 2013 + +## Description + +```text +Rectangular box with constant B field along y-axis (up) in a isosceles triangle. +There is a guide (or precession) field as well. It is along y in the entire rectangular box. +A neutron hitting outside the box opening or the box sides is absorbed. + + +__________________ +| /\ | +| Bguide/ \Bguide | x +| / \ | ^ +| / \ | | +| / B \ | |-----> z +| / and \ | +| / Bguide \ | +| / \ | +|/________________\| + +The angle of the inclination of the triangular field boundary is given by the arctangent to xwidth/(0.5*zdepth) + +This component does NOT take gravity into account. + +Example: Pol_triafield(xwidth=0.1, yheight=0.1, zdepth=0.2, B=1e-3, Bguide=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **xwidth** | m | Width of opening | | +| **yheight** | m | Height of opening | | +| **zdepth** | m | zdepth of field | | +| B | T | Magnetic field along y-direction inside triangle | 0 | +| Bguide | T | Magnetic field along y-direction inside entire box | 0 | + +## Links + +- [Source code](Pol_triafield.comp) for `Pol_triafield.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Radial_div.md b/mcstas-comps/contrib/Radial_div.md new file mode 100644 index 0000000000..c109a861fe --- /dev/null +++ b/mcstas-comps/contrib/Radial_div.md @@ -0,0 +1,46 @@ +# The `Radial_div` Component + +*McStas: A radial divergence sensitive monitor with wavelength restrictions.* + +## Identification + +- **Site:** +- **Author:** Kaspar Hewitt Klenø, modified from Hdiv_monitor +- **Origin:** NBI +- **Date:** Jan 2011 + +## Description + +```text +A radial divergence sensitive monitor with wavelength restrictions. The counts are distributed in +n pixels. + +Example: +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| ndiv | 1 | Number of pixel rows | 20 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| **filename** | str | Name of file in which to store the detector image | | +| xmin | m | Lower x bound of detector opening | 0 | +| xmax | m | Upper x bound of detector opening | 0 | +| ymin | m | Lower y bound of detector opening | 0 | +| ymax | m | Upper y bound of detector opening | 0 | +| xwidth | m | Width/diameter of detector (x). Overrides xmin,xmax. | 0 | +| yheight | m | Height of detector (y). Overrides ymin,ymax. | 0 | +| maxdiv_r | deg | Maximal radial divergence detected | 2 | +| **Lmin** | AA | Minimum wavelength detected | | +| **Lmax** | AA | Maximum wavelength detected | | + +## Links + +- [Source code](Radial_div.comp) for `Radial_div.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANSCurve.md b/mcstas-comps/contrib/SANSCurve.md new file mode 100644 index 0000000000..11293bb64d --- /dev/null +++ b/mcstas-comps/contrib/SANSCurve.md @@ -0,0 +1,44 @@ +# The `SANSCurve` Component + +*McStas: A component mimicking the scattering from a given I(q)-curve by using +linear interpolation between the given points.* + +## Identification + +- **Site:** +- **Author:** Søren Kynde (kynde@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 17, 2012 + +## Description + +```text +A box-shaped component simulating the scattering from any given I(q)-curve. +The component uses linear interpolation to generate the points necessary to +compute the scattering of any given neutron. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| DeltaRho | cm/AA^3 | Excess scattering length density of the particles. | 1.0e-14 | +| Volume | AA^3 | Volume of the particles. | 1000.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered neutrons). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered neutrons). | | +| FileWithCurve | | Datafile with the given I(q). | "Curve.dat" | + +## Links + +- [Source code](SANSCurve.comp) for `SANSCurve.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANSCylinders.md b/mcstas-comps/contrib/SANSCylinders.md new file mode 100644 index 0000000000..211c1c3d55 --- /dev/null +++ b/mcstas-comps/contrib/SANSCylinders.md @@ -0,0 +1,42 @@ +# The `SANSCylinders` Component + +*McStas: A sample of monodisperse cylindrical particles in solution.* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 17, 2012 + +## Description + +```text +A component simulating the scattering from a box-shaped, thin solution +of monodisperse, cylindrical particles. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| R | AA | Semiaxis of the cross section of the cylinder. | 40.0 | +| Height | AA | Height of the cylinder. | 100.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| DeltaRho | cm/AA^3 | Excess scattering length density of the particles. | 1.0e-14 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered neutrons). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered neutrons). | | + +## Links + +- [Source code](SANSCylinders.comp) for `SANSCylinders.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANSEllipticCylinders.md b/mcstas-comps/contrib/SANSEllipticCylinders.md new file mode 100644 index 0000000000..13e23df335 --- /dev/null +++ b/mcstas-comps/contrib/SANSEllipticCylinders.md @@ -0,0 +1,44 @@ +# The `SANSEllipticCylinders` Component + +*McStas: A sample of monodisperse cylindrical particles with elliptic cross section in +solution.* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 17, 2012 + +## Description + +```text +A component simulating the scattering from a box-shaped, thin solution +of monodisperse, cylindrical particles with elliptic cross section. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| R1 | AA | First semiaxis of the cross section of the | 20.0 | +| R2 | AA | Second semiaxis of the cross section of the | 40.0 | +| Height | AA | Height of the elliptic cylinder. | 100.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| DeltaRho | cm/AA^3 | Excess scattering length density of the | 1.0e-14 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for | | +| **DetectorRadius** | m | Radius of the detector (for focusing the | | + +## Links + +- [Source code](SANSEllipticCylinders.comp) for `SANSEllipticCylinders.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANSLiposomes.md b/mcstas-comps/contrib/SANSLiposomes.md new file mode 100644 index 0000000000..93381f7fcd --- /dev/null +++ b/mcstas-comps/contrib/SANSLiposomes.md @@ -0,0 +1,49 @@ +# The `SANSLiposomes` Component + +*McStas: A sample of polydisperse liposomes in solution (water).* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 17, 2012 + +## Description + +```text +A component simulating the scattering from a box-shaped, thin solution (water) +of liposomes described by a pentuple-shell model. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Radius | AA | Average thickness of the liposomes. | 800.0 | +| Thickness | AA | Thickness of the bilayer. | 38.89 | +| SigmaRadius | | Relative Gaussian deviation of the radius in the distribution of liposomes. | 0.20 | +| VolumeOfHeadgroup | AA^3 | Volume of one lipid headgroup - default is POPC. | 319.0 | +| VolumeOfCH2Tail | AA^3 | Volume of the CH2-chains of one lipid - default is POPC. | 818.8 | +| VolumeOfCH3Tail | AA^3 | Volume of the CH3-tails of one lipid - default is POPC. | 108.6 | +| ScatteringLengthOfHeadgroup | cm | Scattering length of one lipid headgroup - default is POPC in D2O. | 7.05E-12 | +| ScatteringLengthOfCH2Tail | cm | Scattering length of the CH2-chains of one lipid - default is POPC in D2O. | -1.76E-12 | +| ScatteringLengthOfCH3Tail | cm | Scattering length of the CH3-tails of one lipid - default is POPC in D2O. | -9.15E-13 | +| Concentration | mM | Concentration of sample. | 0.01 | +| RhoSolvent | cm/AA^3 | Scattering length density of solvent - default is D2O. | 6.4e-14 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered neutrons). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered neutrons). | | + +## Links + +- [Source code](SANSLiposomes.comp) for `SANSLiposomes.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANSNanodiscs.md b/mcstas-comps/contrib/SANSNanodiscs.md new file mode 100644 index 0000000000..11fc2c110a --- /dev/null +++ b/mcstas-comps/contrib/SANSNanodiscs.md @@ -0,0 +1,53 @@ +# The `SANSNanodiscs` Component + +*McStas: A sample of monodisperse phospholipid bilayer nanodiscs in solution (water).* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 17, 2012 + +## Description + +```text +A component simulating the scattering from a box-shaped, thin solution (water) +of monodisperse phospholipid bilayer nanodiscs. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| AxisRatio | | Axis ratio of the bilayer patch. | 1.4 | +| NumberOfLipids | | Number of lipids per nanodisc. | 130.0 | +| AreaPerLipidHeadgroup | AA^2 | Area per lipid headgroup - default is POPC. | 65.0 | +| HeightOfMSP | AA | Height of the belt protein - default is MSP1D1. | 24.0 | +| VolumeOfOneMSP | AA^3 | Volume of one belt protein - default is MSP1D1. | 26296.5 | +| VolumeOfHeadgroup | AA^3 | Volume of one lipid headgroup - default is POPC. | 319.0 | +| VolumeOfCH2Tail | AA^3 | Volume of the CH2-chains of one lipid - default is POPC. | 818.8 | +| VolumeOfCH3Tail | AA^3 | Volume of the CH3-tails of one lipid - default is POPC. | 108.6 | +| ScatteringLengthOfOneMSP | cm | Scattering length of one belt protein - default is MSP1D1 in D2O. | 8.8E-10 | +| ScatteringLengthOfHeadgroup | cm | Scattering length of one lipid headgroup - default is POPC in D2O. | 7.05E-12 | +| ScatteringLengthOfCH2Tail | cm | Scattering length of the CH2-chains of one lipid - default is POPC in D2O. | -1.76E-12 | +| ScatteringLengthOfCH3Tail | cm | Scattering length of the CH3-tails of one lipid - default is POPC in D2O. | -9.15E-13 | +| Roughness | | Factor used to smear the interfaces of the nanodisc. | 5.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| RhoSolvent | cm/AA^3 | Scattering length density of solvent - default is D2O. | 6.4e-14 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered neutrons). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered neutrons). | | + +## Links + +- [Source code](SANSNanodiscs.comp) for `SANSNanodiscs.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANSNanodiscsFast.md b/mcstas-comps/contrib/SANSNanodiscsFast.md new file mode 100644 index 0000000000..8d3c1b1cf8 --- /dev/null +++ b/mcstas-comps/contrib/SANSNanodiscsFast.md @@ -0,0 +1,57 @@ +# The `SANSNanodiscsFast` Component + +*McStas: A sample of monodisperse phospholipid bilayer nanodiscs in solution (water).* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 17, 2012 + +## Description + +```text +A component very similar to EmptyNanodiscs.comp - however, the scattering +profile is only computed once, and linear interpolation is the used to +simulate the instrument. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| NumberOfQBins | | Number of points generated in inital scattering profile. | 200 | +| AxisRatio | | Axis ratio of the bilayer patch. | 1.4 | +| NumberOfLipids | | Number of lipids per nanodisc. | 130.0 | +| AreaPerLipidHeadgroup | AA^2 | Area per lipid headgroup - default is POPC. | 65.0 | +| HeightOfMSP | AA | Height of the belt protein - default is MSP1D1. | 24.0 | +| VolumeOfOneMSP | AA^3 | Volume of one belt protein - default is MSP1D1. | 26296.5 | +| VolumeOfHeadgroup | AA^3 | Volume of one lipid headgroup - default is POPC. | 319.0 | +| VolumeOfCH2Tail | AA^3 | Volume of the CH2-chains of one lipid - default is POPC. | 818.8 | +| VolumeOfCH3Tail | AA^3 | Volume of the CH3-tails of one lipid - default is POPC. | 108.6 | +| ScatteringLengthOfOneMSP | cm | Scattering length of one belt protein - default is MSP1D1. | 8.8E-10 | +| ScatteringLengthOfHeadgroup | cm | Scattering length of one lipid headgroup - default is POPC. | 7.05E-12 | +| ScatteringLengthOfCH2Tail | cm | Scattering length of the CH2-chains of one lipid - default is POPC. | -1.76E-12 | +| ScatteringLengthOfCH3Tail | cm | Scattering length of the CH3-tails of one lipid - default is POPC. | -9.15E-13 | +| Roughness | | Factor used to smear the interfaces of the nanodisc. | 5.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| RhoSolvent | cm/AA^3 | Scattering length density of solvent - default is D2O. | 6.4e-14 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered neutrons). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered neutrons). | | +| qMin | AA^-1 | Lowest q-value, for which a point is generated in the scattering profile | 0.001 | +| qMax | AA^-1 | Highest q-value, for which a point is generated in the scattering profile | 1.0 | + +## Links + +- [Source code](SANSNanodiscsFast.comp) for `SANSNanodiscsFast.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANSNanodiscsWithTags.md b/mcstas-comps/contrib/SANSNanodiscsWithTags.md new file mode 100644 index 0000000000..a2ef54fcf9 --- /dev/null +++ b/mcstas-comps/contrib/SANSNanodiscsWithTags.md @@ -0,0 +1,58 @@ +# The `SANSNanodiscsWithTags` Component + +*McStas: A sample of monodisperse phospholipid bilayer nanodiscs in solution (water) - with +histidine tag still on the belt proteins.* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 17, 2012 + +## Description + +```text +A component simulating the scattering from a box-shaped, thin solution (water) +of monodisperse phospholipid bilayer nanodiscs - with histidine tags still +on the belt proteins. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| AxisRatio | | Axis ratio of the bilayer patch. | 1.4 | +| NumberOfLipids | | Number of lipids per nanodisc. | 130.0 | +| AreaPerLipidHeadgroup | AA^2 | Area per lipid headgroup - default is POPC. | 65.0 | +| HeightOfMSP | AA | Height of the belt protein - default is MSP1D1. | 24.0 | +| RadiusOfGyrationForHisTag | AA | Radius of gyration for the his-tag. | 10.0 | +| VolumeOfOneMSP | AA^3 | Volume of one belt protein - default is MSP1D1. | 26296.5 | +| VolumeOfHeadgroup | AA^3 | Volume of one lipid headgroup - default is POPC. | 319.0 | +| VolumeOfCH2Tail | AA^3 | Volume of the CH2-chains of one lipid - default is POPC. | 818.8 | +| VolumeOfCH3Tail | AA^3 | Volume of the CH3-tails of one lipid - default is POPC. | 108.6 | +| VolumeOfOneHisTag | AA^3 | Volume of one his-tag. | 2987.3 | +| ScatteringLengthOfOneMSP | cm | Scattering length of one belt protein - default is MSP1D1. | 8.8E-10 | +| ScatteringLengthOfHeadgroup | cm | Scattering length of one lipid headgroup - default is POPC. | 7.05E-12 | +| ScatteringLengthOfCH2Tail | cm | Scattering length of the CH2-chains of one lipid - default is POPC. | -1.76E-12 | +| ScatteringLengthOfCH3Tail | cm | Scattering length of the CH3-tails of one lipid - default is POPC. | -9.15E-13 | +| ScatteringLengthOfOneHisTag | cm | Scattering length of one his-tag. | 1.10E-10 | +| Roughness | | Factor used to smear the interfaces of the nanodisc. | 5.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| RhoSolvent | cm/AA^3 | Scattering length density of solvent - default is D2O. | 6.4e-14 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered neutrons). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered neutrons). | | + +## Links + +- [Source code](SANSNanodiscsWithTags.comp) for `SANSNanodiscsWithTags.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANSNanodiscsWithTagsFast.md b/mcstas-comps/contrib/SANSNanodiscsWithTagsFast.md new file mode 100644 index 0000000000..140cc4560b --- /dev/null +++ b/mcstas-comps/contrib/SANSNanodiscsWithTagsFast.md @@ -0,0 +1,61 @@ +# The `SANSNanodiscsWithTagsFast` Component + +*McStas: A sample of monodisperse phospholipid bilayer nanodiscs in solution (water) - with +histidine tag still on the belt proteins.* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 17, 2012 + +## Description + +```text +A component very similar to EmptyNanodiscsWithTags.comp - however, the +scattering profile is only computed once, and linear interpolation is the used +to simulate the instrument. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| NumberOfQBins | | Number of points generated in inital scattering profile. | 200 | +| AxisRatio | | Axis ratio of the bilayer patch. | 1.4 | +| NumberOfLipids | | Number of lipids per nanodisc. | 130.0 | +| AreaPerLipidHeadgroup | AA^2 | Area per lipid headgroup - default is POPC. | 65.0 | +| HeightOfMSP | AA | Height of the belt protein - default is MSP1D1. | 24.0 | +| RadiusOfGyrationForHisTag | AA | Radius of gyration for the his-tag. | 12.7 | +| VolumeOfOneMSP | AA^3 | Volume of one belt protein - default is MSP1D1. | 26296.5 | +| VolumeOfHeadgroup | AA^3 | Volume of one lipid headgroup - default is POPC. | 319.0 | +| VolumeOfCH2Tail | AA^3 | Volume of the CH2-chains of one lipid - default is POPC. | 818.8 | +| VolumeOfCH3Tail | AA^3 | Volume of the CH3-tails of one lipid - default is POPC. | 108.6 | +| VolumeOfOneHisTag | AA^3 | Volume of one his-tag. | 2987.3 | +| ScatteringLengthOfOneMSP | cm | Scattering length of one belt protein - default is MSP1D1. | 8.8E-10 | +| ScatteringLengthOfHeadgroup | cm | Scattering length of one lipid headgroup - default is POPC. | 7.05E-12 | +| ScatteringLengthOfCH2Tail | cm | Scattering length of the CH2-chains of one lipid - default is POPC. | -1.76E-12 | +| ScatteringLengthOfCH3Tail | cm | Scattering length of the CH3-tails of one lipid - default is POPC. | -9.15E-13 | +| ScatteringLengthOfOneHisTag | cm | Scattering length of one his-tag. | 1.10E-10 | +| Roughness | | Factor used to smear the interfaces of the nanodisc. | 5.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| RhoSolvent | cm/AA^3 | Scattering length density of solvent - default is D2O. | 6.4e-14 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered neutrons). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered neutrons). | | +| qMin | AA^-1 | Lowest q-value, for which a point is generated in the scattering profile | 0.001 | +| qMax | AA^-1 | Highest q-value, for which a point is generated in the scattering profile | 1.0 | + +## Links + +- [Source code](SANSNanodiscsWithTagsFast.comp) for `SANSNanodiscsWithTagsFast.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANSPDB.md b/mcstas-comps/contrib/SANSPDB.md new file mode 100644 index 0000000000..a1ec8a8b41 --- /dev/null +++ b/mcstas-comps/contrib/SANSPDB.md @@ -0,0 +1,45 @@ +# The `SANSPDB` Component + +*McStas: A sample describing a thin solution of proteins. This components must be compiled +with the -lgsl and -lgslcblas flags (and possibly linked to the appropriate +libraries).* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) and Søren Kynde (kynde@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 17, 2012 + +## Description + +```text +This components expands the formfactor amplitude of the protein on spherical +harmonics and computes the scattering profile using these. The expansion is +done on amino-acid level and does not take hydration layer into account. +The component must have a valid .pdb-file as an argument. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| RhoSolvent | AA | Scattering length density of the buffer. | 9.4e-14 | +| Concentration | mM | Concentration of sample. | 0.01 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered neutrons). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered neutrons). | | +| PDBFilepath | | Path to the file describing the high resolution structure of the protein. | "PDBfile.pdb" | + +## Links + +- [Source code](SANSPDB.comp) for `SANSPDB.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANSPDBFast.md b/mcstas-comps/contrib/SANSPDBFast.md new file mode 100644 index 0000000000..57ccfe3c34 --- /dev/null +++ b/mcstas-comps/contrib/SANSPDBFast.md @@ -0,0 +1,50 @@ +# The `SANSPDBFast` Component + +*McStas: A sample describing a thin solution of proteins using linear interpolation +to increase computational speed. This components must be compiled with the +-lgsl and -lgslcblas flags (and possibly linked to the appropriate libraries).* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) and Søren Kynde (kynde@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 17, 2012 + +## Description + +```text +This components expands the formfactor amplitude of the protein on spherical +harmonics and computes the scattering profile using these. The expansion is +done on amino-acid level and does not take hydration layer into account. +The component must have a valid .pdb-file as an argument. + +This is fast implementation of the SANSPDB sample component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| RhoSolvent | AA | Scattering length density of the buffer - default is 100% D2O. | 9.4e-14 | +| Concentration | mM | Concentration of sample. | 0.01 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered neutrons). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered neutrons). | | +| qMin | AA^-1 | Lowest q-value, for which a point is generated in the scattering profile | 0.001 | +| qMax | AA^-1 | Highest q-value, for which a point is generated in the scattering profile | 0.5 | +| NumberOfQBins | | Number of points generated in inital scattering profile. | 200 | +| PDBFilepath | | Path to the file describing the high resolution structure of the protein. | "PDBfile.pdb" | + +## Links + +- [Source code](SANSPDBFast.comp) for `SANSPDBFast.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANSQMonitor.md b/mcstas-comps/contrib/SANSQMonitor.md new file mode 100644 index 0000000000..5442eb8b72 --- /dev/null +++ b/mcstas-comps/contrib/SANSQMonitor.md @@ -0,0 +1,41 @@ +# The `SANSQMonitor` Component + +*McStas: A circular detector measuring the radial average of intensity as a function +of the momentum transform in the sample.* + +## Identification + +- **Site:** +- **Author:** Søren Kynde (kynde@nbi.dk) and Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 17, 2012 + +## Description + +```text +A simple component simulating the scattering from a box-shaped, thin solution +of monodisperse, spherical particles. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| NumberOfBins | | Number of bins in the r (and q). | 100 | +| RFilename | | File used for storing I(r). | "RDetector" | +| qFilename | | File used for storing I(q). | "QDetector" | +| **RadiusDetector** | m | Radius of the detector (in the xy-plane). | | +| **DistanceFromSample** | m | Distance from the sample to this component. | | +| LambdaMin | AA | Max sensitivity in lambda - used to compute the highest possible value of momentum transfer, q. | 1.0 | +| Lambda0 | | If lambda is given, the momentum transfers of all rays are computed from this value. Otherwise, instrumental effects are neglected. | 0.0 | +| restore_neutron | | If set to 1, the component restores the original neutron. | 0 | + +## Links + +- [Source code](SANSQMonitor.comp) for `SANSQMonitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANSShells.md b/mcstas-comps/contrib/SANSShells.md new file mode 100644 index 0000000000..c0842d1bd9 --- /dev/null +++ b/mcstas-comps/contrib/SANSShells.md @@ -0,0 +1,42 @@ +# The `SANSShells` Component + +*McStas: A sample of monodisperse shell-like particles in solution.* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 17, 2012 + +## Description + +```text +A simple component simulating the scattering from a box-shaped, thin solution +of monodisperse, shell-like particles. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| R | AA | Average radius of the particles. | 100.0 | +| Thickness | AA | Thickness of the shell - so that the outer radius is R + Thickness and the inner is R - Thickness. | 5.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| DeltaRho | cm/AA^3 | Excess scattering length density of the particles. | 1.0e-14 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered neutrons). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered neutrons). | | + +## Links + +- [Source code](SANSShells.comp) for `SANSShells.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANSSpheres.md b/mcstas-comps/contrib/SANSSpheres.md new file mode 100644 index 0000000000..9cc824b4ac --- /dev/null +++ b/mcstas-comps/contrib/SANSSpheres.md @@ -0,0 +1,42 @@ +# The `SANSSpheres` Component + +*McStas: A sample of mono- or polydisperse spherical particles in solution.* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 17, 2012 + +## Description + +```text +A simple component simulating the scattering from a box-shaped, thin solution +of monodisperse, spherical particles. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| R | AA | Radius of the spherical particles. | 100.0 | +| dR | AA | Variance of the radius of spherical particles. Default 0 (monodisperse spheres) | 0.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| DeltaRho | cm/AA^3 | Excess scattering length density of the particles. | 1.0e-14 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered neutrons). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered neutrons). | | + +## Links + +- [Source code](SANSSpheres.comp) for `SANSSpheres.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANSSpheresPolydisperse.md b/mcstas-comps/contrib/SANSSpheresPolydisperse.md new file mode 100644 index 0000000000..e7ee600f39 --- /dev/null +++ b/mcstas-comps/contrib/SANSSpheresPolydisperse.md @@ -0,0 +1,42 @@ +# The `SANSSpheresPolydisperse` Component + +*McStas: A sample of mono- or polydisperse spherical particles in solution.* + +## Identification + +- **Site:** +- **Author:** Linda Udby (udby@nbi.dk) - modified from SANSSpheres by Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 17, 2012 + +## Description + +```text +A simple component simulating the scattering from a box-shaped, thin solution +of monodisperse, spherical particles. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| R | AA | Radius of the spherical particles. | 100.0 | +| dR | AA | Variance of the radius of spherical particles. Default 0 (monodisperse spheres) | 0.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| DeltaRho | cm/AA^3 | Excess scattering length density of the | 1.0e-14 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for | | +| **DetectorRadius** | m | Radius of the detector (for focusing the | | + +## Links + +- [Source code](SANSSpheresPolydisperse.comp) for `SANSSpheresPolydisperse.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANS_AnySamp.md b/mcstas-comps/contrib/SANS_AnySamp.md new file mode 100644 index 0000000000..5b8a0538d2 --- /dev/null +++ b/mcstas-comps/contrib/SANS_AnySamp.md @@ -0,0 +1,59 @@ +# The `SANS_AnySamp` Component + +*McStas: Sample for Small Angle Neutron Scattering. To be customized.* + +## Identification + +- **Site:** +- **Author:** Henrich Frielinghaus +- **Origin:** FZ-Juelich/FRJ-2/IFF/KWS-2 +- **Date:** Sept 2004 + +## Description + +```text +Sample for Small Angle Neutron Scattering. +May be customized for Any Sample model. +Copy this component and modify it to your needs. +Just give shape of scattering function. +Normalization of scattering will be done in INITIALIZE. + +Some remarks: +Scattering function should be a defined the same way in INITIALIZE and TRACE sections +There exist maybe better library functions for the integral. + +Here for comparison: Guinier. +Transmitted paths set to 3% of all paths. In this simulation method paths are +well distributed among transmission and scattering (equally in Q-space). + +Sample components leave the units of flux for the probability +of the individual paths. That is more consitent than the +Sans_spheres routine. Furthermore one can simulate the +transmitted beam. This allows to determine the needed size of +the beam stop. Only absorption has not been included yet to +these sample-components. But thats really nothing. + +Example: SANS_AnySamp(transm=0.5, Rg=100, qmax=0.03, xwidth=0.01, yheight=0.01, zdepth=0.001) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| transm | 1 | coherent transmission of sample for the optical path "zdepth" | 0.5 | +| Rg | Angs | Radius of Gyration | 100 | +| qmax | AA-1 | Maximum scattering vector | 0.03 | +| xwidth | m | horizontal dimension of sample, as a width | 0.01 | +| yheight | m | vertical dimension of sample, as a height | 0.01 | +| zdepth | m | thickness of sample | 0.001 | + +## Links + +- [Source code](SANS_AnySamp.comp) for `SANS_AnySamp.comp`. +- Sans_spheres component + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANS_DebyeS.md b/mcstas-comps/contrib/SANS_DebyeS.md new file mode 100644 index 0000000000..7257d07aac --- /dev/null +++ b/mcstas-comps/contrib/SANS_DebyeS.md @@ -0,0 +1,52 @@ +# The `SANS_DebyeS` Component + +*McStas: Sample for Small Angle Neutron Scattering, Debye-Scherrer Ring* + +## Identification + +- **Site:** +- **Author:** Henrich Frielinghaus +- **Origin:** FZ-Juelich/FRJ-2/IFF/KWS-2 +- **Date:** Sept 2004 + +## Description + +```text +Debye-Scherrer Ring: Model for highly ordered diblock copolymer. +This example is highly simple. +Multiple scattering neglected, but could be incorporated. +Sample that only produces a DebyeSherrer ring. +Advantages: Transmitted beam is simulated. +Intensities still in flux units. +Minor point: Absolute scattering probability given by transmission. + +Sample components leave the units of flux for the probability +of the individual paths. That is more consitent than the +Sans_spheres routine. Furthermore one can simulate the +transmitted beam. This allows to determine the needed size of +the beam stop. Only absorption has not been included yet to +these sample-components. But thats really nothing. + +Example: SANS_DebyeS(transm=0.5, qDS=0.008, xwidth=0.01, yheight=0.01, zdepth=0.001) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| transm | 1 | coherent transmission of sample for the optical path "zdepth" | 0.5 | +| qDS | AA-1 | Scattering vector of Debye-Sherrer ring | 0.008 | +| xwidth | m | horiz. dimension of sample, as a width (m) | 0.01 | +| yheight | m | vert.. dimension of sample, as a height (m) | 0.01 | +| zdepth | m | thickness of sample (m) | 0.001 | + +## Links + +- [Source code](SANS_DebyeS.comp) for `SANS_DebyeS.comp`. +- Sans_spheres component + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANS_Guinier.md b/mcstas-comps/contrib/SANS_Guinier.md new file mode 100644 index 0000000000..1df494c07e --- /dev/null +++ b/mcstas-comps/contrib/SANS_Guinier.md @@ -0,0 +1,59 @@ +# The `SANS_Guinier` Component + +*McStas: Sample for Small Angle Neutron Scattering, Guinier model* + +## Identification + +- **Site:** +- **Author:** Henrich Frielinghaus +- **Origin:** FZ-Juelich/FRJ-2/IFF/KWS-2 +- **Date:** Sept 2004 + +## Description + +```text +Sample that scatters with a Guinier shape. This is just an example where analytically +an integral exists. The neutron paths are proportional to the intensity +(low intensity > few paths). + +Guinier function (Rg) +a = Rg*Rg/3 +propability_unscaled = q * exp(-a*q*q) +integral_prop_unscal = 1/(2*a) * (1 - exp(-a*q*q)) +propability_scaled = 2*a * q*exp(-a*q*q) / (1 - exp(-a*q*q)) +integral_prop_scaled = (1 - exp(-a*q*q)) / (1 - exp(-a*qmax*qmax)) + +In this simulation method many paths occur for high propability. +For simulation of low intensities see SANS_AnySamp. + +Sample components leave the units of flux for the probability +of the individual paths. That is more consitent than the +Sans_spheres routine. Furthermore one can simulate the +transmitted beam. This allows to determine the needed size of +the beam stop. Only absorption has not been included yet to +these sample-components. But thats really nothing. + +Example: SANS_Guinier(transm=0.5, Rg=100, qmax=0.03, xwidth=0.01, yheight=0.01, zdepth=0.001) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| transm | 1 | (coherent) transmission of sample for the optical path "zdepth" | 0.5 | +| Rg | Angs | Radius of Gyration | 100 | +| qmax | AA-1 | Maximum scattering vector | 0.03 | +| xwidth | m | horiz. dimension of sample, as a width | 0.01 | +| yheight | m | vert.. dimension of sample, as a height | 0.01 | +| zdepth | m | thickness of sample | 0.001 | + +## Links + +- [Source code](SANS_Guinier.comp) for `SANS_Guinier.comp`. +- Sans_spheres component + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANS_Liposomes_Abs.md b/mcstas-comps/contrib/SANS_Liposomes_Abs.md new file mode 100644 index 0000000000..c3e8b40a9b --- /dev/null +++ b/mcstas-comps/contrib/SANS_Liposomes_Abs.md @@ -0,0 +1,62 @@ +# The `SANS_Liposomes_Abs` Component + +*McStas: Solid dilute monodisperse spheres sample with transmitted beam for Small Angle Neutron Scattering.* + +## Identification + +- **Site:** +- **Author:** Wim Bouwman, Delft University of Technology +- **Origin:** TUDelft +- **Date:** Aug 2012 + +## Description + +```text +Sample for Small Angle Neutron Scattering. +Modified from the Any Sample model. +Normalization of scattering is done in INITIALIZE. +Some elements of Sans_spheres have been re-used + +Some remarks: +Scattering function should be a defined the same way in INITIALIZE and TRACE sections +There exist maybe better library functions for the integral. + +Transmitted paths set to 50% of all paths to be optimised for SESANS. In this simulation method paths are +well distributed among transmission and scattering (equally in Q-space). + +Sample components leave the units of flux for the probability +of the individual paths. That is more consitent than the +Sans_spheres routine. Furthermore one can simulate the +transmitted beam. This allows to determine the needed size of +the beam stop. Absorption is included to +these sample-components. + +Example: SANS_Spheres_Abs(R=100, Phi=1e-3, Delta_rho=0.6, sigma_a = 50, qmax=0.03, xwidth=0.01, yheight=0.01, zthick=0.001) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| R | AA | Radius of scattering hard spheres | 100 | +| dR | | | 0.0 | +| Phi | 1 | Particle volume fraction | 1e-3 | +| Delta_rho | fm/AA^3 | Excess scattering length density | 0.6 | +| sigma_a | m^-1 | Absorption cross section density at 2200 m/s | 0.50 | +| qmax | AA-1 | Maximum scattering vector (typically 10/R to observe the 3rd ring) | 0.03 | +| xwidth | m | horiz. dimension of sample, as a width | 0.01 | +| yheight | m | vert.. dimension of sample, as a height | 0.01 | +| zthick | m | thickness of sample | 0.001 | +| dbilayer | | | 35 | + +## Links + +- [Source code](SANS_Liposomes_Abs.comp) for `SANS_Liposomes_Abs.comp`. +- Sans_spheres component +- SANS_AnySamp component + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SANS_benchmark2.md b/mcstas-comps/contrib/SANS_benchmark2.md new file mode 100644 index 0000000000..b7c03b765e --- /dev/null +++ b/mcstas-comps/contrib/SANS_benchmark2.md @@ -0,0 +1,55 @@ +# The `SANS_benchmark2` Component + +*McStas: SANS_benchmark2 sample from FZ Jülichx* + +## Identification + +- **Site:** +- **Author:** Henrich Frielinghaus +- **Origin:** FZJ +- **Date:** Apr 2013 + +## Description + +```text +Several benchmark SANS samples are defined in this routine. The first ones are analytically defined. Higher numbers are forseen for tables. +In principle, the exact definitions can be changed freely - inside this code. +The consideration of all parameters as a routine parameter would be too much for the general purpose. +The user might decide to make single parameters routine parameters. + +For the scattering simulation a high fraction of neutron paths is directed to the scattering (exact fraction is sc_aim). +The remaining paths are used for the transmitted beams. The absolute intensities are treated accordingly, and the p-parameter is set accordingly. + +For the scattering probability, the integral of the scattering function between Q = 0.0001 and 1.0 AA-1 is calculated. +This is used in terms of transmisson, and of course for the scattering probability. +In this way, multiple scattering processes could be treated as well. + +The typical SANS range was considered to be between 0.0001 and 1.0 AA-1. +This means that the scattered neutrons are equally distributed in this range on logarithmic Q-scales. +The Q-parameters can be changed still inside the code, if needed. + +Example: SANS_benchmark(xwidth=0.01, yheight=0.01, zthick=0.001, model=1.0, dsdw_inc=0.02, sc_aim=0.97, sans_aim=0.95, singlesp = 0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | width of sample volume | 0.01 | +| yheight | m | height of sample volume | 0.01 | +| zthick | m | thickness of sample volume | 0.001 | +| model | | model no., real variable will be rounded. negative numbers interpreted as model #0, too large as #18. | 1.0 | +| dsdw_inc | | the incoherent background from the overall sample (cm-1), should read ca. 1.0 for water, 0.5 for half D2O, half H2O, and ca. 0.02 for D2O | 0.02 | +| sc_aim | | the fraction of neutron paths used to represent the scattered neutrons (including everything: incoherent and coherent). rest is transmission. | 0.97 | +| sans_aim | | the fraction of neutron paths used to represent the scattered neutrons in the sans-range (up to 1.0AA-1). rest is incoherent with Q>1AA-1. | 0.95 | +| singlesp | | switches between multiple scattering (parameter zero 0.0) and single scattering (parameter 1.0). The sc_aim directs a fraction of paths to the first scattering process accordingly. The no. of paths for the second scattering process is derived from the real probability. Up to 10 scattering processes are considered. | 0.0 | + +## Links + +- [Source code](SANS_benchmark2.comp) for `SANS_benchmark2.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SNS_source.md b/mcstas-comps/contrib/SNS_source.md new file mode 100644 index 0000000000..e86d6f56a5 --- /dev/null +++ b/mcstas-comps/contrib/SNS_source.md @@ -0,0 +1,54 @@ +# The `SNS_source` Component + +*McStas: Modified: G. E. Granroth Nov 2014 Move to Mcstas V2 +Modified: J.Y.Y. Lin April 2021 to Fix race condition +Modified: P. WIllendrup 2021 Move to Move to Mcstas Version 3 and enable GPus + +A source that produces a time and energy distribution from the SNS moderator files* + +## Identification + +- **Site:** +- **Author:** G. Granroth +- **Origin:** SNS Project Oak Ridge National Laboratory +- **Date:** July 2004 + +## Description + +```text +Produces a time-of-flight spectrum from SNS moderator files +moderator files can be obtained from the SNS website . +IMPORTANT: The output units of this component are N/pulse +IMPORTANT: The component needs a FULL PATH to the source input file +Notes: +(1) the raw moderator files are per Sr. The focusing parameters provide the solid +angle accepted by the guide to remove the Sr dependence from the output. Therefore +the best practice is to set focus_xw and focus_yh to the width and height of the next beam +component, respectively. The dist parameter should then be set as the distance +from the moderator to the first component. +(2) This component works purely by interpolation. Therefore be sure that Emin and +Emax are within the limits of the moderator file +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **filename** | | Filename of source data | | +| xwidth | m | width of moderator | 0.1 | +| yheight | m | height of moderator | 0.12 | +| **dist** | m | Distance from source to the focusing rectangle | | +| **focus_xw** | m | Width of focusing rectangle | | +| **focus_yh** | m | Height of focusing rectangle | | +| **Emin** | meV | minimum energy of neutron to generate | | +| **Emax** | meV | maximum energy of neutron to generate | | + +## Links + +- [Source code](SNS_source.comp) for `SNS_source.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SNS_source_analytic.md b/mcstas-comps/contrib/SNS_source_analytic.md new file mode 100644 index 0000000000..85a38f8c9d --- /dev/null +++ b/mcstas-comps/contrib/SNS_source_analytic.md @@ -0,0 +1,66 @@ +# The `SNS_source_analytic` Component + +*McStas: A source that produces a time and energy distribution from +parameterized SNS moderator files* + +## Identification + +- **Site:** +- **Author:** F. X. Gallmeier +- **Origin:** SNS Oak Ridge National Laboratory +- **Date:** October 18, 2010 + +## Description + +```text +Produces a time-of-flight spectrum from SNS moderator files +moderator files can be obtained from the author +IMPORTANT: The output units of this component are N/pulse +IMPORTANT: The component needs a FULL PATH to the source input file +Notes: +(1) the raw moderator files are per Sr. The parameters focus_xw focus_yh and dist +provide the solid angle with which the beam line is served. +The best practice is to set focus_xw and focus_yh to the width and height of the +closest beam component, and dist as the distance from the moderator +location to this component. +(2) Be sure that Emin and Emax are within the limits of 1e-5 to 100 eV +(3) the proton pulse length T determines short- and long-pulse mode + +Beamport definitions: +BL11: a1Gw2-11-f5_fit_fit.dat +BL14: a1Gw2-14-f5_fit_fit.dat +BL17: a1Gw2-17-f5_fit_fit.dat +BL02: a1Gw2-2-f5_fit_fit.dat +BL05: a1Gw2-5-f5_fit_fit.dat +BL08: a1Gw2-8-f5_fit_fit.dat +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **filename** | | Filename of source data | | +| xwidth | m | width of moderator (default 0.1 m) | 0.10 | +| yheight | m | height of moderator (default 0.12 m) | 0.12 | +| **dist** | m | Distance from source to the focusing rectangle (no default) | | +| **focus_xw** | m | Width of focusing rectangle (no default) | | +| **focus_yh** | m | Height of focusing rectangle (no default) | | +| Emin | meV | minimum energy of neutrons (default 0.01 meV) | 0.01 | +| Emax | meV | maximum energy of neutrons (default 1e5 meV) | 1.0e5 | +| tinmin | us | minimum time of neutrons (default 0 us) | 0.0 | +| tinmax | us | maximum time of neutrons (default 2000 us) | 2000.0 | +| sample_E | | sample energy from: (default 0) | 0 | +| sample_t | | sample t from: (default 0) | 0 | +| proton_T | us | proton pulse length (0 us) | 0.0 | +| p_power | MW | proton power (default 2 MW) | 2.0 | +| n_pulses | | number of pulses (default 1) | 1.0 | + +## Links + +- [Source code](SNS_source_analytic.comp) for `SNS_source_analytic.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Sans_liposomes_new.md b/mcstas-comps/contrib/Sans_liposomes_new.md new file mode 100644 index 0000000000..2c0db8ffec --- /dev/null +++ b/mcstas-comps/contrib/Sans_liposomes_new.md @@ -0,0 +1,53 @@ +# The `Sans_liposomes_new` Component + +*McStas: Release: McStas 1.12 + +SANS sample, spherical shells in thin solution with gaussian size distribution* + +## Identification + +- **Site:** +- **Author:** P. Willendrup, K. Lefmann, L. Arleth, L. Udby +- **Origin:** Risoe +- **Date:** 19.12.2003 + +## Description + +```text +Sample for Small Angle Neutron Scattering - spherical shells in thin solution with gaussian size distribution +The shape of the sample may be a cylinder of given radius or a box with dimensions +xwidth, yheight, zthick. qmax defines a cutoff in q. + +Example: Sans_spheres(R = 100, dR = 5, dbilayer=35, Phi = 1e-3, Delta_rho = 0.6, sigma_a = 50, qmax = 0.3 ,xwidth=0.01, yheight=0.01, zthick=0.005) + +%BUGS +This component does NOT simulate absolute intensities. This latter depends on the detector parameters. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| R | AA | Radius of scattering hard spheres | 100 | +| dR | | | 0.0 | +| Phi | 1 | Particle volume fraction | 1e-3 | +| Delta_rho | fm/AA^3 | Excess scattering length density | 0.6 | +| sigma_a | m^-1 | Absorption cross section density at 2200 m/s | 0.50 | +| dist | m | Distance from sample to detector | 6 | +| Rdet | m | Detector (disk-shaped) radius | 0.5 | +| xwidth | m | horiz. dimension of sample, as a width | 0.01 | +| yheight | m | vert . dimension of sample, as a height | 0.01 | +| zthick | m | thickness of sample | 0.005 | +| qmax | AA^-1 | Maximum momentum transfer | 0 | +| dbilayer | AA | Thickness of shell | 35 | + +## Links + +- [Source code](Sans_liposomes_new.comp) for `Sans_liposomes_new.comp`. +- The test/example instrument SANS.instr. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Sapphire_Filter.md b/mcstas-comps/contrib/Sapphire_Filter.md new file mode 100644 index 0000000000..0c2f7ea1ff --- /dev/null +++ b/mcstas-comps/contrib/Sapphire_Filter.md @@ -0,0 +1,54 @@ +# The `Sapphire_Filter` Component + +*McStas: Sapphire filter at 300K* + +## Identification + +- **Site:** +- **Author:** Jonas Okkels Birk (based upon Filteg_Graphite by Thomas C Hansen (2000)) +- **Origin:** PSI +- **Date:** 6 December 2006 + +## Description + +```text +ESCRIPTION + +This sapphire filter, defined by two identical rectangular opening apertures, +is based upon an absorption function absorp=exp(L*A+C*(exp(-(B/L^2+D/L^4)))) +decribed by Freund (1983) Nucl. Instrum. Methods, A278, 379-401. The +defaultvalues is for Sapphire at 300K as found by measurement by (Mildner & +Lamaze (1998) J. Appl. Cryst. 31,835-840 +( http://journals.iucr.org/j/issues/1998/06/00/hw0070/hw0070bdy.html#BB4)). It +is possble to ajust the formular to other materials or temperatures by typing in +other parameters. +The transmission in sapphire is only lightly demependt on temperature, but +The formular is only cheked at wavelenths between 0.5 and 14 AA (0.4 meV 0.3 +eV). +The filter is for example used in the Eiger beamline at PSI to cut of high +energies. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xmin | m | Lower x bound | -0.16 | +| xmax | m | Upper x bound | 0.16 | +| ymin | m | Lower y bound | -0.16 | +| ymax | m | Upper y bound | 0.16 | +| len | m | Thickness of filter | 0.1 | +| A | m^-1 AA^-1 | | 0.8116 | +| B | AA^2 | | 0.1618 | +| C | m^-1 | | 21.24 | +| D | AA^4 | | 0.1291 | + +## Links + +- [Source code](Sapphire_Filter.comp) for `Sapphire_Filter.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SiC.md b/mcstas-comps/contrib/SiC.md new file mode 100644 index 0000000000..9ebc61dfba --- /dev/null +++ b/mcstas-comps/contrib/SiC.md @@ -0,0 +1,35 @@ +# The `SiC` Component + +*McStas: SiC layer sample* + +## Identification + +- **Site:** +- **Author:** S. Rycroft +- **Origin:** IRI. +- **Date:** Jan 2000 + +## Description + +```text +SiC layer sample + +Example: SiC() +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **xlength** | m | length of SiC plate | | +| **yheight** | m | height of SiC plate | | + +## Links + +- [Source code](SiC.comp) for `SiC.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Single_crystal_inelastic.md b/mcstas-comps/contrib/Single_crystal_inelastic.md new file mode 100644 index 0000000000..30e1bf2969 --- /dev/null +++ b/mcstas-comps/contrib/Single_crystal_inelastic.md @@ -0,0 +1,97 @@ +# The `Single_crystal_inelastic` Component + +*McStas: An extension of Single crystal with material dispersion* + +## Identification + +- **Site:** +- **Author:** Duc Le +- **Origin:** STFC +- **Date:** August 2020 + +## Description + +```text +The component handles a 4D S(q,w) material dispersion, and scatters neutrons +out of it. It is based on the Isotropic_Sqw methodology, extended to 4D. + +A number of approximations are applied: + +- geometry is restricted to box, cylinder and sphere +- ignore absorption, multiple scattering and incoherent scattering +- no temperature handling. The temperature must be taken into account when +generating the S(q,w) data sets, which should contain Bose/detailed balance. +- intensity is used as provided by the S(q,w) data set + +We recommend that you first try the Test_Single_crystal_inelastic example to +learn how to use this complex component. + +4D S(q,w) data files +-------------------- + +The input data file derives from other McStas formats. It may contain structural +information as in Lau/Laz files, and a list of S(q,w) [one per row] with 5 columns + +[ H K L E S(q,w) ] + +An example file example.sqw4 is provided in the McStas/Data directory. + +You may generate such files using iFit such as: + +s = sqw_vaks('defaults'); % a 4D model +d = iData(s); % use default coarse grid for axes [-0.5:0.5] +saveas(d, 'sx_coh.sqw4', 'mcstas'); % export to 4D Sqw file + +%VALIDATION: +This component is undergoing validation. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| mosaic_AB | arcmin,arcmin,1,1,1,1,1,1 | In Plane mosaic rotation and plane vectors (anisotropic), | {0,0, 0,0,0, 0,0,0} | +| sqw | string | Name of a 4d S(q,w) file - example.sqw4 is included in your installation | 0 | +| geometry | string | Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust. | 0 | +| qwidth | | | 0.05 | +| xwidth | m | Width of crystal. | 0 | +| yheight | m | Height of crystal. | 0 | +| zdepth | m | Depth of crystal (no extinction simulated) | 0 | +| radius | m | Outer radius of sample in (x,z) plane. | 0 | +| delta_d_d | 1 | Lattice spacing variance, gaussian RMS. | 1e-4 | +| mosaic | arcmin | Isotropic crystal mosaic, gaussian RMS. Puts the crystal in the isotropic mosaic model state, thus disregarding other mosaicity parameters. | -1 | +| mosaic_a | arcmin | Horizontal (rotation around lattice vector a) mosaic (anisotropic), gaussian RMS. Put the crystal in the anisotropic crystal vector state. I.e. model mosaicity through rotation around the crystal lattice vectors. Has precedence over in-plane mosaic model. | -1 | +| mosaic_b | arcmin | Vertical (rotation around lattice vector b) mosaic (anisotropic), gaussian RMS. | -1 | +| mosaic_c | arcmin | Out-of-plane (Rotation around lattice vector c) mosaic (anisotropic), gaussian RMS. | -1 | +| recip_cell | 1 | Choice of direct/reciprocal (0/1) unit cell definition. | 0 | +| barns | 1 | Flag to indicate if \|F\|^2 from 'reflections' is in barns or fm^2. | 0 | +| ax | AA / AA^-1 | Coordinates of first (direct/recip) unit cell vector. | 0 | +| ay | AA / AA^-1 | a on y axis | 0 | +| az | AA / AA^-1 | a on z axis | 0 | +| bx | AA / AA^-1 | Coordinates of second (direct/recip) unit cell vector. | 0 | +| by | AA / AA^-1 | b on y axis | 0 | +| bz | AA / AA^-1 | b on z axis | 0 | +| cx | AA / AA^-1 | Coordinates of third (direct/recip) unit cell vector. | 0 | +| cy | AA / AA^-1 | c on y axis | 0 | +| cz | AA / AA^-1 | c on z axis | 0 | +| p_transmit | 1 | Monte Carlo probability for neutrons to be transmitted | -1 | +| sigma_abs | barns | Absorption cross-section per unit cell at 2200 m/s. | 0 | +| sigma_inc | barns | Incoherent scattering cross-section per unit cell. | 0 | +| aa | deg | Unit cell angles alpha, beta and gamma. Then uses norms of | 0 | +| bb | deg | Beta angle. | 0 | +| cc | deg | Gamma angle. | 0 | +| order | 1 | Limit multiple scattering up to given order | 0 | +| RX | m | Radius of horizontal along X lattice curvature. flat for 0. | 0 | +| RY | m | Radius of vertical lattice curvature. flat for 0. | 0 | +| RZ | m | Radius of horizontal along Z lattice curvature. flat for 0. | 0 | +| max_stored_ki | | | 1000 | + +## Links + +- [Source code](Single_crystal_inelastic.comp) for `Single_crystal_inelastic.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Source_custom.md b/mcstas-comps/contrib/Source_custom.md new file mode 100644 index 0000000000..21cc3c5153 --- /dev/null +++ b/mcstas-comps/contrib/Source_custom.md @@ -0,0 +1,130 @@ +# The `Source_custom` Component + +*McStas: A flexible pulsed or continuous source with customisable parameters. Multiple pulses can be simulated over time.* + +## Identification + +- **Site:** +- **Author:** Pablo Gila-Herranz, based on 'Source_pulsed' by K. Lieutenant +- **Origin:** Materials Physics Center (CFM-MPC), CSIC-UPV/EHU +- **Date:** May 2025 + +## Description + +```text +Produces a custom pulse spectrum with a wavelength distribution as a sum of up to 3 Maxwellian distributions and one of undermoderated neutrons. + +Usage: + +By default, all Maxwellian distributions are assumed to come from anywhere in the moderator. +A custom radius r_i can be defined such that the central circle is at temperature T1, +and the surrounding ring is at temperature T2. +The third Maxwellian distribution at temperature T3 always comes from anywhere in the moderator. + +Multiple pulses can be simulated over time with the n_pulses parameter. +The input flux is in units of [1/(cm^2 sr s AA)], and the output flux is per second, regardless of the number of pulses. +This means that the intensity spreads over n_pulses, so that the units of neutrons per second are preserved. +To simulate only the neutron counts of a single pulse, the input flux should be divided by the frequency. +Bear in mind that the maximum emission time is given by t_pulse * tmax_multiplier, +so short pulses with long tails may require a higher tmax_multiplier value (3 by default). + +To simulate a continuous source, set a pulse length equal to the pulse period (e.g. t_pulse=1.0, freq=1.0). +Note that this continuous beam is simulated over time, unlike other continuous sources in McStas which produce a Dirac delta at time 0. + +Parameters xwidth and yheight must be provided for rectangular moderators, otherwise a circular shape is assumed. + +Model description: + +The normalised Maxwellian distribution for moderated neutrons is defined by [1] +

+$M(\lambda)=\frac{2a^2}{T^2\lambda^5}\exp\left(-\frac{a}{T\lambda^{2}}\right)$ +
+where +
+$a=\left(\frac{h^2}{2m_{N}k_{B}}\right)$ +
+and the joining function for the under-moderated neutrons is given by [1] +
+$M(\lambda)_{um}=\frac{1}{\lambda(1+\exp(\lambda\chi-\kappa))}$ +
+ +The normalised time structure of the long pulse is defined by [2] +
+$N_{t<=t_p}=1-\exp\left(-\frac{t}{\tau/n}\right)$ +
+
+$N_{t>t_p}=\exp\left(-\frac{t-t_p}{\tau}\right)-\exp\left(-\frac{t}{\tau/n}\right)$ +
+where tp is the pulse period, tau is the pulse decay time constant, and n is the ratio of decay to ascend time constants. + +Parameters for some sources: + +HBS thermal source: +t_pulse=0.016, freq=24.0, xwidth=0.04, yheight=0.04, +T1=325.0, I1=0.68e+12, tau1=0.000125, +I_um=2.47e+10, chi_um=2.5 + +HBS cold source: +t_pulse=0.016, freq=24.0, radius=0.010, +T1=60.0, I1=1.75e+12, tau1=0.000170, +I_um=3.82e+10, chi_um=0.9 + +HBS bi-spectral: +t_pulse=0.016, freq=24.0, radius=0.022, r_i=0.010, +T1= 60.0, I1=1.75e+12, tau1=0.000170, +T2=305.0, I2=0.56e+12, tau2=0.000130, +I_um=3.82e+10, chi_um=2.5 + +PSI cold source: +t_pulse=1, freq=1, xwidth=0.1, yheight=0.1, +T1=296.2, I1=8.5e+11, T2=40.68, I2=5.2e+11 + +References: +[1] J. M. Carpenter et al, Nuclear Instruments and Methods in Physics Research Section A, 234, 542-551 (1985). +[2] J. M. Carpenter and W. B. Yelon, Methods in Experimental Physics 23, p. 127, Chapter 2, Neutron Sources (1986). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_index | 1 | Relative index of component to focus at, e.g. next is +1 (used to compute 'dist' automatically) | 1 | +| dist | m | Distance from the source to the target | 0.0 | +| focus_xw | m | Width of the target (focusing rectangle) | 0.02 | +| focus_yh | m | Height of the target (focusing rectangle) | 0.02 | +| xwidth | m | Width of the source | 0.0 | +| yheight | m | Height of the source | 0.0 | +| radius | m | Outer radius of the source (ignored if xwidth and yheight are set) | 0.010 | +| r_i | m | Radius of a central circle at temperature T1, sorrounded by a ring at temperature T2 (ignored by default) | 0.0 | +| **Lmin** | AA | Lower edge of the wavelength distribution | | +| **Lmax** | AA | Upper edge of the wavelength distribution | | +| **freq** | Hz | Frequency of pulses | | +| **t_pulse** | s | Proton pulse length | | +| tmax_multiplier | 1 | Defined maximum emission time at moderator (tmax = tmax_multiplier * t_pulse); 1 for continuous sources | 3.0 | +| n_pulses | 1 | Number of pulses to be simulated (ignored for continuous sources) | 1 | +| T1 | K | Temperature of the 1st Maxwellian distribution; for r_i > 0 it is only used for the central radii r < r_i | 0.0 | +| I1 | 1/(cm^2 sr s AA) | Flux per solid angle of the 1st Maxwellian distribution (integrated over the whole wavelength range) | 0.0 | +| tau1 | s | Pulse decay time constant of the 1st Maxwellian distribution | 0.000125 | +| T2 | K | Temperature of the 2nd Maxwellian distribution (0 to disable); for r_i > 0 it is only used for the external ring r > r_i | 0.0 | +| I2 | 1/(cm^2 sr s AA) | Flux per solid angle of the 2nd Maxwellian distribution | 0.0 | +| tau2 | s | Pulse decay time constant of the 2nd Maxwellian distribution | 0.000125 | +| T3 | K | Temperature of the 3rd Maxwellian distribution (0 to disable) | 0.0 | +| I3 | 1/(cm^2 sr s AA) | Flux per solid angle of the 3rd Maxwellian distribution | 0.0 | +| tau3 | s | Pulse decay time constant of the 3rd Maxwellian distribution | 0.000125 | +| n_mod | 1 | Ratio of pulse decay constant to pulse ascend constant of moderated neutrons (n = tau_decay / tau_ascend) | 1 | +| I_um | 1/(cm^2 sr s AA) | Flux per solid angle for the under-moderated neutrons | 0.0 | +| tau_um | s | Pulse decay time constant of under-moderated neutrons | 0.000012 | +| n_um | 1 | Ratio of pulse decay constant to pulse ascend constant of under-moderated neutrons | 1 | +| chi_um | 1/AA | Factor for the wavelength dependence of under-moderated neutrons | 2.5 | +| kap_um | 1 | Scaling factor for the flux of under-moderated neutrons | 2.2 | + +## Links + +- [Source code](Source_custom.comp) for `Source_custom.comp`. +- This model is implemented in an interactive notebook to fit custom neutron sources. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Source_gen4.md b/mcstas-comps/contrib/Source_gen4.md new file mode 100644 index 0000000000..9eac0cef76 --- /dev/null +++ b/mcstas-comps/contrib/Source_gen4.md @@ -0,0 +1,118 @@ +# The `Source_gen4` Component + +*McStas: Circular/squared neutron source with flat or Maxwellian energy/wavelength +spectrum (possibly spatially gaussian)* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi, Kim Lefmann, modified to PSI use by Jonas Okkels Birk +- **Origin:** ILL/Risoe +- **Date:** Aug 27, 2001 + +## Description + +```text +This routine is a neutron source (rectangular or circular), which aims at +a square target centered at the beam (in order to improve MC-acceptance +rate). The angular divergence is then given by the dimensions of the +target. +The neutron energy/wavelength is distributed between Emin=E0-dE and +Emax=E0+dE or Lmin=Lambda0-dLambda and Lmax=Lambda0+dLambda. The I1 may +be either arbitrary (I1=0), or specified in neutrons per steradian per +square cm per Angstrom. A Maxwellian spectra may be selected if you give +the source temperatures (up to 3). And a high energytail of the shape A/(lambda0-lambda) can also be +specified if you give an A. Finally, a file with the flux as a +function of the wavelength [lambda(AA) flux(n/s/cm^2/st/AA)] may be used +with the 'flux_file' parameter. Format is 2 columns free text. +Additionl distributions for the horizontal and vertical phase spaces +distributions (position-divergence) may be specified with the +'xdiv_file' and 'ydiv_file' parameters. Format is free text, requiring +a comment line '# xylimits: pos_min pos_max div_min div_max' to set +the axis of the distribution matrix. All these files may be generated using +standard monitors (better in McStas/PGPLOT format), e.g.: +Monitor_nD(options="auto lambda per cm2") +Monitor_nD(options="x hdiv, all auto") +Monitor_nD(options="y vdiv, all auto") +The source shape is defined by its radius, or can alternatively be squared +if you specify non-zero h and w parameters. +The beam is spatially uniform, but becomes gaussian if one of the source +dimensions (radius, h or w) is negative, or you set the gaussian flag. +Divergence profiles are triangular. +The source may have a thickness, which will broaden the default zero time +distribution. +For the Maxwellian spectra, the generated intensity is dPhi/dLambda (n/s/AA) +For flat spectra, the generated intensity is Phi (n/s). + +Usage example: +Source_gen(radius=0.1,Lambda0=2.36,dLambda=0.16, T1=20, I1=1e13) +Source_gen(h=0.1,w=0.1,Emin=1,Emax=3, I1=1e13, verbose=1, gaussian=1) +EXTEND +%{ +t = rand0max(1e-3); // set time from 0 to 1 ms for TOF instruments. +%} + +Some sources parameters: +PSI cold source T1= 296.16, I1=8.5E11, T2=40.68, I2=5.2E11 +ILL VCS cold source T1=216.8,I1=1.24e+13,T2=33.9,I2=1.02e+13 +(H1) T3=16.7 ,I3=3.0423e+12 +ILL HCS cold source T1=413.5,I1=10.22e12,T2=145.8,I2=3.44e13 +(H5) T3=40.1 ,I3=2.78e13 +ILL Thermal tube T1=683.7,I1=0.5874e+13,T2=257.7,I2=2.5099e+13 +(H12) T3=16.7 ,I3=1.0343e+12 +ILL Hot source T1=1695,I1=1.74e13,T2=708,I2=3.9e12 + +%VALIDATION +Feb 2005: output cross-checked for 3 Maxwellians against VITESS source +I(lambda), I(hor_div), I(vert_div) identical in shape and absolute values +Validated by: K. Lieutenant +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| flux_file | str | Name of a two columns [lambda flux] text file that contains the wavelength distribution of the flux in [1/(s*cm**2*st*AA)]. Comments (#) and further columns are ignored. Format is compatible with McStas/PGPLOT wavelength monitor files. When specified, temperature and intensity values are ignored. NO correction for solid-angle is applied, the intensity emitted into the chosen xw x yh rectangle at distance dist. | 0 | +| xdiv_file | str | Name of the x-horiz. divergence distribution file, given as a free format text matrix, preceeded with a line '# xylimits: xmin xmax xdiv_min xdiv_max' | 0 | +| ydiv_file | str | Name of the y-vert. divergence distribution file, given as a free format text matrix, preceeded with a line '# xylimits: ymin ymax ydiv_min ydiv_max' | 0 | +| radius | m | Radius of circle in (x,y,0) plane where neutrons are generated. You may also use 'h' and 'w' for a square source | 0.0 | +| dist | m | Distance to target along z axis. | 0 | +| xw | m | Width(x) of target. If dist=0.0, xw = full horz. div in deg | 0 | +| yh | m | Height(y) of target. If dist=0.0, yh = full vert. div in deg | 0 | +| E0 | meV | Mean energy of neutrons. | 0 | +| dE | meV | Energy spread of neutrons, half width. | 0 | +| Lambda0 | AA | Mean wavelength of neutrons. | 0 | +| dLambda | AA | Wavelength spread of neutrons,half width | 0 | +| I1 | 1/(cm**2*st) | Source flux per solid angle, area and Angstrom | 0 | +| h | m | Source y-height, then does not use radius parameter | 0 | +| w | m | Source x-width, then does not use radius parameter | 0 | +| gaussian | 0/1 | Use gaussian divergence beam, normal distributions | 0 | +| verbose | 0/1 | display info about the source. -1 inactivate source. | 0 | +| T1 | K | Temperature of the Maxwellian source, 0=none | 0 | +| flux_file_perAA | 1 | When true (1), indicates that flux file data is already per Angstroem. If false, file data is per wavelength bin. | 0 | +| flux_file_log | 1 | When true, will transform the flux table in log scale to improve the sampling. This may also cause | 0 | +| Lmin | AA | Minimum wavelength of neutrons | 0 | +| Lmax | AA | Maximum wavelength of neutrons | 0 | +| Emin | meV | Minimum energy of neutrons | 0 | +| Emax | meV | Maximum energy of neutrons | 0 | +| T2 | K | Second Maxwellian source Temperature, 0=none | 0 | +| I2 | 1/(cm**2*st) | Second Maxwellian Source flux | 0 | +| T3 | K | Third Maxwellian source Temperature, 0=none | 0 | +| I3 | 1/(cm**2*st) | Third Maxwellian Source flux | 0 | +| length | m | Source z-length, not anymore flat | 0 | +| phi_init | degrees | Angle abowe the x-z-plan that the source is amied at | 0 | +| theta_init | degrees | Angle from the z-axis in the x-z-plan that the source is amied at | 0 | +| HEtailA | 1/(cm**2*st*AA) | Amplitude of heigh energy tail | 0 | +| HEtailL0 | AA | Offset of heigh energy tail | 0 | + +## Links + +- [Source code](Source_gen4.comp) for `Source_gen4.comp`. +- The ILL Yellow book +- P. Ageron, Nucl. Inst. Meth. A 284 (1989) 197 + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Source_multi_surfaces.md b/mcstas-comps/contrib/Source_multi_surfaces.md new file mode 100644 index 0000000000..6d768c7942 --- /dev/null +++ b/mcstas-comps/contrib/Source_multi_surfaces.md @@ -0,0 +1,94 @@ +# The `Source_multi_surfaces` Component + +*McStas: Rectangular neutron source with subareas - using wavelength spectra reading +from files* + +## Identification + +- **Site:** +- **Author:** Ludovic Giller, Uwe Filges +- **Origin:** PSI/Villigen +- **Date:** 31.10.06 + +## Description + +```text +This routine is a rectangular neutron source, which aims at a square target +centered at the beam (in order to improve MC-acceptance rate). +The angular divergence is then given by the dimensions of the target. +The source surface can be divided in subareas (maximum 7 in one dimension). +For each subarea a discret spectrum must be loaded given by its corresponding +file. The name of the files are saved in one file and will be called with the +parameter "filename". +In fact the routine first reads the spectrum from files (up to 49) and it +selects randomly a subarea. Secondly it generates a neutron with an random +energy, selected from the spectrum corresponding to the subsurface chosen, and +with a random direction of propagation within the target. +ATTENTION 1: the files must be located in the working directory where also +the instrument file is located +ATTENTION 2: the wavelenght distribution (or binning) must be uniform + +The file giving the name of sub-sources is matrix like, +eg. for a 3x2 (x,y) division : +spec1_1.dat spec1_2.dat spec1_3.dat +spec2_1.dat spec2_2.dat spec2_3.dat(RETURN-key) + +ATTENTION : The line break after the last line is important. +Otherwise the files can not be read in !!! + +and for example spec1_2.dat must be like, always from big to +small lambda : +#surface 1_2 +#comments must be preceded by "#" +#lambda [AA] intensity [a.u.] +9.0 1.39E+08 +8.75 9.67E+08 +8.5 1.17E+09 +8.25 1.50E+09 +8.0 1.60E+09 +7.75 1.43E+09 +7.5 1.40E+09 +7.25 1.36E+09 +7.0 1.35E+09 +6.75 1.33E+09 +6.5 1.32E+09 +6.25 1.31E+09 + + +[a.u.] means that your chosen unit for the intensity influences +the outcoming unit. What you put in you will get out ! +i.e. whatever is the unit for the input intensity you +will have the same unit for the the output. +Generally McStas works in neutrons per second [n/s]. + +Usage example: +Source_multi_surfaces(yheight=0.16,xwidth=0.09,dist=1.18,xw=0.08,yh=0.15,xdim=4,ydim=4, +Lmin=0.01,Lmax=10.0,filename="files_name.dat") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of the file containing a list of the spectra file names | 0 | +| yheight | m | Source y-height | 0.16 | +| xwidth | m | Source x-width | 0.09 | +| dist | m | Distance to target along z axis | 1.18 | +| xw | m | Width(x) of target | 0.08 | +| yh | m | Height(y) of target | 0.15 | +| xdim | int | Number of subareas in the x direction | 4 | +| ydim | int | Number of subareas in the y direction | 4 | +| Emin | eV | Minimum energy of neutrons | 0.0 | +| Emax | eV | Maximum energy of neutrons | 0.0 | +| Lmin | AA | Minimum wavelength of neutrons | 0.0 | +| Lmax | AA | Maximum wavelength of neutrons | 0.0 | + +## Links + +- [Source code](Source_multi_surfaces.comp) for `Source_multi_surfaces.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Source_pulsed.md b/mcstas-comps/contrib/Source_pulsed.md new file mode 100644 index 0000000000..54d3543866 --- /dev/null +++ b/mcstas-comps/contrib/Source_pulsed.md @@ -0,0 +1,74 @@ +# The `Source_pulsed` Component + +*McStas: A pulsed source for variable proton pulse lenghts* + +## Identification + +- **Site:** +- **Author:** Klaus Lieutenant, based on component 'Moderator' by K. Nielsen, M. Hagen and 'ESS_moderator_long_2001' by K. Lefmann +- **Origin:** FZ Juelich +- **Date:** + +## Description + +```text +Produces a long pulse spectrum with a wavelength distribution as a sum of up to 3 Maxwellian distributions and one of undermoderated neutrons + +It uses the time dependence of long pulses. Short pulses can, however, also be simulated by setting the proton pulse short. + +If moderator width and height are given, it assumes a rectangular moderator, and otherwise a circular + +Usage example: +Source_pulsed(xwidth=0.04, yheight=0.04, Lmin=1.0, Lmax=3.0, t_min=0.0, t_max=0.5, dist=0.700, focus_xw=0.020, focus_yh=0.020, +freq=96.0, t_pulse=0.000208, T1=325.0, I1=7.6e09, tau1=0.000170, I_um=2.7e08, chi_um=2.5) + +Parameters for some sources: +HBS thermal source: xwidth=0.04, yheight=0.04, T1=325.0, I1=0.68e+12/freq, tau1=0.000125, n_mod=10, I_um=2.47e+10/freq, chi_um=2.5, t_pulse=0.016/freq, freq=96.0 or 24.0 +HBS cold source : radius=0.010, T1= 60.0, I1=1.75e+12/freq, tau2=0.000170, n_mod= 5, I_um=3.82e+10/freq, chi_um=0.9, t_pulse=0.016/freq, freq=24.0 or 96.0 +HBS bi-spectral : radius=0.022, r_i=0.010, T1= 60.0, I1=1.75e+12/freq, tau2=0.000170, +T2=305.0, I2=0.56e+12/freq, tau1=0.000130, n_mod= 5, I_um=3.82e+10/freq, chi_um=2.5, t_pulse=0.016/freq, freq=24.0 or 96.0 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Width of the source | 0.0 | +| yheight | m | Height of the source | 0.0 | +| radius | m | Outer radius of the source | 0.010 | +| r_i | m | Radius of a central circle that is sorrounded by a ring of different temperature | 0.0 | +| **Lmin** | Ang | Lower edge of the wavelength distribution | | +| **Lmax** | Ang | Upper edge of the wavelength distribution | | +| t_min | s | Lower edge of the time interval | 0.0 | +| t_max | s | Upper edge of the time interval | 0.001 | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. | 1 | +| dist | m | Distance from the source to the target | 0.0 | +| focus_xw | m | Width of the target (= focusing rectangle) | 0.02 | +| focus_yh | m | Height of the target (= focusing rectangle) | 0.02 | +| **freq** | Hz | Frequency of pulses | | +| **t_pulse** | s | Proton pulse length | | +| T1 | K | Temperature of the 1st Maxwellian distribution, for r_i > 0 only for radii r in the range 0 < r < r_i | 0.0 | +| I1 | 1/(cm**2*sr) | Flux per solid angle of the 1st Maxwellian distribution (integrated over the whole wavelength range). | 0.0 | +| tau1 | s | Pulse decay constant of the 1st Maxwellian distribution | 0.000125 | +| T2 | K | Temperature of the 2nd Maxwellian distribution, 0=none, for r_i > 0 only for radii r in the range r_i < r < radius | 0.0 | +| I2 | 1/(cm**2*sr) | Flux per solid angle of the 2nd Maxwellian distribution | 0.0 | +| tau2 | s | Pulse decay constant of the 2nd Maxwellian distribution | 0.0 | +| T3 | K | Temperature of the 3rd Maxwellian distribution, 0=none | 0.0 | +| I3 | 1/(cm**2*sr) | Flux per solid angle of the 3rd Maxwellian distribution | 0.0 | +| tau3 | s | Pulse decay constant of the 3rd Maxwellian distribution | 0.0 | +| n_mod | 1 | Ratio of pulse decay constant to pulse ascend constant of moderated neutrons | 10 | +| I_um | 1/(cm**2*sr) | Flux per solid angle for the under-moderated neutrons | 0.0 | +| tau_um | s | Pulse decay constant of under-moderated neutrons | 0.000012 | +| n_um | 1 | Ratio of pulse decay constant to pulse ascend constant of under-moderated neutrons | 5 | +| chi_um | 1/Ang | Factor for the wavelength dependence of under-moderated neutrons | 2.5 | +| kap_um | 1 | Scaling factor for the flux of under-moderated neutrons | 2.2 | + +## Links + +- [Source code](Source_pulsed.comp) for `Source_pulsed.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Spherical_Backscattering_Analyser.md b/mcstas-comps/contrib/Spherical_Backscattering_Analyser.md new file mode 100644 index 0000000000..84d42b04b6 --- /dev/null +++ b/mcstas-comps/contrib/Spherical_Backscattering_Analyser.md @@ -0,0 +1,50 @@ +# The `Spherical_Backscattering_Analyser` Component + +*McStas: Spherical backscattering analyser* + +## Identification + +- **Site:** +- **Author:** Nikolaos Tsapatsaris with P Willendrup, R Lechner, H Bordallo +- **Origin:** NBI/ESS +- **Date:** 2015 + +## Description + +```text +Spherical backscattering analyser with variable reflectivity, and mosaic gaussian response. + +Based on earlier developments by Miguel A. Gonzalez 2000, Tilo Seydel 2007, Henrik Jacobsen 2011. + +Example: +COMPONENT doppler = Spherical_Backscattering_Analyser( +xmin=0, xmax=0, ymin=0, ymax=0, mosaic=21.0, dspread=0.00035, Q=2.003886241, DM=0, radius=2.5, f_doppler=0, A_doppler=0, R0=1, debug=0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xmin | m | Minimum absolute value of x =~ 0.5 * Width of the monochromator | 0 | +| xmax | m | Maximum absolute value of x =~ 0.5 * Width of the monochromator | 0 | +| ymin | m | Minimum absolute value of x =~ 0.5 * Width of the monochromator | 0 | +| ymax | m | Maximum absolute value of y =~ 0.5 * Height of the monochromator | 0 | +| mosaic | arc min | Mosaicity, FWHM | 21.0 | +| dspread | 1 | Relative d-sprea, FWHM | 0.00035 | +| Q | AA-1 | Magnitude of scattering vector | 2.003886241 | +| DM | AA | monochromator d-spacing instead of Q = 2*pi/DM | 0 | +| radius | m | Curvature radius | 2.5 | +| f_doppler | Hz | Frequency of doppler drive | 0 | +| A_doppler | m | Amplitude of doppler drive | 0 | +| R0 | 1 | Scalar, maximum reflectivity of neutrons | 1 | +| debug | 1 | if debug > 0 print out some info about the calculations | 0 | + +## Links + +- [Source code](Spherical_Backscattering_Analyser.comp) for `Spherical_Backscattering_Analyser.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Spin_random.md b/mcstas-comps/contrib/Spin_random.md new file mode 100644 index 0000000000..90c6bce649 --- /dev/null +++ b/mcstas-comps/contrib/Spin_random.md @@ -0,0 +1,32 @@ +# The `Spin_random` Component + +*McStas: Set a random polarisation* + +## Identification + +- **Site:** +- **Author:** Michael Schneider (SNAG) +- **Origin:** SNAG +- **Date:** 2024 + +## Description + +```text +This component has no physical size or extent, it simply asigns the neutron +ray polarisation randomly to either spin-up or spin-down. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Spin_random.comp) for `Spin_random.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Spot_sample.md b/mcstas-comps/contrib/Spot_sample.md new file mode 100644 index 0000000000..0cb026b6a4 --- /dev/null +++ b/mcstas-comps/contrib/Spot_sample.md @@ -0,0 +1,59 @@ +# The `Spot_sample` Component + +*McStas: Spot sample.* + +## Identification + +- **Site:** +- **Author:** Garrett Granroth +- **Origin:** Oak Ridge National Laboratory +- **Date:** 14.11.14 + +## Description + +```text +A sample that is a series of delta functions in omega and Q. The Q is +determined by a two theta value and an equal number of spots around the +beam center. This component is a variation of the V sample written +by Kim Lefmann and Kristian Nielsen. The following text comes from their +original component. +A Double-cylinder shaped incoherent scatterer (a V-sample) +No multiple scattering. Absorbtion included. +The shape of the sample may be a box with dimensions xwidth, yheight, zthick. +The area to scatter to is a disk of radius 'focus_r' situated at the target. +This target area may also be rectangular if specified focus_xw and focus_yh +or focus_aw and focus_ah, respectively in meters and degrees. +The target itself is either situated according to given coordinates (x,y,z), or +setting the relative target_index of the component to focus at (next is +1). +This target position will be set to its AT position. When targeting to centered +components, such as spheres or cylinders, define an Arm component where to +focus at. + +Example: spot_sample(radius_o=0.01, h=0.05, pack = 1, +xwidth=0, yheight=0, zthick=0, Eideal=100.0,w=50.0,two_theta=25.0,n_spots=4) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_o | m | Outer radius of sample in (x,z) plane | 0.01 | +| h | m | Height of sample y direction | 0.05 | +| pack | 1 | Packing factor | 1 | +| xwidth | m | horiz. dimension of sample, as a width | 0 | +| yheight | m | vert.. dimension of sample, as a height | 0 | +| zthick | m | thickness of sample | 0 | +| Eideal | meV | The presumed incident energy | 100.0 | +| w | meV | The energy transfer of the delta function | 50.0 | +| two_theta | degrees | the scattering angle of the spot | 25.0 | +| n_spots | 1 | The number of spots to generate symmetrically around the beam | 4 | + +## Links + +- [Source code](Spot_sample.comp) for `Spot_sample.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/StatisticalChopper.md b/mcstas-comps/contrib/StatisticalChopper.md new file mode 100644 index 0000000000..46d83e8211 --- /dev/null +++ b/mcstas-comps/contrib/StatisticalChopper.md @@ -0,0 +1,46 @@ +# The `StatisticalChopper` Component + +*McStas: Statistical (correlation) Chopper* + +## Identification + +- **Site:** +- **Author:** C. Monzat/E. Farhi/S. Rozenkranz +- **Origin:** ILL +- **Date:** Nov 10th, 2009 + +## Description + +```text +This component is a statistical chopper based on a pseudo random sequence that the user +can specify. Inspired from DiskChopper, it should be used with SatisticalChopper_Monitor component. + +Example: StatisticalChopper(nu=1487*60/255) use default sequence +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Radius of the disc | 0.5 | +| yheight | m | Slit height (if = 0, equal to radius). Auto centering of beam at half height. | 0 | +| **nu** | Hz | Frequency of the Chopper, omega=2*PI*nu | | +| jitter | s | Jitter in the time phase | 0 | +| delay | s | Time 'delay'. | 0 | +| isfirst | 0/1 | Set it to 1 for the first chopper position in a cw source | 0 | +| abs_out | 0/1 | Absorb neutrons hitting outside of chopper radius? | 1 | +| phase | deg | Angular 'delay' (overrides delay) | 0 | +| verbose | 1 | Set to 1 to display Disk chopper configuration | 0 | +| n_pulse | 1 | Number of pulses (Only if isfirst) | 1 | +| sequence | str | Slit sequence around disk, with 0=closed, 1=open positions. | "NULL" | + +## Links + +- [Source code](StatisticalChopper.comp) for `StatisticalChopper.comp`. +- R. Von Jan and R. Scherm. The statistical chopper for neutron time-of-flight spectroscopy. Nuclear Instruments and Methods, 80 (1970) 69-76. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/StatisticalChopper_Monitor.md b/mcstas-comps/contrib/StatisticalChopper_Monitor.md new file mode 100644 index 0000000000..19ab02a26d --- /dev/null +++ b/mcstas-comps/contrib/StatisticalChopper_Monitor.md @@ -0,0 +1,42 @@ +# The `StatisticalChopper_Monitor` Component + +*McStas: Monitor designed to compute the autocorrelation signal for the Statistical Chopper* + +## Identification + +- **Site:** +- **Author:** C. Monzat/E. Farhi +- **Origin:** ILL +- **Date:** 2009 + +## Description + +```text +This component is a time sensitive monitor which calculates the cross +correlation between the pseudo random sequence of a statistical chopper +and the signal received. It mainly uses fonctions of component Monitor_nD. +It is possible to use the various options of the Monitor_nD but the user MUST NOT +specify "time" in the options. Auto detection of the time limits is possible if the +user chooses tmin=>tmax. + +StatisticalChopper_Monitor(options ="banana bins=500, abs theta limits=[5,105],bins=1000") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **comp** | StatisticalChopper | quoted name of the component monitored | | +| tmin | s | minimal time of detection | 0.0 | +| tmax | s | maximal time of detection | 0.0 | + +## Links + +- [Source code](StatisticalChopper_Monitor.comp) for `StatisticalChopper_Monitor.comp`. +- R. Von Jan and R. Scherm. The statistical chopper for neutron time-of-flight spectroscopy. Nuclear Instruments and Methods, 80 (1970) 69-76. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/SupermirrorFlat.md b/mcstas-comps/contrib/SupermirrorFlat.md new file mode 100644 index 0000000000..e902e4144e --- /dev/null +++ b/mcstas-comps/contrib/SupermirrorFlat.md @@ -0,0 +1,166 @@ +# The `SupermirrorFlat` Component + +*McStas: Model of flat supermirror with parallel mirror surfaces* + +## Identification + +- **Site:** +- **Author:** Wai Tung Lee +- **Origin:** ESS +- **Date:** September 2024 + +## Description + +```text +Calculate the neutron reflection and transmission of a flat supermirror with parallel mirror surfaces. +The following can be specified: +1. reflection from either mirror coating or substrate surface, mirror coating can be single-side, double-side, +2. absorber coating: beneath mirror coating, single-side coated, double-side coated, or uncoated, +3. refraction and total reflection at substrate surface, +4. attenuation and internal reflection inside substrate. + +note: supermirror name is case-sensitive +text entries of parameters below are not sensitive to case +default regional spelling is UK, but some paramters accept other reginal spelling + + +INITIALISATION parameters: + + +STEP 1: Specify supermirror shape, supermirror coating, absorber and substrate material +In this step, supermirror is standing vertically, mirror coating = yz plane with long side along +z. + +SUPERMIRROR SHAPE ------------------------------------------------- +1. +x: "top" mirror surface normal, horizontal transverse to beam; ++y: vertical up, parallel to mirror surface; ++z: longitudinal to beam, parallel to mirror surface; +2. top and bottom mirrors' surface normals are +x and -x, respectively; +3. entrance-side edge normal is -z, exit-side edge normal is +z (beam direction); +3. normals of and points on the remaining edge surfaces at +y and -y are user-specified, + +Mirror shape is specified by length, thickness, and the normals of and points on the edge surfaces at +y and -y sides. + +The two side-edges at +y and -y are taken to be symmetric about the xz-plane, only one needs to be specified. +Use InitialiseStdSupermirrorFlat_detail if not symmetric. + +SUPERMIRROR COATING ------------------------------------------------- +Mirror reflectivity parameters are specified by name to look up 6 parameters {R0, Qc, alpha, m, W, beta}. + +If name = SubstrateSurface, reflectivity is calculated by +R = R0 (when q<=Qc), R0*( (q - (q^2 - Qc^2)^1/2) / (q + (q^2 - Qc^2)^1/2) )^2 (when q>Qc), with Qc=sqrt(16 Pi SLD). +with Qc = Qc_sub defined in SubstrateSurfaceParameters and SLD defined in SubstrateParameters, +otherwise reflectivity is calculated by +R = R0 (when q<=Qc), R = R0*0.5*(1-tanh((q - m*Qc)/W))*(1-alpha*(q-Qc)+beta*(q-Qc)*(q-Qc)) (when q>Qc). + +specified mirror material name matching one of those defined in "Supermirror_reflective_coating_materials.txt". +If the mirror is non-polarising, specify the same name and parameters for spin plus and spin minus. + +ABSORBER LAYER ------------------------------------------------- +Absorber parameters are either specified by name or by parameters L_abs, L_inc and the coating thickness. + + +SUBSTRATE ------------------------------------------------- +Substrate parameters are specified by name to look up 3 parameters {L_abs, L_inc, SLD}. + +specify substrate material name matching one of those defined in "Supermirror_substrate_materials.txt". + + + +STEP 2: Orient and position the as-defined supermirror in the McStas module XYZ coordinates. + +1. Specify initially a location on the front side of the mirror (see parameter "initial_placement_at_origin" below). +The supermirror is shifted so that the selected point coincides with the origin of the McStas module XYZ coordinates +2. Then the orientation and position of the supermirror are specified by the movements in sequence as +1st, tilting about an axis in +y direction at a selected location (see parameters "tilt_y_axis_location" and "tilt_about_y_first_in_degree" below), +2nd, translation, +3rd, rotation about the z-axis of the McStas module XYZ coordinates. + + + +OUTPUT: +Supermirror struct with all parameter values entered and initialised +User declares "Supermirror supermirror;" or its equivalence, +then passes pointer "&supermirror" to function. + + + +End INITIALISATION parameters + + + + +RAY-TRACING parameters + +FUNCTION IntersectStdSupermirrorFlat +INPUT: +neutron parameters: w_sm=p, t_sm=t, p_sm=coords_set(x,y,z), v_sm=coords_set(vx,vy,vz), s_sm=coords_set(sx,sy,sz) +last_exit_time [s] time of last exit from a supermirror, use F_INDETERMINED if not determined. (F_INDETERMINED defined in this file) +last_exit_point [m,m,m] position of last exit from a supermirror, use coords_set(F_INDETERMINED,F_INDETERMINED,F_INDETERMINED) if not determined. +last_exit_plane [1] plane of last exit from a supermirror, use I_INDETERMINEDif not determined. +sm: [struct] Supermirror structure +OUTPUT: +num_intersect: [1] number of intersects through supermirror +First intersect time, point, plane if there is intersect. +User declare one or more parameters, e.g. "int num_intersect; double first_intersect_time; Coords first_intersect_point; int first_intersect_plane;", +then passes pointers "&num_intersect, &first_intersect_time, &first_intersect_point, &first_intersect_plane" to function. +Pass 0 as pointer if not needed. +first_intersect_dtime: [s] time difference from neutron to first intersect +first_intersect_dpoint: [m,m,m] position difference from neutron to point of first intersect +first_intersect_time: [s] time of first intersect +first_intersect_point: [m,m,m] point of first intersect +first_intersect_plane: [1] plane of first intersect +RETRUN: +sm_Intersected, sm_Missed. sm_Error + + +FUNCTION StdSupermirrorFlat +INPUT: +sm [struct] Supermirror structure +INPUT & OUTPUT: +neutron parameters: w_sm=p, t_sm=t, p_sm=coords_set(x,y,z), v_sm=coords_set(vx,vy,vz), s_sm=coords_set(sx,sy,sz) +last_exit_time [s] time of last exit from a supermirror, use F_INDETERMINED if not determined. (F_INDETERMINED defined in this file) +last_exit_point [m,m,m] position of last exit from a supermirror, use coords_set(F_INDETERMINED,F_INDETERMINED,F_INDETERMINED) if not determined. +last_exit_plane [1] plane of last exit from a supermirror, use I_INDETERMINEDif not determined. +RETRUN: +sm_Exited, sm_Absorbed. sm_Error +sm: [struct Supermirror] Supermirror structure + + +End RAY-TRACING parameters +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| side_edge_normal | 1,1,1 | Normal vector of one of the two side-edge surface, use Coords structure, doesn't need to be normalised | {0,+1,0} | +| side_edge_point | m,m,m | A point on one of the two side-edge surface with its normal specified above, use Coords structure | {0,+0.1,0} | +| length | m | Supermirror length | 0.5 | +| thickness_in_mm | mm | Substrate thickness in mm | 0.3 | +| mirror_coated_side | string | Sequential keywords combinations of position and surface property. position: "Both", "Top", "Bottom"; surface property: "Coated", "SubstrateSurface", "NoReflection"; Note: "NotCoated"="Empty"="SubstrateSurface", e.g. "BothCoated", "BottomCoatedTopSubstrate" (case-insensitive.) | "BothCoated" | +| mirror_spin_plus_material_name | string | mirror spin+ material name in "Supermirror_reflective_coating_materials.txt". (case-insensitive) | "FeSiPlus" | +| mirror_spin_plus_m | 1 | mirror spin+ m-value, -1=use default value | 3.5 | +| mirror_spin_minus_material_name | string | mirror spin- material name in "Supermirror_reflective_coating_materials.txt". (case-insensitive) | "FeSiMinus" | +| mirror_spin_minus_m | 1 | mirror spin- m-value, -1=use default value (useful for spin-) | -1 | +| substrate_material_name | string | substrate material name in "Supermirror_substrate_materials.txt". (Material name is case-insensitive) | "Glass" | +| absorber_coated_side | string | "BothNotCoated", "BothCoated", "TopCoated", "BottomCoated". | "BothNotCoated" | +| absorber_material_name | string | absorber material name in "Supermirror_absorber_coating_materials.txt" or "Empty", 0="Empty", | "Gd" | +| absorber_thickness_in_micron | micrometer | absorber coating thickness in micrometer | 100 | +| initial_placement_at_origin | | | "FrontSubstrateCentre" | +| tilt_y_axis_location | | | "FrontSubstrateCentre" | +| tilt_about_y_first_in_degree | | | 1.5 | +| translation_second_x | | | 0 | +| translation_second_y | | | 0 | +| translation_second_z | | | 0 | +| rot_about_z_third_in_degree | | | 0 | +| tracking | | | "DetailTracking" | + +## Links + +- [Source code](SupermirrorFlat.comp) for `SupermirrorFlat.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/TOF2Q_cyl_monitor.md b/mcstas-comps/contrib/TOF2Q_cyl_monitor.md new file mode 100644 index 0000000000..275fbbb5d1 --- /dev/null +++ b/mcstas-comps/contrib/TOF2Q_cyl_monitor.md @@ -0,0 +1,45 @@ +# The `TOF2Q_cyl_monitor` Component + +*McStas: Release: McStas 2.0 + +Cylindrical (2pi) 2theta v. q Time-of-flight monitor.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** October 2000 + +## Description + +```text +Cylindrical (2pi) 2theta v. q Time-of-flight monitor. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nq | 1 | Number of q bins | 100 | +| nphi | 1 | Number of angular bins | 100 | +| nh | 1 | Number of bins in detector height | 10 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| filename | str | Name of file in which to store the detector image | 0 | +| radius | m | Cylinder radius | 1.0 | +| height | m | Cylinder height | 0.1 | +| q_min | 1/AA | Minimum q value | 0 | +| q_max | 1/AA | Maximum q value | 20 | +| L_chop2samp | m | Distance from resolution chopper to sample position | 144.0 | +| t_chop | ms | Flight time of mean wave length from source to resolution chopper | 0.004 | +| pixel | 1 | Flag, 0: no pixelation and perfect time. 1: make pixels from nphi and nh and time resolution limitation. | 1 | + +## Links + +- [Source code](TOF2Q_cyl_monitor.comp) for `TOF2Q_cyl_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/TOFSANSdet.md b/mcstas-comps/contrib/TOFSANSdet.md new file mode 100644 index 0000000000..1ea162619a --- /dev/null +++ b/mcstas-comps/contrib/TOFSANSdet.md @@ -0,0 +1,65 @@ +# The `TOFSANSdet` Component + +*McStas: Multiple TOF detectors for SANS instrument. +The component is to be placed at the sample position. +For the time being better switch gravity off.* + +## Identification + +- **Site:** +- **Author:** Henrich Frielinghaus, FZJuelich +- **Origin:** FZJ +- **Date:** Apr 2013 + +## Description + +```text +TOF monitor that calculates I of q. + +Example: TOFSANSdet(); +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Nq | 1 | Number of q-bins | 100 | +| plength | | | 0.00286 | +| ssdist | | Source-Sample distance for TOF calculation. | 27.0 | +| coldis | | Collimation length | 20.0 | +| Sthckn | cm | sample thickness | 0.1 | +| ds1 | | distance of detector 1 | 1.0 | +| xw1 | | width of detector 1 (0 for off) | 0.0 | +| yh1 | | height of detector 1 (0 for off) | 0.0 | +| hl1 | | w/h of hole in det 1 (0 for off), full width | 0.0 | +| ds2 | | distance...........2 | 5.0 | +| xw2 | | width..............2 | 1.0 | +| yh2 | | heigth.............2 | 1.0 | +| hl2 | | hole...............2 | 0.2 | +| ds3 | | | 20.0 | +| xw3 | | width..............3 | 1.0 | +| yh3 | | height.............3 | 1.0 | +| hl3 | | hole...............3 (beam stop, used for primary beam detection) | 0.04 | +| vx3 | | vertical extension of beam stop down (in case of gravity off set 0.0, otherwise value larger than 1.0) | 0.0 | +| tmin | s | Beginning of time window | 0.005 | +| tmax | s | End of time window | 0.15 | +| Nx | | Number of horizontal detector pixels (detector 1,2,3) better leave unchanged | 128.0 | +| Ny | | Number of vertical detector pixels (detector 1,2,3) better leave unchanged | 128.0 | +| Nt | | Number of time bins (detector 1,2,3) better leave unchanged | 500.0 | +| qmin | 1/A | Lower limit of q-range | 0.0005 | +| qmax | 1/A | Upper limit of q-range | 0.11 | +| rstneu | | restore neutron after treatment ??? (0.0 = no) | 0.0 | +| centol | | tolerance of center determination (if center larger than centol*calculated_center then set back to theory) | 0.1 | +| inttol | | tolerance of intensity (if primary beam intensity smaller than inttol*max_intensity then discard data) | 0.0001 | +| qcal | | calibration of intensity (cps) to width of q-bin (non_zero = yes, zero = no) | 1 | +| fname | | file name (first part without extensions) | 0 | + +## Links + +- [Source code](TOFSANSdet.comp) for `TOFSANSdet.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/TOF_PSDmonitor.md b/mcstas-comps/contrib/TOF_PSDmonitor.md new file mode 100644 index 0000000000..3a573acbd2 --- /dev/null +++ b/mcstas-comps/contrib/TOF_PSDmonitor.md @@ -0,0 +1,49 @@ +# The `TOF_PSDmonitor` Component + +*McStas: Position-sensitive TOF vs. (height) linear monitor.* + +## Identification + +- **Site:** +- **Author:** Robert Dalgliesh +- **Origin:** ISIS +- **Date:** September 2021 + +## Description + +```text +Adapted from Kim Lefmann's TOF_cylPSDmonitor and PSD_monitors +An n pixel (vertical, linear) PSD monitor with Time of Flight detection. +This component may also be used as a beam +detector. + +Example: TOF_PSDmonitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, +ny=90, nchan=100, TOFmin=0.0, TOFmax=20000.0, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| ny | 1 | Number of pixel rows | 90 | +| nchan | 1 | Number of TOF channels | 100 | +| xwidth | m | width of detector opening | 0.1 | +| xmin | m | Lower x bound of detector opening | 0 | +| xmax | m | Upper x bound of detector opening | 0 | +| yheight | m | height of detector opening | 0.1 | +| ymin | m | Lower y bound of detector opening | 0 | +| ymax | m | Upper y bound of detector opening | 0 | +| TOFmin | mu-s | Beginning TOF window | 0 | +| TOFmax | mu-s | End TO window | 1e6 | +| nowritefile | 1 | If set, detector will skip writing to disk | 0 | +| filename | str | Name of file in which to store the detector image | 0 | + +## Links + +- [Source code](TOF_PSDmonitor.comp) for `TOF_PSDmonitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/TOF_PSDmonitor_toQ.md b/mcstas-comps/contrib/TOF_PSDmonitor_toQ.md new file mode 100644 index 0000000000..7c1dafac97 --- /dev/null +++ b/mcstas-comps/contrib/TOF_PSDmonitor_toQ.md @@ -0,0 +1,57 @@ +# The `TOF_PSDmonitor_toQ` Component + +*McStas: Position-sensitive, linear Q monitor.* + +## Identification + +- **Site:** +- **Author:** Robert Dalgliesh +- **Origin:** ISIS +- **Date:** September 2021 + +## Description + +```text +One-dimensional Q-monitor. Calculates Q from "measured" time-of-flight, +i.e. not from particle velocity parameters. + +Adapted from Kim Lefmann's TOF_cylPSDmonitor and PSD_monitors +An n pixel Q-monitor based on measured Time of Flight detection. +This component may also be used as a beam +detector. + +Example: TOF_PSDmonitor_toQ(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, +ny=90, nqbin=100, TOFmin=0.0, TOFmax=20000.0, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| ny | 1 | Number of y bins (for discretisation of vertical detector dimension into "bins") | 90 | +| nqbin | 1 | number of q bins | 500 | +| xwidth | m | width of detector opening | 0.1 | +| xmin | m | Lower x bound of detector opening | 0 | +| xmax | m | Upper x bound of detector opening | 0 | +| yheight | m | height of detector opening | 0.1 | +| ymin | m | Lower y bound of detector opening | 0 | +| ymax | m | Upper y bound of detector opening | 0 | +| tmin | mu-s | Beginning TOF window | 0.0 | +| tmax | mu-s | End TO window | 100000.0 | +| qmin | AA^-1 | Start of q window | 0.005 | +| qmax | AA^-1 | End of q window | 0.5 | +| L1 | m | distance from source to sample (m) | 23.0 | +| L2 | m | distance from sample to detector (m) | 3.0 | +| detTheta | deg | Nominal detector theta | 0.91 | +| filename | str | Name of file in which to store the detector image | 0 | +| nowritefile | 1 | If set, detector will skip writing to disk | 0 | + +## Links + +- [Source code](TOF_PSDmonitor_toQ.comp) for `TOF_PSDmonitor_toQ.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Transmission_V_polarisator.md b/mcstas-comps/contrib/Transmission_V_polarisator.md new file mode 100644 index 0000000000..f1ecf139be --- /dev/null +++ b/mcstas-comps/contrib/Transmission_V_polarisator.md @@ -0,0 +1,59 @@ +# The `Transmission_V_polarisator` Component + +*McStas: Transmission V-polarisator including absorption by Fe in the supermirror. Experimentally benchmarked.* + +## Identification + +- **Site:** +- **Author:** Andreas Ostermann (additions from Michael Schneider, SNAG) +- **Origin:** TUM +- **Date:** 2024 + +## Description + +```text +Transmission V-polarisator including absorption by Fe in the supermirror. + +Example: Transmission_V_polarisator(w1=0.050, h1=0.050, +w2=0.050, h2=0.050, l=2.700, +waferD=0.0003, FeD=2.16e-06, +Si_i=0.2, Si_a=0.215, +R0=0.99, Qc=0.02174, alpha=4.25, W=0.001, +mleft=1.2, mright=1.2, mtop=1.2, mbottom=1.2, +reflectUP="measured_up_q.dat",reflectDW="measured_dw_q.dat") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflectUP | str | Reflectivity profile of the FeSi-wafer for spin-up neutrons; columns [q,R] | 0 | +| reflectDW | str | Reflectivity profile of the FeSi-wafer for spin-down neutrons; columns [q,R] | 0 | +| **w1** | m | Width at the polarizer entry | | +| **h1** | m | Height at the polarizer entry | | +| **w2** | m | Width at the polarizer exit | | +| **h2** | m | Height at the polarizer exit | | +| **l** | m | length of polarizer | | +| **waferD** | m | Thickness of Si wafer | | +| **Si_i** | barns | Scattering cross section per atom (barns) | | +| **Si_a** | barns | Absorption cross section per atom (barns) at 2200m/s | | +| **FeD** | m | Thickness of Fe in supermirror, Ti is neglected | | +| R0 | 1 | Low-angle reflectivity of the outer guide | 0.99 | +| Qc | AA-1 | Critical scattering vector of the outer guide | 0.02174 | +| alpha | AA | Slope of reflectivity of the outer guide | 4.25 | +| W | AA-1 | Width of supermirror cut-off of the outer guide | 0.001 | +| mleft | 1 | m-value of material for left. vert. mirror of the outer guide | -1 | +| mright | 1 | m-value of material for right. vert. mirror of the outer guide | -1 | +| mtop | 1 | m-value of material for top. horz. mirror of the outer guide | -1 | +| mbottom | 1 | m-value of material for bottom. horz. mirror of the outer guide | -1 | + +## Links + +- [Source code](Transmission_V_polarisator.comp) for `Transmission_V_polarisator.comp`. +- P. Böni, W. Münzer and A. Ostermann: Physica B: Condensed Matter Volume 404, Issue 17, 1 September 2009, Pages 2620-2623 + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Transmission_polarisatorABSnT.md b/mcstas-comps/contrib/Transmission_polarisatorABSnT.md new file mode 100644 index 0000000000..d5395be06a --- /dev/null +++ b/mcstas-comps/contrib/Transmission_polarisatorABSnT.md @@ -0,0 +1,69 @@ +# The `Transmission_polarisatorABSnT` Component + +*McStas: Transmission V-polarisator including absorption by Fe in the supermirror.* + +## Identification + +- **Site:** +- **Author:** Andreas Ostermann +- **Origin:** TUM +- **Date:** 2004 + +## Description + +```text +Transmission V-polarisator including absorption by Fe in the supermirror. + +Example: Gravity_guide(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=12, +R0=0.99, Qc=0.021, alpha=6.07, m=1.0, W=0.003, k=1, d=0.0005) +Example: Transmission_polarisatorABSnT(w1=0.050, h1=0.050, +w2=0.050, h2=0.050, l=2.700, +waferD=0.0003, FeD=2.16e-06, +Si_i=0.2, Si_a=0.215, +R0=0.99, Qc=0.02174, alpha=4.25, W=0.001, +mleft=1.2, mright=1.2, mtop=1.2, mbottom=1.2, +R0_up=0.99, Qc_up=0.014, alpha_up=2.25, W_up=0.0025, mup=1.0, +R0_down=0.99, Qc_down=0.02174, alpha_down=3.8, W_down=0.00235, mdown=2.5) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **w1** | m | Width at the polarizer entry | | +| **h1** | m | Height at the polarizer entry | | +| **w2** | m | Width at the polarizer exit | | +| **h2** | m | Height at the polarizer exit | | +| **l** | m | length of polarizer | | +| **waferD** | m | Thickness of Si wafer | | +| **Si_i** | barns | Scattering cross section per atom (barns) | | +| **Si_a** | barns | Absorption cross section per atom (barns) at 2200m/s | | +| **FeD** | m | Thickness of Fe wafer | | +| R0 | 1 | Low-angle reflectivity of the outer guide | 0.99 | +| Qc | AA-1 | Critical scattering vector of the outer guide | 0.02174 | +| alpha | AA | Slope of reflectivity of the outer guide | 4.25 | +| W | AA-1 | Width of supermirror cut-off of the outer guide | 0.001 | +| R0_up | 1 | Low-angle reflectivity of the Fe/Si-wafer for spin up neutrons | 0.99 | +| Qc_up | AA-1 | Critical scattering vector of the Fe/Si-wafer for spin up neutrons | 0.0109 | +| alpha_up | AA | Slope of reflectivity of the Fe/Si-wafer for spin up neutrons | 4.25 | +| W_up | AA-1 | Width of supermirror cut-off of the Fe/Si-wafer for spin up neutrons | 0.0025 | +| R0_down | 1 | Low-angle reflectivity of the Fe/Si-wafer for spin down neutrons | 0.99 | +| Qc_down | AA-1 | Critical scattering vector of the Fe/Si-wafer for spin down neutrons | 0.02174 | +| alpha_down | AA | Slope of reflectivity of the Fe/Si-wafer for spin down neutrons | 6.25 | +| W_down | AA-1 | Width of supermirror cut-off of the Fe/Si-wafer for spin down neutrons | 0.001 | +| mleft | 1 | m-value of material for left. vert. mirror of the outer guide | -1 | +| mright | 1 | m-value of material for right. vert. mirror of the outer guide | -1 | +| mtop | 1 | m-value of material for top. horz. mirror of the outer guide | -1 | +| mbottom | 1 | m-value of material for bottom. horz. mirror of the outer guide | -1 | +| mup | 1 | m-value of the Fe/Si-wafer for spin up neutrons | -1 | +| mdown | 1 | m-value of the Fe/Si-wafer for spin down neutrons | -1 | + +## Links + +- [Source code](Transmission_polarisatorABSnT.comp) for `Transmission_polarisatorABSnT.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Vertical_Bender.md b/mcstas-comps/contrib/Vertical_Bender.md new file mode 100644 index 0000000000..0e5f5f3968 --- /dev/null +++ b/mcstas-comps/contrib/Vertical_Bender.md @@ -0,0 +1,87 @@ +# The `Vertical_Bender` Component + +*McStas: Release: McStas 2.4 + +Multi-channel bender curving vertically down.* + +## Identification + +- **Site:** +- **Author:** Andrew Jackson, Richard Heenan +- **Origin:** ESS +- **Date:** August 2016, June 2017 + +## Description + +```text +Based on Pol_bender written by Peter Christiansen +Models a rectangular curved guide with entrance on Z axis. +Entrance is on the X-Y plane. Draws a correct depiction of +the guide with multiple channels - i.e. following components need to be +displaced. +Guide can contain multiple channels using horizontal blades +Reflectivity modeled using StdReflecFunc and {R0, Qc, alpha, m, W} can be set +for top (outside of curve), bottom (inside of curve) and sides +(both sides equal), blades reflectivities match top and bottom (each channel is +like a "mini guide"). +Neutrons are tracked, with gravity, inside the wall of a cylinder using distance +steps of diststep1. Upon crossing the inner or outer wall, the final step is +repeated using steps of diststep2, thus checking more +closely for the first crossing of either wall. If diststep1 is too +large than a "grazing incidence reflection" may be missed altogether. +If diststep1 is too small, then the code will run slower! +Exact intersection tmes with the flat sides and ends of the bender channel are calculated +first in order to limit the time spent tracking curved trajectories. +Turning gravity off will not make this run any faster, as the same method is used. + +28/06/2017 still need validation against other codes (e.g. for gravity off case) + +Example: +Vertical_Bender(xwidth = 0.05, yheight = 0.05, length = 3.0, +radius = 70.0, nslit = 5, d=0.0005, diststep1=0.020, diststep2=0.002, +rTopPar={0.99, 0.219, 6.07, 3.0, 0.003}, +rBottomPar={0.99, 0.219, 6.07, 2.0, 0.003}, +rSidesPar={0.99, 0.219, 6.07, 2.0, 0.003}, + +See example instrument Test_Vert_Bender + +%BUGS +Original code did not work with rotation about axes and gravity. +This tedious tracking method should work (28/6/17 still under test) for a vertical bender, with optional +rotation about x axis and gravity (and likely rotation about y axis but needs testing, +and even perhaps rotation about z axis as in rotated local frame Gx then is non zero but the edge solver still works). +Would also need test the drawing in trace mode). + +GRAVITY : Yes, when component is not rotated +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rTopPar | vector | Parameters for reflectivity of bender top surface | {0.99, 0.219, 6.07, 0.0, 0.003} | +| rBottomPar | vector | Parameters for reflectivity of bender bottom surface | {0.99, 0.219, 6.07, 0.0, 0.003} | +| rSidesPar | vector | Parameters for reflectivity of bender sides surface | {0.99, 0.219, 6.07, 0.0, 0.003} | +| **xwidth** | m | Width at the guide entry | | +| **yheight** | m | Height at the guide entry | | +| **length** | m | length of guide along center | | +| **radius** | m | Radius of curvature of the guide (+:curve up/-:curve down) | | +| G | | | 9.8 | +| nchan | 1 | Number of channels | 1 | +| d | m | Width of spacers (subdividing absorbing walls) | 0.0 | +| debug | 1 | 0 to 10 for zero to maximum print out - reduce number of neutrons to run ! | 0 | +| endFlat | 1 | If endflat>0 then entrance and exit planes are parallel. | 0 | +| drawOption | | | 1 | +| alwaystrack | 1 | default 0, 1 to force tracking even when gravity is off | 0 | +| diststep1 | m | inital collision search steps for trajectory in cylinder when gravity is non zero | 0.020 | +| diststep2 | m | final steps for trajectory in cylinder | 0.002 | + +## Links + +- [Source code](Vertical_Bender.comp) for `Vertical_Bender.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/Vertical_T0a.md b/mcstas-comps/contrib/Vertical_T0a.md new file mode 100644 index 0000000000..14086ec058 --- /dev/null +++ b/mcstas-comps/contrib/Vertical_T0a.md @@ -0,0 +1,39 @@ +# The `Vertical_T0a` Component + +*McStas: Vertical T0-chopper as used in SNS_ARCS* + +## Identification + +- **Site:** +- **Author:** Garrett Granroth +- **Origin:** SNS Oak Ridge,TN +- **Date:** 2 NOV 2004 + +## Description + +```text +Vertical T0-chopper as used in SNS_ARCS +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **len** | m | length of slot | | +| **w1** | m | center width | | +| **w2** | m | edgewidth | | +| **nu** | Hz | frequency | | +| **delta** | s | time from edge of chopper to center Phase angle | | +| **tc** | s | time when desired neutron is at the center of the chopper | | +| **ymin** | m | Lower y bound | | +| **ymax** | m | Upper y bound | | + +## Links + +- [Source code](Vertical_T0a.comp) for `Vertical_T0a.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/ViewModISIS.md b/mcstas-comps/contrib/ViewModISIS.md new file mode 100644 index 0000000000..7c2b16b225 --- /dev/null +++ b/mcstas-comps/contrib/ViewModISIS.md @@ -0,0 +1,72 @@ +# The `ViewModISIS` Component + +*McStas: ISIS Moderators* + +## Identification + +- **Site:** +- **Author:** G. Skoro, based on ViewModerator4 from S. Ansell +- **Origin:** ISIS +- **Date:** February 2016 + +## Description + +```text +Produces a neutron distribution at the ISIS TS1 or TS2 beamline shutter front face (or corresponding moderator) position. +The Face argument determines which TS1 or TS2 beamline is to be sampled by using corresponding Etable file. +Neutrons are created having a range of energies determined by the E0 and E1 arguments. +Trajectories are produced such that they pass through the shutter front face (RECOMENDED) or moderator face (defined by +xw and yh) and a focusing rectangle (defined by focus_xw, focus_yh and dist). + +Example 1: ViewModISISver1(Face="TS1_S04_Merlin.mcstas", E0 = E_min, E1 = E_max, +dist = 1.7, focus_xw = 0.094, focus_yh = 0.094, modPosition=0, +xw=0.12,yh=0.12) + +MERLIN simulation. +modPosition=0 so initial surface is at (near to) the moderator face. +In this example, focus_xw and focus_yh are chosen to be identical to the shutter opening dimension. +dist = 1.7 is the 'real' distance to the shutter front face => This is TimeOffset value (=170 [cm]) +from TS1_S04_Merlin.mcstas file. + + +Example 2: ViewModISISver1(Face="Let_timeTest_155.mcstas", E0 = E_min, E1 = E_max, +modPosition=1, xw=0.196, yh = 0.12, focus_xw = 0.04, focus_yh = 0.094, dist = 0.5) + +LET simulation. +modPosition=1 so initial surface is at front face of shutter insert. + +(IMPORTANT) If modPosition=1, the xw and yh values are obsolete. The dimensions of +initial surface are automatically calculated using "RDUM" values in Let_timeTest_155.mcstas file. + +In this example, focus_xw and focus_yh are arbitrary chosen to be identical to the shutter opening dimension. + + + +N.B. Absolute normalization: The result of the Mc-Stas simulation will show neutron intensity for beam current of 1 uA. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Face | string | Etable filename | "TS1_S04_Merlin.mcstas" | +| **E0** | meV | Lower edge of energy distribution | | +| **E1** | meV | Upper edge of energy distribution | | +| modPosition | int | Defines the initial surface for neutron distribution production. Possible values = 0 (at moderator) or 1 (at shutter insert) | 0 | +| xwidth | m | Moderator width | 0.12 | +| yheight | | | 0.12 | +| focus_xw | m | Width of focusing rectangle | 0.094 | +| focus_yh | m | Height of focusing rectangle | 0.094 | +| dist | m | Distance from source surface to the focusing rectangle | 1.7 | +| verbose | int | Flag to output debugging information | 0 | +| beamcurrent | uA | ISIS beam current | 1 | + +## Links + +- [Source code](ViewModISIS.comp) for `ViewModISIS.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/contrib/multi_pipe.md b/mcstas-comps/contrib/multi_pipe.md new file mode 100644 index 0000000000..8938d2d108 --- /dev/null +++ b/mcstas-comps/contrib/multi_pipe.md @@ -0,0 +1,51 @@ +# The `multi_pipe` Component + +*McStas: multi-pipe circular slit.* + +## Identification + +- **Site:** +- **Author:** Uwe Filges +- **Origin:** PSI +- **Date:** March, 2005 + +## Description + +```text +No transmission around the slit is allowed. + +example for an input file +# user defined geometry +# x(i) y(i) r(i) [m] +0.02 0.03 0.01 +-0.04 0.015 0.005 + +warning: at least two values must be in the file + +Example: multi_pipe(xmin=-0.01, xmax=0.01, ymin=-0.01, ymax=0.01) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | define user table of holes | 0 | +| **xmin** | m | Lower x bound | | +| **xmax** | m | Upper x bound | | +| **ymin** | m | Lower y bound | | +| **ymax** | m | Upper y bound | | +| radius | | radius of a single hole | 0.0 | +| gap | m | distance between holes | 0.0 | +| thickness | m | thickness of the pipe | 0.0 | +| xwidth | m | Width of slit plate. Overrides xmin,xmax. | 0 | +| yheight | m | Height of slit plate. Overrides ymin,ymax. | 0 | + +## Links + +- [Source code](multi_pipe.comp) for `multi_pipe.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/BNL/BNL_H8/README.md b/mcstas-comps/examples/BNL/BNL_H8/README.md new file mode 100644 index 0000000000..2fa23bc732 --- /dev/null +++ b/mcstas-comps/examples/BNL/BNL_H8/README.md @@ -0,0 +1,39 @@ +# The `BNL_H8` Instrument + +*McStas: The former thermal H8 triple-axis spectrometer from Brookhaven reactor* + +## Identification + +- **Site:** BNL +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 1st Feb 2001. + +## Description + +```text +This instrument is a simple model of the thermal H8 triple-axis spectrometer +from former Brookhaven reactor. It is directly illuminated by the moderator, +and has flat monochromator and analyzer. Sample is a vanadium cylinder. +Such an instrument was used for the Monte Carlo neutron simulation package +cross comparison related in paper "A Model Instrument for Monte Carlo Code +Comparisons", Neutron News 13 (No. 4), 24-29 (2002). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | source energy | 2.36 | + +## Links + +- [Source code](BNL_H8.instr) for `BNL_H8.instr`. +- [Additional information](BNL_H8.md) (only if available!) +- Neutron News 13 (No. 4), 24-29 (2002). + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/BNL/BNL_H8_simple/README.md b/mcstas-comps/examples/BNL/BNL_H8_simple/README.md new file mode 100644 index 0000000000..0d9e1e61db --- /dev/null +++ b/mcstas-comps/examples/BNL/BNL_H8_simple/README.md @@ -0,0 +1,39 @@ +# The `BNL_H8_simple` Instrument + +*McStas: The former thermal H8 triple-axis spectrometer from Brookhaven reactor* + +## Identification + +- **Site:** BNL +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 1st Feb 2001. + +## Description + +```text +This instrument is a simple model of the thermal H8 triple-axis spectrometer +from former Brookhaven reactor. It is directly illuminated by the moderator, +and has flat monochromator and analyzer. Sample is a vanadium cylinder. +Such an instrument was used for the Monte Carlo neutron simulation package +cross comparison related in paper "A Model Instrument for Monte Carlo Code +Comparisons", Neutron News 13 (No. 4), 24-29 (2002). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | source energy | 2.36 | + +## Links + +- [Source code](BNL_H8_simple.instr) for `BNL_H8_simple.instr`. +- [Additional information](BNL_H8_simple.md) (only if available!) +- Neutron News 13 (No. 4), 24-29 (2002). + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/BNL/h8_test_legacy/README.md b/mcstas-comps/examples/BNL/h8_test_legacy/README.md new file mode 100644 index 0000000000..808099ef28 --- /dev/null +++ b/mcstas-comps/examples/BNL/h8_test_legacy/README.md @@ -0,0 +1,45 @@ +# The `h8_test_legacy` Instrument + +*McStas: The former thermal H8 triple-axis spectrometer from Brookhaven reactor, 1.12c-comparable* + +## Identification + +- **Site:** BNL +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 1st Feb 2001. + +## Description + +```text +This instrument is a simple model of the thermal H8 triple-axis spectrometer +from former Brookhaven reactor. It is directly illuminated by the moderator, +and has flat monochromator and analyzer. Sample is a vanadium cylinder. +Such an instrument was used for the Monte Carlo neutron simulation package +cross comparison related in paper "A Model Instrument for Monte Carlo Code +Comparisons", Neutron News 13 (No. 4), 24-29 (2002). + +This version of the instrument does not use the SPLIT keyword and is comparable +to the version provided with McStas 1.12c. Has been added for benchmarking +purposes only. + +Example: mcrun h8_test_legacy.instr Lambda=2.36 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Lambda | Angs | source energy | 2.36 | + +## Links + +- [Source code](h8_test_legacy.instr) for `h8_test_legacy.instr`. +- [Additional information](h8_test_legacy.md) (only if available!) +- Neutron News 13 (No. 4), 24-29 (2002). + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/DTU/Test_FZP_simple/README.md b/mcstas-comps/examples/DTU/Test_FZP_simple/README.md new file mode 100644 index 0000000000..2df2b4bdc3 --- /dev/null +++ b/mcstas-comps/examples/DTU/Test_FZP_simple/README.md @@ -0,0 +1,36 @@ +# The `Test_FZP_simple` Instrument + +*McStas: Simple test instrument for the FZP_simple component* + +## Identification + +- **Site:** DTU +- **Author:** Peter Willendrup (pkwi@fysik.dtu.dkl) +- **Origin:** DTU +- **Date:** March 2023 + +## Description + +```text +Simple test instrument for the FZP_simple component +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda0 | AA | Centre of wavelength distribution | 10 | +| dlambda | AA | Width of wavelength distribution | 1e-1 | +| l1 | m | Distance source to FZP | 40 | + +## Links + +- [Source code](Test_FZP_simple.instr) for `Test_FZP_simple.instr`. +- [Additional information](Test_FZP_simple.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/DTU/Vin_test/README.md b/mcstas-comps/examples/DTU/Vin_test/README.md new file mode 100644 index 0000000000..b8ccf6d00d --- /dev/null +++ b/mcstas-comps/examples/DTU/Vin_test/README.md @@ -0,0 +1,34 @@ +# The `Vin_test` Instrument + +*McStas: Simple test instrument for the Virtual_input component* + +## Identification + +- **Site:** DTU +- **Author:** Peter Willendrup (pkwi@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** September 2014 + +## Description + +```text +Simple test instrument for the Virtual_input component +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Vinfile | string | Filename for Virtual_output-created event file | "Vout_text.dat" | + +## Links + +- [Source code](Vin_test.instr) for `Vin_test.instr`. +- [Additional information](Vin_test.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/DTU/Vout_test/README.md b/mcstas-comps/examples/DTU/Vout_test/README.md new file mode 100644 index 0000000000..156e9b0578 --- /dev/null +++ b/mcstas-comps/examples/DTU/Vout_test/README.md @@ -0,0 +1,34 @@ +# The `Vout_test` Instrument + +*McStas: Simple test instrument for the Virtual_output component* + +## Identification + +- **Site:** DTU +- **Author:** Peter Willendrup (pkwi@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** September 2014 + +## Description + +```text +Simple test instrument for the Virtual_output component +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Voutfile | string | Output filename for vout file | "Vout_text.dat" | + +## Links + +- [Source code](Vout_test.instr) for `Vout_test.instr`. +- [Additional information](Vout_test.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ESS/ESS_BEER_MCPL/README.md b/mcstas-comps/examples/ESS/ESS_BEER_MCPL/README.md new file mode 100644 index 0000000000..62b5cd3bcf --- /dev/null +++ b/mcstas-comps/examples/ESS/ESS_BEER_MCPL/README.md @@ -0,0 +1,83 @@ +# The `ESS_BEER_MCPL` Instrument + +*McStas: Version: 1.1, 27/11/2018 +ToF Diffractometer BEER@ESS with MCPL input at the sample slit.* + +## Identification + +- **Site:** ESS +- **Author:** Jan Saroun, saroun@ujf.cas.cz +- **Origin:** NPI Rez +- **Date:** June 2017 + +## Description + +```text +Secondary part of the ToF diffractometer BEER@ESS. It takes MCPL file at the input as the source +of primary beam in front of the sample. +Results: +1) xy, divergence, lambda and ToF_lambda plots of the primary beam (monitors the MCPL content) +2) projections of the sampling volume defined by the primary slit and secondary radial collimator +3) Intensity vs. dhkl plot, using NPI_tof_dhkl_detector.comp +4) 2D plot (ToF,2theta), using NPI_tof_theta_monitor + +Modulation mode: +If modul=1, a modulation mode of BEER is assumed: the primary beam is modulated by a chopper placed close to the source. +(set the lc distance appropriately). The NPI_tof_dhkl_detector.comp then performs data reduction in event mode, using +the given modulation parameters: lam0, mod_frq, mod_twidth and a table with primary dhkl estimates (dhkl.dat should be +in the current directory). As a result, the diffractogram with recombined peaks is produced, together with a 2D map +of estimated valid, empty and overlap regions on the ToF-2theta diagram. + +If module=0, modulation parameters are ignored and the NPI_tof_dhkl_detector.comp performs a standard event based +data reduction producing a diffractogram on the basis of given nominal values of lam0 and distances. + +(See NPI_tof_dhkl_detector.comp for more details) + +NOTE: some instrument parameters are hard coded and have to be edited in the INITIALIZE and RUN sections. + +To use, please copy the relevant mcpl files from your $MCSTAS/data folder to the curring working folder + +Example 1: +Simulation in medium resolution mode with pulse shaping choppers, wavelength range centred at 2 AA - use: +ESS_BEER_MCPL input=BEER_MR.mcpl repetition=50 pwdfile=duplex.laz lc=6.65 lam0=2 dlam=1.8 omega=45 chi=90 colw=1 modul=0 mod_frq=2240 mod_twidth=0.0029 mod_shift=0 only_event=-1 pinc=0.1 ptra=0 strain=0 ustrain=0 +Detector: psdtof_I=276.842 + +Example 2: +Simulation in the modulation mode, using the modulation chopper MCB with 8 slits (4 deg wide) rotating at 280 Hz. Wavelength range centred at 2 AA - use: +ESS_BEER_MCPL input=BEER_MCB.mcpl repetition=50 pwdfile=duplex.laz lc=9.35 lam0=2 dlam=1.8 omega=45 chi=90 colw=1 modul=1 mod_frq=2240 mod_twidth=0.0029 mod_shift=0 only_event=-1 pinc=0.1 ptra=0 strain=0 ustrain=0 +Detector: psdtof_I=98.3885 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| input | str | Input MCPL file | "BEER_MR.mcpl" | +| repetition | 1 | Number of loops through the MCPL file | 50 | +| pwdfile | str | Input sample file for PowderN.comp | "duplex.laz" | +| lc | m | distance of the pulse definition chopper | 6.65 | +| lam0 | AA | nominal wavelength (centre of the frame, determines the chopper phase) | 2.0 | +| dlam | AA | wavelength band width (only for filtering MCPL input and plot ranges) | 1.8 | +| omega | deg | sample orientation (y-axis) | 45 | +| chi | deg | sample orientation (z-axis) | 90 | +| colw | mm | collimator width (0.5, 1, 2, 3 or 4) | 1 | +| modul | 0\|1 | modulation mode switch | 0 | +| mod_frq | Hz | modulation frequency (chopper frequency x number of slits) | 2240 | +| mod_twidth | s | modulation frame width (should be ~> ESS pulse width) | 0.0029 | +| mod_shift | | assumed line shift introduced to NPI_tof_dhkl_detector (modulation mode only) | 0 | +| only_event | 1 | if > -1, filters out events with line_info.itype<>only_event after PowderN sample | -1 | +| pinc | | pinc value passed to PowderN.comp | 0.1 | +| ptra | | p_transmit value passed to PowderN.comp | 0.0 | +| strain | ppm | Macro-strain (peak shift) | 0 | +| ustrain | ppm | Micro-strain (peak broadening) | 0 | + +## Links + +- [Source code](ESS_BEER_MCPL.instr) for `ESS_BEER_MCPL.instr`. +- [Additional information](ESS_BEER_MCPL.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ESS/ESS_IN5_reprate/README.md b/mcstas-comps/examples/ESS/ESS_IN5_reprate/README.md new file mode 100644 index 0000000000..0a384f3e0c --- /dev/null +++ b/mcstas-comps/examples/ESS/ESS_IN5_reprate/README.md @@ -0,0 +1,81 @@ +# The `ESS_IN5_reprate` Instrument + +*McStas: An IN5 type (cold chopper) multi-frame spectrometer at ESS LPTS* + +## Identification + +- **Site:** ESS +- **Author:** Kim Lefmann (kim.lefmann@risoe.dk), Helmuth Schober, Feri Mezei +- **Origin:** ESS +- **Date:** September 20, 2006 + +## Description + +```text +McStas instrument for simulating IN5-TYPE (cold chopper) multi-frame spectrometer at ESS LPTS. +The sample is incoherent with an inelastic tunneling line. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Lmin | AA | Minimum wavelength emitted by the moderator | 4.9 | +| Lmax | AA | Maximum wavelength emitted by the moderator | 5.1 | +| lambda0 | AA | Target wavelength for the monochromating crystal | 5 | +| Pulse_width | s | Length of the long pulse. Default to 2 ms. | 2.857e-3 | +| Num_pulses | 1 | Number of pulses to simulate. Default 1. | 1 | +| GUI_start | m | Distance from moderator to guide start | 2.0 | +| FO1_DIST | m | Distance from moderator to FO1 chopper | 6 | +| L_ballistic_begin | m | Length of expanding ballistic section in the beginning of the guide | 19.5 | +| L_ballistic_end | m | Length of compressing ballistic section in the end of the guide | 17 | +| Length | m | Total length of spectrometer (moderator to F2) | 100 | +| SAMPLE_DIST | m | Distance from F2 to sample | 1.2 | +| DETECTOR_DIST | m | Length sample-detector | 4 | +| GUI_h | m | Height of guide opening at entry | 0.105 | +| GUI_w | m | Width of guide opening at entry | 0.1 | +| GUI_GAP | m | Gap between guides due to chopper hardware | 0.05 | +| H1 | m | Height of guide elements | 0.167 | +| W1 | m | Width of guide elements | 0.116 | +| H2 | m | Height of guide elements | 0.185 | +| W2 | m | Width of guide elements | 0.15 | +| H3 | m | Height of guide elements | 0.19 | +| W3 | m | Width of guide elements | 0.15 | +| H4 | m | Height of guide elements | 0.213 | +| W4 | m | Width of guide elements | 0.14 | +| H_chop | m | Height at F2 chopper position | 0.075 | +| W_chop | m | Width at F2 chopper position | 0.03 | +| H_end | m | Height of guide opening at exit | 0.042 | +| W_end | m | Width of guide opening at exit | 0.0215 | +| ALPHA | m | Parameter for supermirrors in guides, Swiss Neutronics best at 3.4 | 3.4 | +| M | 1 | Parameter for supermirrors in guides, Swiss Neutronics best at 4 | 3.5 | +| F_slow1 | Hz | Frequency of the FO1 chopper | 16.6667 | +| F_slow2 | Hz | Frequency of the FO2 chopper | 0 | +| F_fast1 | Hz | Frequency of the F1 chopper | 0 | +| F_fast2 | Hz | Frequency of the F2 chopper | 200 | +| N_fast | 1 | Number of symmetric openings in the fast F choppers | 1 | +| SLOW1_THETA | deg | Opening angle of the FO1 chopper | 120 | +| FO3 | 1 | Inverse frequency of FO3 chopper (if 1, same as F2; if 2, half of F2, etc.) | 1 | +| THETA_fast1 | deg | Opening angle of the F1 chopper | 180 | +| FAST_THETA | deg | Opening angle of the F2 chopper | 5 | +| Gamma | meV | Width of sample quasielastic scattering (0=elastic) | 0 | +| Etun | meV | Tunneling energy | 1 | +| V_HOLE | m | Radius of hole in V sample (must be smaller than the outer radius: 0.01) | 0 | +| FRAC_QUASIEL | 1 | Fraction of the sample that scatters quasielastically | 0 | +| FRAC_TUNNEL | | Fraction of the sample that scatters on the tunneling peaks | 0 | +| TT | deg | 2Theta (or a4) scattering angle | 50 | +| RES_DE | meV | Adjustable zoom for energy monitor at detector position | 0.5 | +| cold | | Fraction of neutrons emitted from the cold moderatorx | 0.95 | + +## Links + +- [Source code](ESS_IN5_reprate.instr) for `ESS_IN5_reprate.instr`. +- [Additional information](ESS_IN5_reprate.md) (only if available!) +- The ESS-Rencurel website. +- The IN5@ILL Yellow Pages + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ESS/ESS_Testbeamline_HZB_V20/README.md b/mcstas-comps/examples/ESS/ESS_Testbeamline_HZB_V20/README.md new file mode 100644 index 0000000000..cc46ad0c83 --- /dev/null +++ b/mcstas-comps/examples/ESS/ESS_Testbeamline_HZB_V20/README.md @@ -0,0 +1,60 @@ +# The `ESS_Testbeamline_HZB_V20` Instrument + +*McStas: McStas model of the ESS testbeamline V20 at HZB in Berlin* + +## Identification + +- **Site:** ESS +- **Author:** Ala'a Al-Falahat +- **Origin:** HZB +- **Date:** March 17, 2017 + +## Description + +```text +McStas model of the ESS testbeamline V20 at HZB in Berlin. Please note that not +all geometrical sizes, distances and parameters have been fully validated. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda_min | AA | Minimum wavelength emitted by the source | 1 | +| lambda_max | AA | Maximum wavelength emitted by the source | 15 | +| frequency | Hz | Frequency of the choppers | 14 | +| Choppers_WFM1_in | 1 | Flag to indicate if WFM1 is active | 1 | +| Choppers_WFM2_in | 1 | Flag to indicate if WFM2 is active | 1 | +| Choppers_FOC1_in | 1 | Flag to indicate if FOC1 is active | 1 | +| Choppers_FOC2_in | 1 | Flag to indicate if FOC2 is active | 1 | +| s1_x | m | slit 1 width | 0.05 | +| s1_y | m | slit 1 height | 0.1 | +| s2_x | m | slit 2 width | 0.02 | +| s2_y | m | slit 2 height | 0.04 | +| s3_x | m | slit 3 width | 0.0138 | +| s3_y | m | slit 3 height | 0.033 | +| Offset_deg_SC1 | deg | Phase source chopper disk 1 | 0 | +| Offset_deg_SC2 | deg | Phase source chopper disk 2 | 0 | +| Offset_deg_BC1 | deg | Phase bandwidth chopper disk 1 | -25 | +| Offset_deg_BC2 | deg | Phase bandwidth chopper disk 2 | 57 | +| Offset_deg_WFM1 | deg | Phase wavelength frame multiplication chopper disk 1 | 47.1 | +| Offset_deg_WFM2 | deg | Phase wavelength frame multiplication chopper disk 2 | 76.76 | +| Offset_deg_FOC1 | deg | Phase frame overlap chopper disk 1 | 62.4 | +| Offset_deg_FOC2 | deg | Phase frame overlap chopper disk 2 | 12.27 | +| Z | m | Distance between Wavelength frame multiplication chopper disks 0.1 - 0.5 | 0.28 | +| sp | m | sample position | 50.6 | +| npulses | 1 | Number of pulses to simulate | 1 | +| emulate_reactor_emmision | 1 | Flag to emulate all emission times from the reactor | 0 | + +## Links + +- [Source code](ESS_Testbeamline_HZB_V20.instr) for `ESS_Testbeamline_HZB_V20.instr`. +- [Additional information](ESS_Testbeamline_HZB_V20.md) (only if available!) +- V20 page at the HZB website +- V20 info section at the ESS website + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ESS/ESS_butterfly_Guide_curved_test/README.md b/mcstas-comps/examples/ESS/ESS_butterfly_Guide_curved_test/README.md new file mode 100644 index 0000000000..58f850a3e3 --- /dev/null +++ b/mcstas-comps/examples/ESS/ESS_butterfly_Guide_curved_test/README.md @@ -0,0 +1,53 @@ +# The `ESS_butterfly_Guide_curved_test` Instrument + +*McStas: Test instrument for the updated BF1 butterfly moderator design* + +## Identification + +- **Site:** ESS +- **Author:** Peter Willendrup +- **Origin:** ESS +- **Date:** 2016-09-26 + +## Description + +```text +Test instrument for the updated BF1 butterfly moderator design. + +The below example gives a 50-50 (statistics-wise) cold/thermal beam at beamline N10. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sector | str | Defines the 'sector' of your instrument position. Valid values are "N","S","E" and "W" | "N" | +| beamline | 1 | Defines the 'beamline number' of your instrument position. Valid values are 1..10 or 1..11 depending on sector | 1 | +| Lmin | AA | Minimum wavelength simulated | 0.2 | +| Lmax | AA | Maximum wavelength simulated | 20 | +| c_performance | 1 | Cold brilliance scalar performance multiplicator c_performance > 0 | 1 | +| t_performance | 1 | Thermal brilliance scalar performance multiplicator t_performance > 0 | 1 | +| index | 1 | Target index for source focusing. Defaults to illuminate the "cold collimated" brilliance monitor, thereby suppressing "dist" | 25 | +| dist | m | Distance from origin to focusing rectangle; at (0,0,dist) - alternatively use target_index | 0 | +| cold | 1 | Defines the statistical fraction of events emitted from the cold part of the moderator | 1 | +| Yheight | m | Defines the moderator height. Valid values are 0.03 m and 0.06 m | 0.03 | +| delta | m | Parameter that allows to scan "collimator" position | 0 | +| thres | | Weight-threshold, neutrons with higher weight are absorbed | 0.003 | +| repeat | | Number of MCPL file repetitions | 1 | +| v_smear | 1 | When repeating events, make a Gaussian MC choice within v_smear*V around particle velocity V | 0.1 | +| pos_smear | m | When repeating events, make a flat MC choice of position within pos_smear around particle starting position | 0.01 | +| dir_smear | deg | When repeating events, make a Gaussian MC choice of direction within dir_smear around particle direction | 0.01 | +| n_pulses | 1 | Number of pulses to simulate | 1 | + +## Links + +- [Source code](ESS_butterfly_Guide_curved_test.instr) for `ESS_butterfly_Guide_curved_test.instr`. +- [Additional information](ESS_butterfly_Guide_curved_test.md) (only if available!) +- +- Benchmarking website available at http://ess_butterfly.mcstas.org + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ESS/ESS_butterfly_MCPL_test/README.md b/mcstas-comps/examples/ESS/ESS_butterfly_MCPL_test/README.md new file mode 100644 index 0000000000..6d8630268a --- /dev/null +++ b/mcstas-comps/examples/ESS/ESS_butterfly_MCPL_test/README.md @@ -0,0 +1,56 @@ +# The `ESS_butterfly_MCPL_test` Instrument + +*McStas: Test instrument for the updated BF1 butterfly moderator design using MCPL input* + +## Identification + +- **Site:** ESS +- **Author:** Peter Willendrup +- **Origin:** ESS +- **Date:** 2016-09-26 + +## Description + +```text +Test instrument for the updated BF1 butterfly moderator design using MCPL input files. + +The below example gives a 50-50 (statistics-wise) cold/thermal beam at beamline N10. +Example: sector=N beamline=10 cold=0.5 + +Assumes access to binary MCPL datasets in . named [sector][beamline].mcpl.gz, i.e. W8.mcpl.gz. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sector | str | Defines the 'sector' of your instrument position. Valid values are "N","S","E" and "W" | "N" | +| beamline | 1 | Defines the 'beamline number' of your instrument position. Valid values are 1..10 or 1..11 depending on sector | 1 | +| Lmin | AA | Minimum wavelength simulated | 0.2 | +| Lmax | AA | Maximum wavelength simulated | 20 | +| c_performance | 1 | Cold brilliance scalar performance multiplicator c_performance > 0 | 1 | +| t_performance | 1 | Thermal brilliance scalar performance multiplicator t_performance > 0 | 1 | +| index | 1 | Target index for source focusing. Defaults to illuminate the "cold collimated" brilliance monitor, thereby suppressing "dist" | 8 | +| dist | m | Distance from origin to focusing rectangle; at (0,0,dist) - alternatively use target_index | 0 | +| cold | 1 | Defines the statistical fraction of events emitted from the cold part of the moderator | 1 | +| Yheight | m | Defines the moderator height. Valid values are 0.03 m and 0.06 m | 0.03 | +| delta | m | Parameter that allows to scan "collimator" position | 0 | +| thres | | Weight-threshold, neutrons with higher weight are absorbed | 0.003 | +| filter | | | 0 | +| repeat | | Number of MCPL file repetitions | 1 | +| v_smear | 1 | When repeating events, make a Gaussian MC choice within v_smear*V around particle velocity V | 0.1 | +| pos_smear | m | When repeating events, make a flat MC choice of position within pos_smear around particle starting position | 0.01 | +| dir_smear | deg | When repeating events, make a Gaussian MC choice of direction within dir_smear around particle direction | 0.01 | + +## Links + +- [Source code](ESS_butterfly_MCPL_test.instr) for `ESS_butterfly_MCPL_test.instr`. +- [Additional information](ESS_butterfly_MCPL_test.md) (only if available!) +- +- Benchmarking website available at http://ess_butterfly.mcstas.org + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ESS/ESS_butterfly_test/README.md b/mcstas-comps/examples/ESS/ESS_butterfly_test/README.md new file mode 100644 index 0000000000..a0b80e1d45 --- /dev/null +++ b/mcstas-comps/examples/ESS/ESS_butterfly_test/README.md @@ -0,0 +1,47 @@ +# The `ESS_butterfly_test` Instrument + +*McStas: Test instrument for the updated BF1 butterfly moderator design* + +## Identification + +- **Site:** ESS +- **Author:** Peter Willendrup +- **Origin:** ESS +- **Date:** 2016-08-24 + +## Description + +```text +Test instrument for the updated BF1 butterfly moderator design. + +The below example gives a 50-50 (statistics-wise) cold/thermal beam at beamline N10. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sector | str | Defines the 'sector' of your instrument position. Valid values are "N","S","E" and "W" | "N" | +| beamline | 1 | Defines the 'beamline number' of your instrument position. Valid values are 1..10 or 1..11 depending on sector | 1 | +| Lmin | AA | Minimum wavelength simulated | 0.2 | +| Lmax | AA | Maximum wavelength simulated | 20 | +| c_performance | 1 | Cold brilliance scalar performance multiplicator c_performance > 0 | 1 | +| t_performance | 1 | Thermal brilliance scalar performance multiplicator t_performance > 0 | 1 | +| index | 1 | Target index for source focusing. Defaults to illuminate the "cold collimated" brilliance monitor, thereby suppressing "dist" | 16 | +| dist | m | Distance from origin to focusing rectangle; at (0,0,dist) - alternatively use target_index | 0 | +| cold | 1 | Defines the statistical fraction of events emitted from the cold part of the moderator | 0.5 | +| Yheight | m | Defines the moderator height. Valid values are 0.03 m and 0.06 m | 0.03 | +| delta | m | Parameter that allows to scan "collimator" position | 0 | + +## Links + +- [Source code](ESS_butterfly_test.instr) for `ESS_butterfly_test.instr`. +- [Additional information](ESS_butterfly_test.md) (only if available!) +- +- Benchmarking website available at http://ess_butterfly.mcstas.org + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ESS/ESS_butterfly_tfocus_NOFOCUS_test/README.md b/mcstas-comps/examples/ESS/ESS_butterfly_tfocus_NOFOCUS_test/README.md new file mode 100644 index 0000000000..e3bbf2cb68 --- /dev/null +++ b/mcstas-comps/examples/ESS/ESS_butterfly_tfocus_NOFOCUS_test/README.md @@ -0,0 +1,50 @@ +# The `ESS_butterfly_tfocus_NOFOCUS_test` Instrument + +*McStas: Test instrument for the updated BF1 butterfly moderator design* + +## Identification + +- **Site:** ESS +- **Author:** Peter Willendrup +- **Origin:** ESS +- **Date:** 2016-08-24 + +## Description + +```text +Test instrument for the updated BF1 butterfly moderator design. + +The below example gives a 50-50 (statistics-wise) cold/thermal beam at beamline N10. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sector | str | Defines the 'sector' of your instrument position. Valid values are "N","S","E" and "W" | "N" | +| beamline | 1 | Defines the 'beamline number' of your instrument position. Valid values are 1..10 or 1..11 depending on sector | 1 | +| Lmin | AA | Minimum wavelength simulated | 0.2 | +| Lmax | AA | Maximum wavelength simulated | 20 | +| c_performance | 1 | Cold brilliance scalar performance multiplicator c_performance > 0 | 1 | +| t_performance | 1 | Thermal brilliance scalar performance multiplicator t_performance > 0 | 1 | +| index | 1 | Target index for source focusing. Defaults to illuminate the "cold collimated" brilliance monitor, thereby suppressing "dist" | 0 | +| dist | m | Distance from origin to focusing rectangle; at (0,0,dist) - alternatively use target_index | 100 | +| cold | 1 | Defines the statistical fraction of events emitted from the cold part of the moderator | 0.5 | +| Yheight | m | Defines the moderator height. Valid values are 0.03 m and 0.06 m | 0.03 | +| delta | m | Parameter that allows to scan "collimator" position | 0 | +| tfocus_dist | | | 10 | +| tfocus_time | | | 0.01 | +| tfocus_width | | | 0.001 | + +## Links + +- [Source code](ESS_butterfly_tfocus_NOFOCUS_test.instr) for `ESS_butterfly_tfocus_NOFOCUS_test.instr`. +- [Additional information](ESS_butterfly_tfocus_NOFOCUS_test.md) (only if available!) +- +- Benchmarking website available at http://ess_butterfly.mcstas.org + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ESS/ESS_butterfly_tfocus_test/README.md b/mcstas-comps/examples/ESS/ESS_butterfly_tfocus_test/README.md new file mode 100644 index 0000000000..93f034c510 --- /dev/null +++ b/mcstas-comps/examples/ESS/ESS_butterfly_tfocus_test/README.md @@ -0,0 +1,50 @@ +# The `ESS_butterfly_tfocus_test` Instrument + +*McStas: Test instrument for the updated BF1 butterfly moderator design* + +## Identification + +- **Site:** ESS +- **Author:** Peter Willendrup +- **Origin:** ESS +- **Date:** 2016-08-24 + +## Description + +```text +Test instrument for the updated BF1 butterfly moderator design. + +The below example gives a 50-50 (statistics-wise) cold/thermal beam at beamline N10. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sector | str | Defines the 'sector' of your instrument position. Valid values are "N","S","E" and "W" | "N" | +| beamline | 1 | Defines the 'beamline number' of your instrument position. Valid values are 1..10 or 1..11 depending on sector | 1 | +| Lmin | AA | Minimum wavelength simulated | 0.2 | +| Lmax | AA | Maximum wavelength simulated | 20 | +| c_performance | 1 | Cold brilliance scalar performance multiplicator c_performance > 0 | 1 | +| t_performance | 1 | Thermal brilliance scalar performance multiplicator t_performance > 0 | 1 | +| index | 1 | Target index for source focusing. Defaults to illuminate the "cold collimated" brilliance monitor, thereby suppressing "dist" | 0 | +| dist | m | Distance from origin to focusing rectangle; at (0,0,dist) - alternatively use target_index | 100 | +| cold | 1 | Defines the statistical fraction of events emitted from the cold part of the moderator | 0.5 | +| Yheight | m | Defines the moderator height. Valid values are 0.03 m and 0.06 m | 0.03 | +| delta | m | Parameter that allows to scan "collimator" position | 0 | +| tfocus_dist | | | 10 | +| tfocus_time | | | 0.01 | +| tfocus_width | | | 0.001 | + +## Links + +- [Source code](ESS_butterfly_tfocus_test.instr) for `ESS_butterfly_tfocus_test.instr`. +- [Additional information](ESS_butterfly_tfocus_test.md) (only if available!) +- +- Benchmarking website available at http://ess_butterfly.mcstas.org + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ESS/ESS_mcpl2hist/README.md b/mcstas-comps/examples/ESS/ESS_mcpl2hist/README.md new file mode 100644 index 0000000000..2fcbdc1d0a --- /dev/null +++ b/mcstas-comps/examples/ESS/ESS_mcpl2hist/README.md @@ -0,0 +1,42 @@ +# The `ESS_mcpl2hist` Instrument + +*McStas: Utility instrument that generates a set of histograms from an MCPL input file* + +## Identification + +- **Site:** ESS +- **Author:** Peter Willendrup +- **Origin:** ESS +- **Date:** 2016-12-02 + +## Description + +```text +Utility instrument that generates a set of histograms from an MCPL input file. + +Generates energy, wavelength, position, veloicty and time histograms via Monitor_nD. + +Assumes access to binary MCPL datasets in . named [sector][beamline].mcpl.gz, i.e. W8.mcpl.gz. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sector | str | Defines the 'sector' of your instrument position. Valid values are "N","S","E" and "W" | "N" | +| beamline | 1 | Defines the 'beamline number' of your instrument position. Valid values are 1..10 or 1..11 depending on sector | 1 | +| filter | 1 | Flag to define if the filtered or nonfiltered version of the MCPL file should be used. | 0 | +| thres | 1 | Weight threshold above which neutrons are absorbed | 0.003 | + +## Links + +- [Source code](ESS_mcpl2hist.instr) for `ESS_mcpl2hist.instr`. +- [Additional information](ESS_mcpl2hist.md) (only if available!) +- +- Benchmarking website available at http://ess_butterfly.mcstas.org + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/FZ_Juelich/FZJ_BenchmarkSfin2/README.md b/mcstas-comps/examples/FZ_Juelich/FZJ_BenchmarkSfin2/README.md new file mode 100644 index 0000000000..cfaad3295f --- /dev/null +++ b/mcstas-comps/examples/FZ_Juelich/FZJ_BenchmarkSfin2/README.md @@ -0,0 +1,55 @@ +# The `FZJ_BenchmarkSfin2` Instrument + +*McStas: Test instrument for the H Frielinghaus SANS_benchmark2 component. + +The below test uses defaults of the instrument (SANS_benchmark2 modnum=11)* + +## Identification + +- **Site:** FZ_Juelich +- **Author:** Henrich Frielinghaus +- **Origin:** FZ Juelich +- **Date:** 2013 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lbdmin | | | 2.00 | +| lbdmax | | | 8.5 | +| NGbend | | | 0.053 | +| NGblen | | | 0.03 | +| Clen | | | 8.0 | +| SampD | | | 0.01 | +| bendL | | | 5.0 | +| bendR | | | 385.0 | +| bendM | | | 7.0 | +| bendiM | | | 7.0 | +| dfltM | | | 1.5 | +| vorPl | | for two cavities | 0.5 | +| PolLen | | for two cavities | 0.492 | +| PolTot | | for two cavities | 2.30 | +| MDOWN | | | 3.6 | +| Min | | | 1.5 | +| cnum | | Set to 0.0 for no polarizer as for benchmarking the normal SANS samples, to 2.0 for two cavities, keep default values as much as possible | 0.00 | +| ROT | | | 0.0 | +| modnum | | | 11.0 | +| sglscatt | | | 1.0 | +| incs | | | 0.0005 | + +## Links + +- [Source code](FZJ_BenchmarkSfin2.instr) for `FZJ_BenchmarkSfin2.instr`. +- [Additional information](FZJ_BenchmarkSfin2.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/FZ_Juelich/FZJ_KWS2_Lens/README.md b/mcstas-comps/examples/FZ_Juelich/FZJ_KWS2_Lens/README.md new file mode 100644 index 0000000000..2ecf9f3879 --- /dev/null +++ b/mcstas-comps/examples/FZ_Juelich/FZJ_KWS2_Lens/README.md @@ -0,0 +1,43 @@ +# The `FZJ_KWS2_Lens` Instrument + +*McStas: FZ Juelich KWS2 SANS, serving as test instrument for the Lens_simple component.* + +## Identification + +- **Site:** FZ_Juelich +- **Author:** Henrich Frielinghaus +- **Origin:** FZ Juelich +- **Date:** June 2010 + +## Description + +```text +This instrument is a test instrument for the Lens_simple component. + +Notice effect of gravitation on the final beam. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Mean wavelength of neutrons | 20.15 | +| dlambda | AA | Wavelength spread of neutrons (fwhm) | 2.015 | +| FLUX | 1 | Source flux normalization constant | 1e8 | +| NGblen | 1 | Defining source radius (is \sqrt(2)*NGblen) | 0.03 | +| Cblen | m | Dimension of rectangular guide | 0.005 | +| Clen | m | Distance source-guide | 20.0 | +| Dlen | m | Placement of final detector | 20.0 | +| Rlense | m | Radius of lens | 0.025 | + +## Links + +- [Source code](FZJ_KWS2_Lens.instr) for `FZJ_KWS2_Lens.instr`. +- [Additional information](FZJ_KWS2_Lens.md) (only if available!) +- The Lens_simple component + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/FZ_Juelich/FZJ_SANS_KWS2_AnySample/README.md b/mcstas-comps/examples/FZ_Juelich/FZJ_SANS_KWS2_AnySample/README.md new file mode 100644 index 0000000000..a61783f0be --- /dev/null +++ b/mcstas-comps/examples/FZ_Juelich/FZJ_SANS_KWS2_AnySample/README.md @@ -0,0 +1,40 @@ +# The `SANS_KWS2_AnySample` Instrument + +*McStas: KWS2 SANS instrument at FZ-Juelich. 2 detectors. 4 available sample models.* + +## Identification + +- **Site:** FZ_Juelich +- **Author:** Henrich Frielinghaus +- **Origin:** FZ-Juelich/FRJ-2/IFF/KWS-2 +- **Date:** Sept 2004 + +## Description + +```text +KWS2 SANS instrument at FZ-Juelich. Custom sample (None, Guinier, Debye or Any). +Sample is at 40 m from source. 2 detectors. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Mean wavelength of neutrons | 7.0 | +| dlambda | AA | Wavelength spread of neutrons | 0.7 | +| FLUX | n/s/cm2/st | incoming neutron flux | 1e8 | +| NGblen | m | collimation width/height | 0.05 | +| sample | int | type of sample, as 0=None, 1='AnySample', 2='Debye' or 3='Guinier' | 0 | +| Clen | m | distance to collimation in 0-20. Sample is at 40 m from source | 10.0 | +| Dlen | m | distance from sample to detector | 10.0 | + +## Links + +- [Source code](FZJ_SANS_KWS2_AnySample.instr) for `FZJ_SANS_KWS2_AnySample.instr`. +- [Additional information](FZJ_SANS_KWS2_AnySample.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/HZB/HZB_FLEX/README.md b/mcstas-comps/examples/HZB/HZB_FLEX/README.md new file mode 100644 index 0000000000..7bdcf5c61f --- /dev/null +++ b/mcstas-comps/examples/HZB/HZB_FLEX/README.md @@ -0,0 +1,42 @@ +# The `HZB_FLEX` Instrument + +*McStas: Primary and secondary spectrometer for the FLEX upgrade* + +## Identification + +- **Site:** HZB +- **Author:** M. Skoulatos and K. Habicht, port to McStas 2.0 by Mathias Kure KU +- **Origin:** Helmholtz-Zentrum Berlin +- **Date:** 26 October 2010 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| kI | inv AA | incident wavevector | 1.55 | +| kF | inv AA | outgoing wavevector | 1.55 | +| wVS | m | Width of virtual source slit | 0.03 | +| tilt | deg | Tilt angle for velocity selector | 0 | +| SA | 1 | Analyzer scattering sense | -1 | +| A3 | deg | Sample omega angle | 0 | +| A4 | deg | Sample 2-theta angle | 70 | +| L3 | m | | 1.00 | +| L4 | m | | 1.00 | +| Mono_flatswitch | 1 | Flag for flat or curved monochromator | 0 | + +## Links + +- [Source code](HZB_FLEX.instr) for `HZB_FLEX.instr`. +- [Additional information](HZB_FLEX.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/HZB/HZB_NEAT/README.md b/mcstas-comps/examples/HZB/HZB_NEAT/README.md new file mode 100644 index 0000000000..5d8565e771 --- /dev/null +++ b/mcstas-comps/examples/HZB/HZB_NEAT/README.md @@ -0,0 +1,57 @@ +# The `HZB_NEAT` Instrument + +*McStas: V3 Time-of-Flight-Spectrometer (NEAT) at BENSC, 1995 version.* + +## Identification + +- **Site:** HZB +- **Author:** Emmanuel Farhi and R. Lechner +- **Origin:** ILL (France)/BENSC (Germany) +- **Date:** 2011 + +## Description + +```text +In time-of-flight spectrometers neutron pulses are created by us- +ing mechanical chopper devices, realised on NEAT by fast rotating +discs with speeds up to 20000 RPM. The discs are coated with neu- +tron absorbing materials except for the narrow windows. Phased to +each other according to the flight time of neutrons between them, +the choppers 'cut out' pulses of neutrons with a desired wave- +length from the white beam. An interaction with moving atoms in +the sample changes the velocities of the scattered neutrons and +this is detected by the secondary part of the spectrometer on the +basis of the time of flight between the sample and the neutron de- +tectors at 2.5 m distance. The secondary spectrometer of NEAT +contains an array of 388 3He 60 cm2 area single counter detectors +(SD) for the large-angle scattering. + +The NL 2 (upper part) guide is modelled. +This model only contains the first and last choppers, and has only a single +pulse (no frame overlap). The sample is a 2mm thick plate rotated by 45 degrees, +which material can be any powder/liquid/amorphous sample. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | incident wavelength on sample | 6 | +| dlambda | Angs | wavelength spread shot from the source | 0.05 | +| rpm | rpm | disk chopper rotation speed, setting the resolution, Hz=rpm/60. | 10000 | +| coh | str | sample coherent S(q,w) file name. Use LAZ/LAU or SQW file | "Rb_liq_coh.sqw" | +| inc | str | sample incoherent S(q,w) file name. Use NULL to scatter incoherently | "Rb_liq_inc.sqw" | +| tmin | s | Minimum ToF measured | 0.01806 | +| tmax | s | Maximum ToF measured | 0.01826 | + +## Links + +- [Source code](HZB_NEAT.instr) for `HZB_NEAT.instr`. +- [Additional information](HZB_NEAT.md) (only if available!) +- NEAT at HZB/BENSC + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/HighNESS/WOFSANS/README.md b/mcstas-comps/examples/HighNESS/WOFSANS/README.md new file mode 100644 index 0000000000..6f374df7ce --- /dev/null +++ b/mcstas-comps/examples/HighNESS/WOFSANS/README.md @@ -0,0 +1,57 @@ +# The `WOFSANS` Instrument + +*McStas: Instrument developed for the HighNESS EU project, describing a Wolter Optics +Focusing SANS (WOFSANS), applied for the study of moderator parameters.* + +## Identification + +- **Site:** HighNESS +- **Author:** Stavros Samothrakis, PSI +- **Origin:** PSI +- **Date:** 2021-2023 + +## Description + +```text +Instrument developed for the HighNESS EU project, describing a Wolter Optics +Focusing SANS (WOFSANS_v2), applied for the study of moderator parameters. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| focusing_rectangle | m | Dimensions, both width and height of the source focusing area | 0.15 | +| width | m | Width-dimension of the source | 0.15 | +| Emin | meV | Minimum energy of neutron beam simulated from source | 0.2 | +| Emax | meV | Maximum energy of neutron beam simulated from source | 100000.0 | +| l_min | AA | Minimum wavelength allowed through emulated chopper system | 7.2 | +| pulseskip | 1 | Flag to skip one or more pulse frames in bandwidth calculation | 0 | +| npulses | 1 | Number of pulses to simulate | 1 | +| chopper1_flag | 1 | Switch emulated chopper on/off | 0 | +| det | m | Detector position for bandwidth calculation | 41.5 | +| R0 | 1 | R0 low-angle reflectivity of optical coating | 0.99 | +| m | 1 | m-value of optical coating | 3 | +| W | AA-1 | Supermirror cut-off, optical coating | 0.003 | +| alpha | AA | alpha parmeter of optical coating | 6.07 | +| nshells_ph | 1 | Number of conical shells simulated in PH-Wolter optic | 28 | +| fi_ph | m | Focal length for PH-Wolter optic | 5.5 | +| PH_beamstop | 1 | Flag to (de)activate Beamstop post PH-Wolter optic | 1 | +| nshells_eh | 1 | Number of conical shells simulated in EH-Wolter optic | 25 | +| fs_eh | m | Upstream focal length for EH-Wolter optic | 8 | +| fi_eh | m | Downstream focal length for EH-Wolter optic | 6 | +| EH_beamstop | 1 | Flag to (de)activate Beamstop post EH-Wolter optic | 1 | + +## Links + +- [Source code](WOFSANS.instr) for `WOFSANS.instr`. +- [Additional information](WOFSANS.md) (only if available!) +- V. Santoro et. al. Nuc. Sci. Eng. 2023 https://doi.org/10.1080/00295639.2023.2204184 +- https://highnessproject.eu +- This work was supported by the HighNESS project and is funded by European Commission (H2020-951782). + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_BRISP/README.md b/mcstas-comps/examples/ILL/ILL_BRISP/README.md new file mode 100644 index 0000000000..e68a7d329a --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_BRISP/README.md @@ -0,0 +1,95 @@ +# The `ILL_BRISP` Instrument + +*McStas: Time of Flight Neutron Spectrometer for Small Angle Inelastic Scattering BRISP* + +## Identification + +- **Site:** ILL +- **Author:** E. Farhi and N. Formissano [formisan@ill.fr] +- **Origin:** ILL +- **Date:** June 4th, 2009 + +## Description + +```text +BRISP is a new concept thermal neutron Brillouin scattering spectrometer which +exploits the time-of-flight technique and is optimized to operate at small +scattering angles with good energy resolution. + +Keywords in the design of the BRISP spectrometer were : + +Thermal neutron energies: allowing for investigations in systems characterized +by sound velocities up to 3000 m/s (three different incident energies between +20 and 80 meV are presently available). +Easy small-angle access: enabling low-Q spectroscopy with thermal neutrons. +Elastic wavevector transfer values Qel as low as 0.03 Å -1 at 20 meV incident +energy can be reached. The position of the two-dimensional detector can be +adjusted to cover different small-angle ranges between 1° and 15°. +Time-of-Flight technique: for an efficient data collection allowing also for +accurate neutron measurements as a function of external parameters such as +temperature, pressure and magnetic field. +Carefull optimization of monochromator-collimators-Fermi chopper: leading to +0.5 meV energy resolution and 0.02 Å-1 Q resolution in a typical +configuration (20 meV incident energy and 4 m sample-detector distance), +along with acceptable counting rates (flux at the sample 104 n s-1 cm-2). +For this purpose, innovatory solutions were specially developed for some of +the BRISP components. + +Main components: + +a Soller collimator defining the beam impinging on the monochromator, with a +collimation angle of 0.4° +two focusing multi-crystal monochromators, PG and Cu(111), that allow for the +selection of three incident energies in the range from 20 to 80 meV. +Fixed/variable curvatures are adopted in/outside the Brisp vertical scattering plane. +a disk chopper used for background reduction and selection of the desired +monochromator reflection through proper phasing with the Fermi chopper. +three honeycomb converging collimators [1] to define the incident beam on the +sample with a collimation angle of 0.4°, and to optimize convergence at three +detector positions (2, 4, 6 m from the sample). A coarse resolution option +is also available, without honeycomb collimator. +a Fermi chopper producing short neutron pulses which enable the time-of-flight +analysis. +a high-vacuum sample chamber possibly equipped with 1.5-300 K MAXI Orange +cryostat (100 mm) and 300-1900 K furnace +a ~2 m2-area position sensitive gas detector (3He) whose distance from the +sample can be varied between 2 and 6 m in order to access the required Q-range. +A huge vacuum tank hosts the detector. An elastobore – polyethylene shielding +surrounds the vacuum tank to reduce the environmental background. +the long vacuum line ensures an under-vacuum neutron flight path from the +background chopper to the detector. + +Configurations: +crystal d-spacing (Å) lambda0 (Å) E0(meV) +PG(002) 3.355(nominal) 1.977(expt.) 20.9 (expt.) +Cu(111) 2.087 1.28 (expt.) 49.9 (expt.) +PG(004) 1.677(nominal) 0.989(expt.) 83.6 (expt.) + +In this model, the sample is a plate of thickness e=4 mm, surrounded by an +Al or Nb container, inside an Al shield (phi=10 cm). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| DM | Angs | Monochromator d-spacing. Use 3.355 for PG002, 1.677 for PG004 and 2.087 for Cu111. | 3.355 | +| coh | str | Sample coherent specification (use laz, lau or Sqw file, or NULL to disable). Sample is a 5x5 cm plate, e=4 mm. | "V.lau" | +| inc | str | Sample incoherent specification (use laz, lau or Sqw file, or NULL to scatter isotropically, using cross sections read from the coherent file) | "NULL" | +| container | str | sample container material. Thickness is .2 mm. Use NULL, Al or Nb. | "NULL" | +| LSD | m | Distance sample-detector | 4.5 | +| Frequency | Hz | Disk-chopper frequency | 0 | +| LCC | m | Distance between the Disk-chopper and the Fermi-chopper | 0 | +| DELAY | s | Fermi phase wrt. Disk-chopper opening | 0 | + +## Links + +- [Source code](ILL_BRISP.instr) for `ILL_BRISP.instr`. +- [Additional information](ILL_BRISP.md) (only if available!) +- The BRISP spectrometer at the ILL BRISP + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_D2B/README.md b/mcstas-comps/examples/ILL/ILL_D2B/README.md new file mode 100644 index 0000000000..2c5d8f5db2 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_D2B/README.md @@ -0,0 +1,75 @@ +# The `ILL_D2B` Instrument + +*McStas: Simple monochromator Diffractometer for powders* + +## Identification + +- **Site:** ILL +- **Author:** C. M. I Enrique, K. Lieutenant, E. Farhi and L. Cussen +- **Origin:** ILL +- **Date:** 13 Apr 2006 + +## Description + +```text +The diffractometer D2B is characterised by the very high take-off angle (135 deg) +for the monochromator, which has a relatively large mosaic spread of 20' to +compensate for the corresponding intensity (dl/l) loss. It is 300 mm high, +focusing vertically onto about 50 mm; this large incident vertical divergence +is matched by 200 mm high detectors and collimators. A complete diffraction +pattern is obtained after about 100 steps of 0.025 deg in 2theta, since the 64 +detectors are spaced at 2.5 deg intervals. Such scans take typically 30 minutes; +they are repeated to improve statistics. + +D2B was designed for work on samples and high resolution of very large +d-spacings using wavelengths of between 2.4 Å and 6 Å. Wavelengths can easily be +changed under computer control, since they are all obtained by a simple rotation +within the Ge[hhl] plane. A large graphite filter can be switched in to provide +a very clean beam at 2.4 Angs, and a cold Be-filter can be used for longer +wavelengths. + +This model implements as well the Caglioti UVW equations, that give estimates +of the instrument resolution. + +Monochromator lattice parameter +Ge 111 DM=3.266 AA +Ge 311 DM=1.714 AA +Ge 511 DM=1.089 AA +Ge 533 DM=0.863 AA +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Wavelength at monochromator, computed from DM and THETA_M if left as 0. | 1.594 | +| DM | Angs | d-spacing of monochromator, computed from lambda and THETA_M if left as 0. | 0 | +| Powder | str | File name for powder description | "Na2Ca3Al2F14.laz" | +| RV | m | Monochromator vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| L1 | m | Source-Monochromator distance | 16.05 | +| L2 | m | Monochromator-Sample distance | 2.645 | +| L3 | m | Sample-Detector distance | 1.3 | +| verbose | 1 | Print DIF configuration. 0 to be quiet | 1 | +| ALPHA1 | min | Horizontal collimator divergence for L1 arm (before monochromator) | 18 | +| ALPHA2 | min | Horizontal collimator divergence for L2 arm (monochromator-sample) | 11 | +| ALPHA3 | min | Horizontal collimator divergence for L3 arm (sample-detector) | 5 | +| ETA | min | Monochromator horizontal mosaic (gaussian) | 12 | +| THETA_M | deg | Monochromator take-off angle, computed from lambda and DM if left as 0. | 67.5 | +| TILT | deg | Monochromator additional tilt, for rocking curves | 0 | +| SM | 1 | Scattering sense of beam from Monochromator. 1:left, -1:right | 1 | +| Dheight | m | Banana detector height | 0.3 | +| coating | 1 | Super-mirror in-beam tube guide coating | 0 | + +## Links + +- [Source code](ILL_D2B.instr) for `ILL_D2B.instr`. +- [Additional information](ILL_D2B.md) (only if available!) +- G. Caglioti, A. Paoletti, F.P. Ricci, Nucl. Instr. and. Meth. 3 (1958) 223 +- L.D. Cussen, Nucl. Instr. and. Meth. A 554 (2005) 406 +- M. Morhac, NIM A 600 (2009) 478 + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_D2B_noenv/README.md b/mcstas-comps/examples/ILL/ILL_D2B_noenv/README.md new file mode 100644 index 0000000000..b3089d3b7e --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_D2B_noenv/README.md @@ -0,0 +1,75 @@ +# The `ILL_D2B_noenv` Instrument + +*McStas: Simple monochromator Diffractometer for powders* + +## Identification + +- **Site:** ILL +- **Author:** C. M. I Enrique, K. Lieutenant, E. Farhi and L. Cussen +- **Origin:** ILL +- **Date:** 13 Apr 2006 + +## Description + +```text +The diffractometer D2B is characterised by the very high take-off angle (135 deg) +for the monochromator, which has a relatively large mosaic spread of 20' to +compensate for the corresponding intensity (dl/l) loss. It is 300 mm high, +focusing vertically onto about 50 mm; this large incident vertical divergence +is matched by 200 mm high detectors and collimators. A complete diffraction +pattern is obtained after about 100 steps of 0.025 deg in 2theta, since the 64 +detectors are spaced at 2.5 deg intervals. Such scans take typically 30 minutes; +they are repeated to improve statistics. + +D2B was designed for work on samples and high resolution of very large +d-spacings using wavelengths of between 2.4 Å and 6 Å. Wavelengths can easily be +changed under computer control, since they are all obtained by a simple rotation +within the Ge[hhl] plane. A large graphite filter can be switched in to provide +a very clean beam at 2.4 Angs, and a cold Be-filter can be used for longer +wavelengths. + +This model implements as well the Caglioti UVW equations, that give estimates +of the instrument resolution. + +Monochromator lattice parameter +Ge 111 DM=3.266 AA +Ge 311 DM=1.714 AA +Ge 511 DM=1.089 AA +Ge 533 DM=0.863 AA +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Wavelength at monochromator, computed from DM and THETA_M if left as 0. | 1.594 | +| DM | Angs | d-spacing of monochromator, computed from lambda and THETA_M if left as 0. | 0 | +| Powder | str | File name for powder description | "Na2Ca3Al2F14.laz" | +| RV | m | Monochromator vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| L1 | m | Source-Monochromator distance | 16.05 | +| L2 | m | Monochromator-Sample distance | 2.645 | +| L3 | m | Sample-Detector distance | 1.3 | +| verbose | 1 | Print DIF configuration. 0 to be quiet | 1 | +| ALPHA1 | min | Horizontal collimator divergence for L1 arm (before monochromator) | 18 | +| ALPHA2 | min | Horizontal collimator divergence for L2 arm (monochromator-sample) | 11 | +| ALPHA3 | min | Horizontal collimator divergence for L3 arm (sample-detector) | 5 | +| ETA | min | Monochromator horizontal mosaic (gaussian) | 12 | +| THETA_M | deg | Monochromator take-off angle, computed from lambda and DM if left as 0. | 67.5 | +| TILT | deg | Monochromator additional tilt, for rocking curves | 0 | +| SM | 1 | Scattering sense of beam from Monochromator. 1:left, -1:right | 1 | +| Dheight | m | Banana detector height | 0.3 | +| coating | 1 | Super-mirror in-beam tube guide coating | 0 | + +## Links + +- [Source code](ILL_D2B_noenv.instr) for `ILL_D2B_noenv.instr`. +- [Additional information](ILL_D2B_noenv.md) (only if available!) +- G. Caglioti, A. Paoletti, F.P. Ricci, Nucl. Instr. and. Meth. 3 (1958) 223 +- L.D. Cussen, Nucl. Instr. and. Meth. A 554 (2005) 406 +- M. Morhac, NIM A 600 (2009) 478 + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_D4/README.md b/mcstas-comps/examples/ILL/ILL_D4/README.md new file mode 100644 index 0000000000..2f324722b0 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_D4/README.md @@ -0,0 +1,52 @@ +# The `ILL_D4` Instrument + +*McStas: D4 Diffractometer for liquids at the ILL.* + +## Identification + +- **Site:** ILL +- **Author:** E. Farhi +- **Origin:** LLB/ILL +- **Date:** 13 Apr 2006 + +## Description + +```text +D4 Diffractometer for liquids at the ILL, installed on the hot source. + +The dedicated liquid and amorphous instrument D4 is a two-axis diffractometer +equipped with nine 1D position sensitive microstrip detectors. In this model, +a PSD banana detector is also present. + +The monochromator take-off angle is 2Theta_M ~ 20-25 deg, variable. The available +monochromators are all vertically focusing, Cu (200) for 0.7 Angs, Cu (220) +for 0.5 Angs. + +Cu 002 DM=1.807 AA +Cu 220 DM=1.278 AA +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Wavelength at monochromator | 0.7 | +| DM | Angs | d-spacing of monochromator | 1.807 | +| sample | str | File name for powder/liquid description LAU/LAZ/qSq/Sqw | "SiO2_liq.qSq" | +| RV | m | Monochromator vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| L1 | m | Source-Monochromator distance | 6.4 | +| L2 | m | Monochromator-Sample distance | 2.61 | +| L3 | m | Sample-Detector distance | 1.148 | +| verbose | 1 | Print DIF configuration. 0 to be quiet | 1 | + +## Links + +- [Source code](ILL_D4.instr) for `ILL_D4.instr`. +- [Additional information](ILL_D4.md) (only if available!) +- The D4 diffractometer at the ILL + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H10_IN8/README.md b/mcstas-comps/examples/ILL/ILL_H10_IN8/README.md new file mode 100644 index 0000000000..be36e0fa51 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H10_IN8/README.md @@ -0,0 +1,85 @@ +# The `ILL_H10_IN8` Instrument + +*McStas: Thermal neutron three-axis spectrometer IN8@ILL* + +## Identification + +- **Site:** ILL +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 2006 + +## Description + +```text +IN8 is installed on beamtube H10 (diameter F = 200 mm). +The incident wavelength selection is obtained through a double focusing +monochromator , which has three faces equipped with PG002, Cu200 and bent +perfect Si111 crystals, respectively. Horizontal focusing allows increasing the +monochromatic flux at the expense of momentum but not energy resolution when +the horizontal virtual source (an adjustable entrance slit) is introduced at a +distance before the monochromator which matches the monochromator-sample +distance. + +The aperture of the horizontal virtual source can be varied but is typically +kept below 50 mm. This reduces the background level of the instrument. +Converging collimators as well as diaphragms can be placed in the beam path +before and after the monochromator to optimize the beam dimension and +definition. For special high-resolution experiments using a flat monochromator, +Soller collimators are available. + +The shielding drum allows varying the monochromator take-off angle in the range +10 < 2theta_m < 90. The secondary spectrometer has heavy borated polyethylene +shielding installed around the analyzer and detector elements. The scattering +angle at the sample position is in the range 0 < 2theta_s < 130 independent of +the monochromator take-off angle. + +In this TAS configuration, Cu200 is used as monochromator and Cu111 as +analyser, with a single type detector. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| KF | Angs-1 | Outgoing neutron wavevector | 5 | +| KI | Angs-1 | Incoming neutron wavevector | 0 | +| QM | Angs-1 | Wavevector transfer in crystal | 0.5 | +| EN | meV | Energy transfer in crystal | 0 | +| verbose | 1 | print TAS configuration. 0 to be quiet | 1 | +| WM | m | Width of monochromator | 0.233 | +| HM | m | Height of monochromator | 0.197 | +| RMH | m | Monochromator horizontal curvature, 0 for flat, -1 for automatic setting | -1 | +| RMV | m | Monochromator vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| DM | Angs | Monochromator d-spacing | 1.807 | +| NHM | 1 | Number of horizontal slabs composing the monochromator | 15 | +| NVM | 1 | Number of vertical slabs composing the monochromator | 15 | +| WA | m | Width of analyzer | 0.16 | +| HA | m | Height of analyzer | 0.08 | +| RAH | m | Analyzer horizontal curvature, 0 for flat, -1 for automatic setting | -1 | +| RAV | m | Analyzer vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| DA | Angs | Analyzer d-spacing | 2.087 | +| NHA | 1 | Number of horizontal slabs composing the analyzer | 15 | +| NVA | 1 | Number of vertical slabs composing the analyzer | 15 | +| L1 | m | Source-Monochromator distance. Contains 1st Collimator of length 5.34 | 2.3 | +| ALF1 | arc min | Horizontal collimation from Source to Monochromator | 60 | +| ALF2 | arc min | Horizontal collimation from Monochromator to Sample A | 60 | +| ALF3 | arc min | Horizontal collimation from Sample to Analyzer | 60 | +| ALF4 | arc min | Horizontal collimation from Analyzer to Detector | 60 | +| BET1 | arc min | Vertical collimation from Source to Monochromator | 120 | +| BET2 | arc min | Vertical collimation from Monochromator to Sample A | 120 | +| BET3 | arc min | Vertical collimation from Sample to Analyzer | 120 | +| BET4 | arc min | Vertical collimation from Analyzer to Detector | 120 | + +## Links + +- [Source code](ILL_H10_IN8.instr) for `ILL_H10_IN8.instr`. +- [Additional information](ILL_H10_IN8.md) (only if available!) +- Rescal for Matlab at http://www.ill.eu/instruments-support/computing-for-science/cs-software/all-software/matlab-ill/ +- Restrax at http://omega.ujf.cas.cz/restrax/ + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H113/README.md b/mcstas-comps/examples/ILL/ILL_H113/README.md new file mode 100644 index 0000000000..51b4785e34 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H113/README.md @@ -0,0 +1,37 @@ +# The `ILL_H113` Instrument + +*McStas: The H113 supermirror ballistic curved cold guide at the ILL* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** April 7, 2004 + +## Description + +```text +The H113 supermirror ballistic curved cold guide at the ILL feeding PF1b +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| m | 1 | m-value of whole guide coating. 0 absorbing, 1 for Ni, 1.2 for Ni58, 2-4 for SM | 2 | +| lambda | AA | central wavelength | 10 | +| dlambda | AA | wavelength half width. Use e.g. 0.8*lambda for white beam. | 9.9 | +| mip | 1 | m-value of in-pile guide coating (3.5 first meters of guide) | 1.2 | + +## Links + +- [Source code](ILL_H113.instr) for `ILL_H113.instr`. +- [Additional information](ILL_H113.md) (only if available!) +- The PF1b beam line at the ILL + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H13_IN20/README.md b/mcstas-comps/examples/ILL/ILL_H13_IN20/README.md new file mode 100644 index 0000000000..f03b2bdbcc --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H13_IN20/README.md @@ -0,0 +1,84 @@ +# The `ILL_H13_IN20` Instrument + +*McStas: Thermal neutron three-axis spectrometer IN20@ILL (unpolarized configuration)* + +## Identification + +- **Site:** ILL +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 2006 + +## Description + +```text +IN20 is installed at the H13 thermal beam tube (Phi 170 mm) in the reactor hall. + +Both the primary and the secondary spectrometer employ a monochromatic +horizontal focusing geometry. A heavy input slit of an adjustable size, placed +in the casemate, serves as a virtual source, providing a large solid angle for +the monochromatic beam, while reducing, together with a sapphire filter window, +the fast neutron background. The neutron energy is selected either by a doubly +focusing polarizing Heusler 111 monochromator (230 x 150 mm2 w x h) or by an +unpolarised Si 111 monochromator (elastically bent crystals, 195 x 200 mm2 w x +h) free of higher-order contamination in the incident beam at wave-numbers ki > +3 Angs-1. The analysis of the energy and polarisation state of the scattered +neutrons is effectuated by a similar horizontally focusing Heusler crystal +analyzer. Further PG 002 and Si 111 analyzers are available for occasional +unpolarised work. + +The energy transfer range accessible in the present configuration of IN20 +extends to 100 meV with maximum incident neutron energies reaching 150 meV. The +typical energy widths (FWHM) measured with a reference vanadium sample at the +graphite filter wave-numbers ki = 2.66 A-1 and 4.1 A-1 are 0.82(3) meV and 3.05 +(15) meV, respectively. + +This model uses two Si111 monochromator and analyzers (unpolarized +configuration). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| KF | Angs-1 | Outgoing neutron wavevector | 3 | +| KI | Angs-1 | Incoming neutron wavevector | 0 | +| QM | Angs-1 | Wavevector transfer in crystal | 0.5 | +| EN | meV | Energy transfer in crystal | 0 | +| verbose | 1 | print TAS configuration. 0 to be quiet | 1 | +| WM | m | Width of monochromator | 0.20 | +| HM | m | Height of monochromator | 0.19 | +| RMH | m | Monochromator horizontal curvature, 0 for flat, -1 for automatic setting | -1 | +| RMV | m | Monochromator vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| DM | Angs | Monochromator d-spacing | 3.155 | +| NHM | 1 | Number of horizontal slabs composing the monochromator | 15 | +| NVM | 1 | Number of vertical slabs composing the monochromator | 15 | +| WA | m | Width of analyzer | 0.16 | +| HA | m | Height of analyzer | 0.08 | +| RAH | m | Analyzer horizontal curvature, 0 for flat, -1 for automatic setting | -1 | +| RAV | m | Analyzer vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| DA | Angs | Analyzer d-spacing | 3.155 | +| NHA | 1 | Number of horizontal slabs composing the analyzer | 15 | +| NVA | 1 | Number of vertical slabs composing the analyzer | 15 | +| L1 | m | Source-Monochromator distance. Contains 1st Collimator of length 5.34 | 2.33 | +| ALF1 | arc min | Horizontal collimation from Source to Monochromator | 60 | +| ALF2 | arc min | Horizontal collimation from Monochromator to Sample A | 60 | +| ALF3 | arc min | Horizontal collimation from Sample to Analyzer | 60 | +| ALF4 | arc min | Horizontal collimation from Analyzer to Detector | 60 | +| BET1 | arc min | Vertical collimation from Source to Monochromator | 120 | +| BET2 | arc min | Vertical collimation from Monochromator to Sample A | 120 | +| BET3 | arc min | Vertical collimation from Sample to Analyzer | 120 | +| BET4 | arc min | Vertical collimation from Analyzer to Detector | 120 | + +## Links + +- [Source code](ILL_H13_IN20.instr) for `ILL_H13_IN20.instr`. +- [Additional information](ILL_H13_IN20.md) (only if available!) +- Rescal for Matlab at http://www.ill.eu/instruments-support/computing-for-science/cs-software/all-software/matlab-ill/ +- Restrax at http://omega.ujf.cas.cz/restrax/ + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H142/README.md b/mcstas-comps/examples/ILL/ILL_H142/README.md new file mode 100644 index 0000000000..e992ec2931 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H142/README.md @@ -0,0 +1,38 @@ +# The `ILL_H142` Instrument + +*McStas: The H142 S-curved cold guide at the ILL* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** April 7, 2004 + +## Description + +```text +The H142 S-curved cold guide at the ILL feeding IN12 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| m | 1 | m-value of whole guide coating. 0 absorbing, 1 for Ni, 1.2 for Ni58, 2-4 for SM | 1 | +| lambda | AA | central wavelength | 10 | +| dlambda | AA | wavelength half width. Use e.g. 0.8*lambda for white beam. | 9.9 | +| gH | m | height of 2nd H142 curved section | 0.12 | +| mip | 1 | m-value of in-pile guide coating | 1 | + +## Links + +- [Source code](ILL_H142.instr) for `ILL_H142.instr`. +- [Additional information](ILL_H142.md) (only if available!) +- The IN12 TAS at the ILL + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H142_D33/README.md b/mcstas-comps/examples/ILL/ILL_H142_D33/README.md new file mode 100644 index 0000000000..70cd69eda2 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H142_D33/README.md @@ -0,0 +1,49 @@ +# The `ILL_H142_D33` Instrument + +*McStas: A simplified H142 cold guide model at the ILL, with a simple D33 model at the end* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** 2012 + +## Description + +```text +This model decribes a simiplified H142 cold guide at the ILL, with D33. + +The D33 Massive dynamic q-range small-angle diffractometer is a Small-Angle Neutron +Scattering instrument for the characterization of samples with typical sizes +varying from the nanometer scale to few tenth of micrometer. In addition to a +standard monochromatic mode of operation, D33 offers a time of flight mode (TOF) +to cover an enhanced dynamic q-range qmax/qmin in one instrument setting. High +magnetic fields, up to 17 T at the sample position, beam polarization and 3He +spin analysis, facilitate and expand studies of magnetism and allow a more +quantitative analysis of spin incoherent samples. The high flux allows for +kinetic experiments with time resolution of the order of few milliseconds. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | | central wavelength band for guide illumination [Angs] | 14 | +| dlambda | | half width of guide wavelength band [Angs] | 1.4 | +| m1 | | m-coating for 1st guide section | 1 | +| m2 | | m-coating for 2nd guide section | 1 | +| m3 | | m-coating for 3th guide section | 1 | +| m4 | | m-coating for 4th guide section | 1 | +| diaphragm | | diaphragm diameter between section 3 and 4; use 0 to remove [cm] | 0 | + +## Links + +- [Source code](ILL_H142_D33.instr) for `ILL_H142_D33.instr`. +- [Additional information](ILL_H142_D33.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H142_IN12/README.md b/mcstas-comps/examples/ILL/ILL_H142_IN12/README.md new file mode 100644 index 0000000000..9f681bae7b --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H142_IN12/README.md @@ -0,0 +1,52 @@ +# The `ILL_H142_IN12` Instrument + +*McStas: The H142 S-curved cold guide at the ILL feeding IN12 TAS spectrometer* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** April 7, 2004 + +## Description + +```text +The H142 beam is the only S-curved guide at the ILL. It is used here to feed +the IN12 TAS spectrometer (classical configuration). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| m | 1 | m-value of guide coating (H14/H142) | 1 | +| KI | Angs-1 | central wavevector for incoming neutrons | 2.662 | +| QM | Angs-1 | wavevector transfer modulus at the sample | 1.0 | +| EN | meV | energy transfer at the sample | 0.0 | +| verbose | | verbose-mode toggle | 1 | +| WM | m | Width of monochromator | 0.08 | +| HM | m | Height of monochromator | 0.12 | +| NHM | 1 | Number of vertical slabs composing the monochromator | 1 | +| NVM | 1 | Number of horizontal slabs composing the monochromator | 6 | +| RMV | m | Monochromator vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| WA | m | Width of analyzer | 0.121 | +| HA | m | Height of analyzer | 0.118 | +| NHA | 1 | Number of horizontal slabs composing the analyzer | 11 | +| NVA | 1 | Number of vertical slabs composing the analyzer | 1 | +| RAH | m | Analyzer horizontal curvature, 0 for flat, -1 for automatic setting | -1 | +| L2 | m | Monochromator-Sample distance. Contains 2nd Collimator | 1.726 | +| L3 | m | Sample-Analyzer distance. Contains 3rd Collimator | 1.300 | +| L4 | m | Analyzer-detector distance. Contains 4th Collimator | 0.710 | + +## Links + +- [Source code](ILL_H142_IN12.instr) for `ILL_H142_IN12.instr`. +- [Additional information](ILL_H142_IN12.md) (only if available!) +- The IN12 TAS at the ILL + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H142_simple/README.md b/mcstas-comps/examples/ILL/ILL_H142_simple/README.md new file mode 100644 index 0000000000..b7bb0d0d4a --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H142_simple/README.md @@ -0,0 +1,38 @@ +# The `ILL_H142_simple` Instrument + +*McStas: The H142 S-curved cold guide at the ILL* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** April 7, 2004 + +## Description + +```text +The H142 S-curved cold guide at the ILL feeding IN12 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| m | 1 | m-value of whole guide coating. 0 absorbing, 1 for Ni, 1.2 for Ni58, 2-4 for SM | 1 | +| lambda | AA | central wavelength | 10 | +| dlambda | AA | wavelength half width. Use e.g. 0.8*lambda for white beam. | 9.9 | +| gH | m | height of 2nd H142 curved section | 0.12 | +| mip | 1 | m-value of in-pile guide coating | 1 | + +## Links + +- [Source code](ILL_H142_simple.instr) for `ILL_H142_simple.instr`. +- [Additional information](ILL_H142_simple.md) (only if available!) +- The IN12 TAS at the ILL + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H143_LADI/README.md b/mcstas-comps/examples/ILL/ILL_H143_LADI/README.md new file mode 100644 index 0000000000..e4bcef1fa9 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H143_LADI/README.md @@ -0,0 +1,61 @@ +# The `ILL_H143_LADI` Instrument + +*McStas: The LADI protein crystallography cold Laue diffractometer* + +## Identification + +- **Site:** ILL +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** Sept 2014. + +## Description + +```text +LADI-III is a quasi-Laue neutron diffractometer used for single-crystal studies +of biological macromolecules at high resolution (1.5 - 2.5Å) in order to locate +individual protons or deuterons of special interest, water structures or other +small molecules that can be marked with deuterium to be particularly visible. +Data collection is feasible for samples with unit-cell edges ranging from 50 +to 150Å using crystal volumes from ~0.05 to 0.5mm3, respectively. + +LADI-III uses a large cylindrical area detector composed of neutron-sensitive +image-plates, which completely surround the crystal and allows large numbers +of reflections to be recorded simultaneously. Data are collected using a +quasi-Laue method in order to provide a rapid survey of reciprocal space, while +reducing the background on the detector compared to use of the full white beam. + +LADI: +Guide H143: +H14_1 H14_2 H14_3 [OT1] H143_1 [OT2] H143_2 last +Length [m] 6.8 6 21 30 35 1 +m 2 2 2 1,bot=1.4 1,bot=1.4 idem +Rh [km] - 2.7 4.0 - - - +Rv [km] - - - 2.0 2.0 2.0 +n_elm. 2 5 11 15 14 last=1m +section [mm] 45x220 45x220 45x220-200 45x30+95 30x30+95 [w*h+v.offset] + +Filter: Ni/Ti multilayer band-pass filter, Quasi-Laue (dlambda/lambda<30%) +Collimation: Pinholes 0.5 to 2.9 mm +Detector: image plate 1250 x 450 mm2 +Sample: at 2.710 mm from the end of the guide H143. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | wavelength | 3.2 | +| dlambda | Angs | wavelength HALF spread. | 1 | +| reflections | str | list of reflections describing the sample SX | "leucine.lau" | + +## Links + +- [Source code](ILL_H143_LADI.instr) for `ILL_H143_LADI.instr`. +- [Additional information](ILL_H143_LADI.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H15/README.md b/mcstas-comps/examples/ILL/ILL_H15/README.md new file mode 100644 index 0000000000..a3f4663808 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H15/README.md @@ -0,0 +1,37 @@ +# The `ILL_H15` Instrument + +*McStas: The H15@ILL curved cold guide at the ILL (feeding IN6, D7, IN10, D11)* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** April 7, 2004 + +## Description + +```text +The H15@ILL curved guide sending cold neutrons from the VCS to IN6 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| m | 1 | m-value of whole guide coating. 0 absorbing, 1 for Ni, 1.2 for Ni58, 2-4 for SM | 1 | +| lambda | AA | central wavelength | 10 | +| dlambda | AA | wavelength half width. Use e.g. 0.8*lambda for white beam. | 9.9 | +| mip | 1 | m-value of in-pile guide coating | 1 | + +## Links + +- [Source code](ILL_H15.instr) for `ILL_H15.instr`. +- [Additional information](ILL_H15.md) (only if available!) +- The IN6 TOF at the ILL + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H15_D11/README.md b/mcstas-comps/examples/ILL/ILL_H15_D11/README.md new file mode 100644 index 0000000000..6812abb26d --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H15_D11/README.md @@ -0,0 +1,59 @@ +# The `ILL_H15_D11` Instrument + +*McStas: D11 at the ILL: Lowest momentum transfer, lowest background small-angle neutron scattering instrument* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** 2012 + +## Description + +```text +D11 - LOWEST MOMENTUM TRANSFER and LOWEST BACKGROUND SANS + +D11 is the archetype of a long, pinhole geometry instrument for small angle +neutron scattering (SANS), designed for the study of large scale structures in +soft matter systems, chemistry, biology, solid state physics and materials science. + +This model allows to specify the collimation length, i.e. the free path between +the end of the guide and the sample location. When Lc=1.5 m, the intensity is +maximal, but Q-resolution (divergence) is degraded. The Lc=40.5 m configuration +is the low-Q one. +The collimation can also be given as predefined configuration 'iLc' starting from 0 + +iLc ={ 1.5, 2.5, 4, 5.5, 8, 10.5, 13.5, 16.5, 20.5, 28, 34, 40.5} + +so that e.g. iLc=5 corresponds with a 10.5 m collimation + +The quality of the collimation section can be specified among a set of glass +pre-set specifications. The available configurations are: + +| Borkron_1972 Borkron_2003 Borofloat_2001 Borofloat_2003 +Chamfers [mm] | 0.2 0.2 0.8 0.2 +Wavyness [rad]| 2.5e-5 1e-4 8e-4 2e-4 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Lambda | Angs | neutron wavelength reaching D11 sample | 4.51 | +| Config | string | guide configuration. Must be one of Borkron_1972 Borkron_2003 Borofloat_2001 Borofloat_2003 | "Borkron_1972" | +| Lc | m | guide collimation, i.e. free path between end of guide and sample location. Must be one of 40.5, 34, 28, 20.5, 16.5 13.5 10.5, 8, 5.5, 4, 2.5, 1.5 | 0 | +| iLc | index | guide collimation predefined length | 5 | +| Chamfers | m | chamfers width (input/output movable guide section+longitudinal top/bottom sides) | 0.0002 | +| Waviness | rad | movable guide Waviness | 2.5e-5 | + +## Links + +- [Source code](ILL_H15_D11.instr) for `ILL_H15_D11.instr`. +- [Additional information](ILL_H15_D11.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H15_IN6/README.md b/mcstas-comps/examples/ILL/ILL_H15_IN6/README.md new file mode 100644 index 0000000000..5403757be0 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H15_IN6/README.md @@ -0,0 +1,69 @@ +# The `ILL_H15_IN6` Instrument + +*McStas: The IN6 Time-of-Flight simulation, positioned as the first instrument in the +cold guide H15 (Nickel coating) at the ILL.* + +## Identification + +- **Site:** ILL +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 17th Jan 2005. + +## Description + +```text +IN6 is a time focussing time-of-flight spectrometer designed for quasielastic and +inelastic scattering for incident wavelengths in the range of 4 to 6 Angs. + +An intense beam is extracted from the H15 guide by a vertically focussing +monochromator array. It consists of three composite pyrolytic graphite +monochromators using the full height (20 cm) of the guide and focussing the beam +at the sample position. In order to minimise the interference with the +subsequent instruments, the monochromator can deliver only four wavelengths: +4.1; 4.6; 5.1; and 5.9 Angs. The second order reflection from the graphite +monochromator is removed by a beryllium-filter cooled at liquid nitrogen +temperature. + +To achieve the time-focussing condition, the beam is pulsed by a Fermi chopper. +It has a small slot length to ensure a good transmission. The normal distance +between the Fermi chopper and the sample is 38 cm. To prevent frame-overlap when +the chopper is rotating faster than 7500 rpm, a suppressor chopper is placed +before the Fermi chopper and rotates in phase with the latter. + +The secondary spectrometer consists first of an evacuated sample area. The +detector bank is entirely covered with detector boxes, thus avoiding the +inconvenience of moving the counters. + +This instrument model contains the complete H15 guide, a triple monochromator +(using the GROUP), two Fermi Choppers (including one background chopper), a +liquid sample handling coherent and incoherent processes (elastic and inelastic) +with multiple scattering, customized monitors, and the SPLIT mechanism to +improve the statistics. + +Example: lambda=4.14 Detector: M_theta_t_all_I=70 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | wavelength within 4.14\|4.6\|5.12\|5.92 | 4.14 | +| dlambda | Angs | wavelength HALF spread. default is 0.075 | 0.075 | + +## Links + +- [Source code](ILL_H15_IN6.instr) for `ILL_H15_IN6.instr`. +- [Additional information](ILL_H15_IN6.md) (only if available!) +- The IN6@ILL Yellow Pages +- R.Scherm et al, "Another Time of Flight Spectrometer", ILL Report 76S235, 1976 +- R.Scherm, "A high-resolution spectrometer ...", report Jul-295-NP, Kernforschungsanlage Julich, 1965 +- Y.Blanc, "Le spectrometre a temps de vol IN6", ILL Report 83BL21G, 1983 +- K.H.Beckurts et al, Neutron physics, Kernforschungsanlage Karlsruhe, 1964 (p317) +- R.Scherm and T.Springer, "Proposal of a multiple Chopper...", Kernforschungsanlage Julich, 19xx + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H15_SAM/README.md b/mcstas-comps/examples/ILL/ILL_H15_SAM/README.md new file mode 100644 index 0000000000..479e69928a --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H15_SAM/README.md @@ -0,0 +1,72 @@ +# The `ILL_H15_SAM` Instrument + +*McStas: The small-angle diffractometer SAM at the ILL.* + +## Identification + +- **Site:** ILL +- **Author:** Nicolas MARTIN +- **Origin:** LLB +- **Date:** 2026/04/08 + +## Description + +```text +SAM is a CRG instrument built through a collaboration between the LLB & the ILL between +June 2023 and February 2024. After hot commissioning, first user experiments took place +in June 2024. SAM stands for "Small-Angle Modular instrument". It is a compact SANS +devoted to the study of mesostructures found in various contexts (soft matter, biophysics, +material sciences and magnetism), which also features polarized neutrons capabilities +(not included in this model). The beamline is fed by the completely renewed H15 cold +neutrons guide. + +Instrument parameters: + +Typical wavelength range: 3.25-24 AA +Guides cross section: 30 x 30 mm2 (three moveable elements within collimator) +Collimation lengths: [9, 7, 5, 2.5] m +Adjustable 'reflectometer-type' diaphragms located at [9, 5, 2.5] m upstream of sample position. +Sample-to-detector distance: 0.75-6.85 m +Detector: 64 x 64 cm2 monoblock 3He PSD +See the instrument page on the ILL website for more details. + +Example (typical "real-life" measurement sequence): + +mcrun ILL_H15_SAM.instr --gravity -n1e7 -dLargeQ lambda=5.2 +mcrun ILL_H15_SAM.instr --gravity -n1e7 -dSmallQ guide1=0 guide2=0 guide3=0 lsd=6.8 + +(Corresponding test-suite entries:) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Wavelength mean value | 5.2 | +| dlambda | 1 | Wavelength range, full width | 0.2 | +| lambdasel | AA | Mean wavelength selected by the NVS | -1.0 | +| guide1 | 1 | 0 = out, 1 = in | 1 | +| guide2 | 1 | 0 = out, 1 = in | 1 | +| guide3 | 1 | 0 = out, 1 = in | 1 | +| s1w | mm | Width of the 1st adjustable diaphragm | 30 | +| s1h | mm | Height of the 1st adjustable diaphragm | 30 | +| s2w | mm | Width of the 2nd adjustable diaphragm | 30 | +| s2h | mm | Height of the 2nd adjustable diaphragm | 30 | +| s3w | mm | Width of the 3rd adjustable diaphragm | 30 | +| s3h | mm | Height of the 3rd adjustable diaphragm | 30 | +| ssw | mm | Width or diameter of sample slit | 7 | +| ssh | mm | Height of sample slit (0 for circular slit) | 10 | +| sampleno | 1 | Choice of sample: 0 = none, 1 = liquid water, 2 = powder ring, 3 = hard spheres in solution | 3 | +| lsd | m | Sample-to-detector distance | 0.85 | + +## Links + +- [Source code](ILL_H15_SAM.instr) for `ILL_H15_SAM.instr`. +- [Additional information](ILL_H15_SAM.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H16/README.md b/mcstas-comps/examples/ILL/ILL_H16/README.md new file mode 100644 index 0000000000..ad1402c022 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H16/README.md @@ -0,0 +1,35 @@ +# The `ILL_H16` Instrument + +*McStas: The H16 cold guide (feeding IN5)* + +## Identification + +- **Site:** ILL +- **Author:** E. Farhi, J. Ollivier, Celia Castan Guerrero +- **Origin:** ILL +- **Date:** Jan 2004-2009 + +## Description + +```text +The H16@ILL curved guide sending cold neutrons from the VCS to IN5. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | mean incident wavelength. | 10 | +| dlambda | AA | wavelength half width. Use e.g. 0.8*lambda for white beam. | 9.9 | +| m | 1 | m-value of whole guide coating. 0 absorbing, 1 for Ni, 1.2 for Ni58, 2-4 for SM | 1 | + +## Links + +- [Source code](ILL_H16.instr) for `ILL_H16.instr`. +- [Additional information](ILL_H16.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H16_IN5/README.md b/mcstas-comps/examples/ILL/ILL_H16_IN5/README.md new file mode 100644 index 0000000000..2ca44a00b8 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H16_IN5/README.md @@ -0,0 +1,38 @@ +# The `ILL_H16_IN5` Instrument + +*McStas: The full IN5B: H16 guide & chopper system + sample + PSD and tof detector* + +## Identification + +- **Site:** ILL +- **Author:** E. Farhi, J. Ollivier, Celia Castan Guerrero +- **Origin:** ILL +- **Date:** Jan 2004-2009 + +## Description + +```text +The IN5@ILL TOF spectrometer from cold source to final detector, with sample. +The detector model includes Fe housing and tube cross talk absorbing masks +with angle restriction (neutrons that scatter in Fe in front of a tube and +enter a different tube are absorbed). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | mean incident wavelength | 4.5 | +| dlambda | AA | wavelength half width. Use e.g. 0.8*lambda for white beam. | 0.09 | + +## Links + +- [Source code](ILL_H16_IN5.instr) for `ILL_H16_IN5.instr`. +- [Additional information](ILL_H16_IN5.md) (only if available!) +- The IN5@ILL cold time of flight instrument + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H22/README.md b/mcstas-comps/examples/ILL/ILL_H22/README.md new file mode 100644 index 0000000000..2ac74fdfde --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H22/README.md @@ -0,0 +1,36 @@ +# The `ILL_H22` Instrument + +*McStas: The H22 curved thermal guide at the ILL* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** April 7, 2004 + +## Description + +```text +The H22 curved thermal guide at the ILL feeding D1A/D1B, SALSA and VIVALDI +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| m | 1 | m-value of whole guide coating. 0 absorbing, 1 for Ni, 1.2 for Ni58, 2-4 for SM | 2 | +| lambda | AA | central wavelength | 4 | +| dlambda | AA | wavelength half width. Use e.g. 0.8*lambda for white beam. | 3.9 | +| mip | 1 | m-value of in-pile guide coating | 2 | + +## Links + +- [Source code](ILL_H22.instr) for `ILL_H22.instr`. +- [Additional information](ILL_H22.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H22_D1A/README.md b/mcstas-comps/examples/ILL/ILL_H22_D1A/README.md new file mode 100644 index 0000000000..502fe98d9d --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H22_D1A/README.md @@ -0,0 +1,65 @@ +# The `ILL_H22_D1A` Instrument + +*McStas: Simple monochromator Diffractometer for powders (D1A) installed on H22, with +container/sample environment and radial collimator.* + +## Identification + +- **Site:** ILL +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** 13 Apr 2006 + +## Description + +```text +D1A is a reliable diffractometer for standard crystallographic problems. It gives +excellent results with the Rietveld method owing to its near perfect Gaussian +peak-shape in the 2θ-range 30° to 150°. + +Special features include +a high fixed take-off angle of 122 deg, giving high resolution at large +scattering angles (up to 160 deg); +a bank of 25 high efficiency collimators and counters; +an anisotropically squashed germanium monochromator focussing a 250 +mm high beam onto only 30 mm; +a wide choice of wavelengths, from 1.39 Angs to 2.99 Angs, quickly available by +simple rotation of the focussing monochromator; + +The large monochromator take-off angle means that the diffraction pattern is +focussed for the parallel geometry shown (2θ = 122°). The counter can be swept +through 0 deg to 2θ = 160° deg for the highest angle counter, usually in steps +of 0.05 deg. +Monochromator Neutron wavelength +Ge 117 DM=0.7946 AA 1.390 +Ge 335 DM=0.8655 AA 1.514 +Ge 115 DM=1.0925 AA 1.911 (optimal) +Ge 113 DM=1.712 AA 2.994 + +The sample is a powder, in a container can, all positioned in an +Al environment (e.g. cryostat/furnace shield). + +This instrument was installed on the H22 guide. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Wavelength at monochromator | 1.911 | +| dlambda | Angs | Wavelength-spread around lambda at source | 0.03 | +| DM | Angs | d-spacing of monochromator. Use DM=0 to compute the values from the requested wavelength. | 0 | +| RV | m | Radius of vertical focussing. flat for 0 | -1 | +| powder | str | File name for powder sample description | "Na2Ca3Al2F14.laz" | +| container | str | File name for container decription in Al cryostat/furnace | "V.laz" | + +## Links + +- [Source code](ILL_H22_D1A.instr) for `ILL_H22_D1A.instr`. +- [Additional information](ILL_H22_D1A.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H22_D1A_noenv/README.md b/mcstas-comps/examples/ILL/ILL_H22_D1A_noenv/README.md new file mode 100644 index 0000000000..8219ac1df3 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H22_D1A_noenv/README.md @@ -0,0 +1,65 @@ +# The `ILL_H22_D1A` Instrument + +*McStas: Simple monochromator Diffractometer for powders (D1A) installed on H22, with +container/sample environment and radial collimator.* + +## Identification + +- **Site:** ILL +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** 13 Apr 2006 + +## Description + +```text +D1A is a reliable diffractometer for standard crystallographic problems. It gives +excellent results with the Rietveld method owing to its near perfect Gaussian +peak-shape in the 2θ-range 30° to 150°. + +Special features include +a high fixed take-off angle of 122 deg, giving high resolution at large +scattering angles (up to 160 deg); +a bank of 25 high efficiency collimators and counters; +an anisotropically squashed germanium monochromator focussing a 250 +mm high beam onto only 30 mm; +a wide choice of wavelengths, from 1.39 Angs to 2.99 Angs, quickly available by +simple rotation of the focussing monochromator; + +The large monochromator take-off angle means that the diffraction pattern is +focussed for the parallel geometry shown (2θ = 122°). The counter can be swept +through 0 deg to 2θ = 160° deg for the highest angle counter, usually in steps +of 0.05 deg. +Monochromator Neutron wavelength +Ge 117 DM=0.7946 AA 1.390 +Ge 335 DM=0.8655 AA 1.514 +Ge 115 DM=1.0925 AA 1.911 (optimal) +Ge 113 DM=1.712 AA 2.994 + +The sample is a powder, in a container can, all positioned in an +Al environment (e.g. cryostat/furnace shield). + +This instrument was installed on the H22 guide. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Wavelength at monochromator | 1.911 | +| dlambda | Angs | Wavelength-spread around lambda at source | 0.03 | +| DM | Angs | d-spacing of monochromator. Use DM=0 to compute the values from the requested wavelength. | 0 | +| RV | m | Radius of vertical focussing. flat for 0 | -1 | +| powder | str | File name for powder sample description | "Na2Ca3Al2F14.laz" | +| container | str | File name for container decription in Al cryostat/furnace | "V.laz" | + +## Links + +- [Source code](ILL_H22_D1A_noenv.instr) for `ILL_H22_D1A_noenv.instr`. +- [Additional information](ILL_H22_D1A_noenv.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H22_D1B/README.md b/mcstas-comps/examples/ILL/ILL_H22_D1B/README.md new file mode 100644 index 0000000000..a31796fe10 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H22_D1B/README.md @@ -0,0 +1,75 @@ +# The `ILL_H22_D1B` Instrument + +*McStas: The D1B diffractometer on the H22 curved thermal guide at the ILL* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) and SANCHEZ Javier (sanchez-montero@ill.fr) +- **Origin:** ILL +- **Date:** June, 2008 + +## Description + +```text +The D1B diffractometer on the H22 curved thermal guide at the ILL. + +D1B is a two-axis spectrometer dedicated to diffraction experiments requesting a +high neutron flux. A great number of experiments performed on D1B concern the +determination of magnetic structures. At small angles where the magnetic peaks +are expected, a high spatial resolution can be achieved, the FWHM reaches 0.2° +(for a sample with = 8 mm). Three pyrolitic graphite monochromators focusing +onto the sample position provide a flux of 6.5·106 n cm-2s-1. A second +wavelength with = 1.28 Å is available by using a germanium monochromator. D1B is +equipped with 3He/Xe position-sensitive detector composed of a system of +multi-electrodes with 400 cells, which span a 2 range of 80°. The detector can +be moved so that an angular range of 2°<2<130° can be covered. The specially +designed cryostat is known for its low background crucial for some experiments +with small intensity changes. Because of its high flux at = 2.52 Å together with +the large multi-detector, surface studies such as adsorbed phases as well as +real-time diffraction experiments are possible. Collecting a diffraction pattern +with sufficient statistics in minutes (1-5 min) even seconds allows in situ +studies of reaction kinetics. A fast detection of phase transitions can also be +obtained by scanning the temperature. A complete thermal variation of the +diffraction patterns (1.5 - 300 K) can be achieved in few hours (3-5h). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | mean incident wavelength. | 2.52 | +| dlambda | AA | wavelength full width. | 0.03 | +| DM | AA | Mono lattice spacing | 0 | +| Powder | str | File name for powder description, LAZ/LAU/Fullprof | "Na2Ca3Al2F14.laz" | +| RV | m | Monochromator vertical curvature, 0 for flat, -1 for automatic setting | 2.2 | +| L1 | m | Source-Monochromator distance | 0.25 | +| L2 | m | Monochromator-Sample distance | 3.0 | +| L3 | m | Sample-Detector distance | 1.500 | +| TRAS_X | m | Additional monochromator translation along X, left/righ w.r.t beam | -0 | +| TRAS_Z | m | Additional monochromator translation along Z, along guide | 0 | +| TILT | deg | Monochromator additional tilt, for rocking curves | 0 | +| THETA_M | deg | Mono takeoff angle | 22.11 | +| R_pitch | deg | Angular pitch between the absorbing blades | .42 | +| R_ri | m | Inner radius of the collimator | 0.324 | +| R_ro | m | Outer radius of the collimator | 0.419 | +| R_h | m | Height of the collimator | 0.090 | +| R_ttmin | deg | Lower scattering angle limit | -130 | +| R_ttmax | deg | Higher scattering angle limit | -2 | +| R_present | 1 | Presence flag for the radial collimator. 0: inactivate component. | 1 | +| verbose | 1 | Print DIF configuration. 0 to be quiet | 1 | +| Inc_Cryo | 1 | Cryostat incoherent fraction | 0.02 | +| Trans_Cryo | 1 | Cryostat event transmission | 0.85 | +| Trans_Spl | 1 | Sample event transmission | 0.2 | +| Inc_Spl | 1 | Sample incoherent fraction | 0.05 | + +## Links + +- [Source code](ILL_H22_D1B.instr) for `ILL_H22_D1B.instr`. +- [Additional information](ILL_H22_D1B.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H22_D1B_noenv/README.md b/mcstas-comps/examples/ILL/ILL_H22_D1B_noenv/README.md new file mode 100644 index 0000000000..1888565e12 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H22_D1B_noenv/README.md @@ -0,0 +1,75 @@ +# The `ILL_H22_D1B_noenv` Instrument + +*McStas: The D1B diffractometer on the H22 curved thermal guide at the ILL* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) and SANCHEZ Javier (sanchez-montero@ill.fr) +- **Origin:** ILL +- **Date:** June, 2008 + +## Description + +```text +The D1B diffractometer on the H22 curved thermal guide at the ILL. + +D1B is a two-axis spectrometer dedicated to diffraction experiments requesting a +high neutron flux. A great number of experiments performed on D1B concern the +determination of magnetic structures. At small angles where the magnetic peaks +are expected, a high spatial resolution can be achieved, the FWHM reaches 0.2° +(for a sample with = 8 mm). Three pyrolitic graphite monochromators focusing +onto the sample position provide a flux of 6.5·106 n cm-2s-1. A second +wavelength with = 1.28 Å is available by using a germanium monochromator. D1B is +equipped with 3He/Xe position-sensitive detector composed of a system of +multi-electrodes with 400 cells, which span a 2 range of 80°. The detector can +be moved so that an angular range of 2°<2<130° can be covered. The specially +designed cryostat is known for its low background crucial for some experiments +with small intensity changes. Because of its high flux at = 2.52 Å together with +the large multi-detector, surface studies such as adsorbed phases as well as +real-time diffraction experiments are possible. Collecting a diffraction pattern +with sufficient statistics in minutes (1-5 min) even seconds allows in situ +studies of reaction kinetics. A fast detection of phase transitions can also be +obtained by scanning the temperature. A complete thermal variation of the +diffraction patterns (1.5 - 300 K) can be achieved in few hours (3-5h). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | mean incident wavelength. | 2.52 | +| dlambda | AA | wavelength full width. | 0.03 | +| DM | AA | Mono lattice spacing | 0 | +| Powder | str | File name for powder description, LAZ/LAU/Fullprof | "Na2Ca3Al2F14.laz" | +| RV | m | Monochromator vertical curvature, 0 for flat, -1 for automatic setting | 2.2 | +| L1 | m | Source-Monochromator distance | 0.25 | +| L2 | m | Monochromator-Sample distance | 3.0 | +| L3 | m | Sample-Detector distance | 1.500 | +| TRAS_X | m | Additional monochromator translation along X, left/righ w.r.t beam | -0 | +| TRAS_Z | m | Additional monochromator translation along Z, along guide | 0 | +| TILT | deg | Monochromator additional tilt, for rocking curves | 0 | +| THETA_M | deg | Mono takeoff angle | 22.11 | +| R_pitch | deg | Angular pitch between the absorbing blades | .42 | +| R_ri | m | Inner radius of the collimator | 0.324 | +| R_ro | m | Outer radius of the collimator | 0.419 | +| R_h | m | Height of the collimator | 0.090 | +| R_ttmin | deg | Lower scattering angle limit | -130 | +| R_ttmax | deg | Higher scattering angle limit | -2 | +| R_present | 1 | Presence flag for the radial collimator. 0: inactivate component. | 1 | +| verbose | 1 | Print DIF configuration. 0 to be quiet | 1 | +| Inc_Cryo | 1 | Cryostat incoherent fraction | 0.02 | +| Trans_Cryo | 1 | Cryostat event transmission | 0.85 | +| Trans_Spl | 1 | Sample event transmission | 0.2 | +| Inc_Spl | 1 | Sample incoherent fraction | 0.05 | + +## Links + +- [Source code](ILL_H22_D1B_noenv.instr) for `ILL_H22_D1B_noenv.instr`. +- [Additional information](ILL_H22_D1B_noenv.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H22_VIVALDI/README.md b/mcstas-comps/examples/ILL/ILL_H22_VIVALDI/README.md new file mode 100644 index 0000000000..8e3e1f514f --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H22_VIVALDI/README.md @@ -0,0 +1,50 @@ +# The `ILL_H22_VIVALDI` Instrument + +*McStas: The VIVALDI Laue diffractometer on the H22 curved thermal guide at the ILL* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** June, 2008 + +## Description + +```text +VIVALDI (Very-Intense, Vertical-Axis Laue DIffractometer) provides a tool for +development of new diffraction experiments, and is complementary to other ILL +single-crystal diffractometers. Fields of interest for experiments on VIVALDI +include magnetism, charge density waves, high-pressure studies and structural +phase transitions. VIVALDI allows rapid preliminary investigation of new +materials, even when only small single crystals are available. The detector is +also suitable for some types of diffuse scattering experiments on a +monochromatic beam. + +VIVALDI is located at the end of the thermal guide H22. The full thermal +spectrum can be accepted without detrimental overlap of reflections for +primitive unit cells up to 25 Angs on edge. + +This model include a cryostat and container description, with a crystal sample. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | mean incident wavelength. | 3 | +| dlambda | AA | wavelength full width. | 2.2 | +| crystal | str | File name for crystal description (LAU) | "YBaCuO.lau" | +| container | str | File name for sample-container material description | "V.laz" | +| verbose | 1 | Print DIF configuration. 0 to be quiet | 1 | + +## Links + +- [Source code](ILL_H22_VIVALDI.instr) for `ILL_H22_VIVALDI.instr`. +- [Additional information](ILL_H22_VIVALDI.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H24/README.md b/mcstas-comps/examples/ILL/ILL_H24/README.md new file mode 100644 index 0000000000..fb0f56ae77 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H24/README.md @@ -0,0 +1,36 @@ +# The `ILL_H24` Instrument + +*McStas: The H24 curved thermal guide at the ILL* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** April 7, 2004 + +## Description + +```text +The H24 curved thermal guide at the ILL feeding IN3, IN13, D10 and S42/Orient Express +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| m | 1 | m-value of whole guide coating. 0 absorbing, 1 for Ni, 1.2 for Ni58, 2-4 for SM | 2 | +| lambda | AA | central wavelength | 4 | +| dlambda | AA | wavelength half width. Use e.g. 0.8*lambda for white beam. | 3.9 | +| mip | 1 | m-value of in-pile guide coating | 0 | + +## Links + +- [Source code](ILL_H24.instr) for `ILL_H24.instr`. +- [Additional information](ILL_H24.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H25/README.md b/mcstas-comps/examples/ILL/ILL_H25/README.md new file mode 100644 index 0000000000..9904c48438 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H25/README.md @@ -0,0 +1,36 @@ +# The `ILL_H25` Instrument + +*McStas: The H25 supermirror curved thermal guide at the ILL* + +## Identification + +- **Site:** ILL +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 2006 + +## Description + +```text +The H25 supermirror curved thermal guide at the ILL feeding S18, D23 and IN22 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| m | 1 | m-value of whole guide coating. 0 absorbing, 1 for Ni, 1.2 for Ni58, 2-4 for SM | 2 | +| lambda | AA | central wavelength | 4 | +| dlambda | AA | wavelength half width. Use e.g. 0.8*lambda for white beam. | 3.9 | +| mip | 1 | m-value of in-pile guide coating | 2 | + +## Links + +- [Source code](ILL_H25.instr) for `ILL_H25.instr`. +- [Additional information](ILL_H25.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H25_IN22/README.md b/mcstas-comps/examples/ILL/ILL_H25_IN22/README.md new file mode 100644 index 0000000000..b4a6656c98 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H25_IN22/README.md @@ -0,0 +1,57 @@ +# The `ILL_H25_IN22` Instrument + +*McStas: IN22 thermal triple-axis machine (TAS) on guide H25 with sample* + +## Identification + +- **Site:** ILL +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 2006 + +## Description + +```text +This instrument is a model of IN22@ILL with PG002 monochromator/analyzer, +installed at the end of the H25 supermirror thermal guide. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| m | 1 | m-value of guide coating (H14/H142) | 2 | +| KI | Angs-1 | central wavevector for incoming neutrons | 3.84 | +| QM | Angs-1 | wavevector transfer modulus at the sample | 1.0 | +| EN | meV | energy transfer at the sample | 0.0 | +| verbose | | toggle verbose mode | 1 | +| WM | m | Width of monochromator | 0.15 | +| HM | m | Height of monochromator | 0.12 | +| NHM | 1 | Number of vertical slabs composing the monochromator | 1 | +| NVM | 1 | Number of horizontal slabs composing the monochromator | 9 | +| RMV | m | Monochromator vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| WA | m | Width of analyzer | 0.20 | +| HA | m | Height of analyzer | 0.10 | +| NHA | 1 | Number of horizontal slabs composing the analyzer | 11 | +| NVA | 1 | Number of vertical slabs composing the analyzer | 3 | +| RAV | m | Analyzer vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| RAH | m | Analyzer horizontal curvature, 0 for flat, -1 for automatic setting | -1 | +| SM | 1:left, -1:right | Scattering sense of beam from Monochromator | -1 | +| SS | 1:left, -1:right | Scattering sense of beam from Sample | 1 | +| SA | 1:left, -1:right | Scattering sense of beam from Analyzer | -1 | +| L1 | m | Source-Monochromator distance. Contains 1st Collimator | 10.0 | +| L2 | m | Monochromator-Sample distance. Contains 2nd Collimator | 1.7 | +| L3 | m | Sample-Analyzer distance. Contains 3rd Collimator | 1.0 | +| L4 | m | Analyzer-detector distance. Contains 4th Collimator | 0.8 | + +## Links + +- [Source code](ILL_H25_IN22.instr) for `ILL_H25_IN22.instr`. +- [Additional information](ILL_H25_IN22.md) (only if available!) +- The IN22 TAS at the ILL + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H5/README.md b/mcstas-comps/examples/ILL/ILL_H5/README.md new file mode 100644 index 0000000000..b8e3376220 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H5/README.md @@ -0,0 +1,51 @@ +# The `ILL_H5` Instrument + +*McStas: The full H5 cold guide at the ILL, with IN14, D16, Super-Adam, IN15, D22 +This is the geometry before the major H5 guide hall upgrade (up to 2013).* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** May, 2011 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | | | 5 | +| dlambda | | | 4.5 | +| IN14_lambda | | | 4.2 | +| IN16_lambda | | | 6.3 | +| D16_lambda | | | 5.6 | +| SADAM_lambda | | | 4.4 | +| IN15_lambda | | | 6.5 | +| D22_lambda | | | 4.5 | +| D22_collimation | | | 2 | +| IN14_sample | | | "Rb_liq_coh.sqw" | +| IN16_sample | | | "Rb_liq_coh.sqw" | +| D16_sample | | | "H2O_liq.qSq" | +| SADAM_sample | | | "SiO2_quartza.laz" | +| D22_sample | | | "H2O_liq.qSq" | +| IN14_RMV | | | -1 | +| IN16_RMV | | | -1 | +| D16_RMV | | | -1 | +| SADAM_RMV | | | -1 | + +## Links + +- [Source code](ILL_H5.instr) for `ILL_H5.instr`. +- [Additional information](ILL_H5.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H512_D22/README.md b/mcstas-comps/examples/ILL/ILL_H512_D22/README.md new file mode 100644 index 0000000000..b2020e9e83 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H512_D22/README.md @@ -0,0 +1,41 @@ +# The `ILL_H512_D22` Instrument + +*McStas: The H512 cold guide at the ILL, with D22* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** May, 2011 + +## Description + +```text +This model describes the H512 cold guide at the ILL, with D22. + +The D22 Large dynamic range small-angle diffractometer +is fully simulated. A sample can be specified (liquid), +with monitoring of the scattering in angular (diffraction) and energy modes +(for spectroscopy). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | central wavelength band for guide illumination and D22 velocity selector setting wavelength | 4.5 | +| dlambda | Angs | half width of guide wavelength band | .45 | +| D22_collimation | | | 2 | +| D22_sample | string | D22 liquid/powder/amorphous sample | "H2O_liq.qSq" | + +## Links + +- [Source code](ILL_H512_D22.instr) for `ILL_H512_D22.instr`. +- [Additional information](ILL_H512_D22.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H53/README.md b/mcstas-comps/examples/ILL/ILL_H53/README.md new file mode 100644 index 0000000000..614c38e80a --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H53/README.md @@ -0,0 +1,36 @@ +# The `ILL_H53` Instrument + +*McStas: The H53 curved cold guide at the ILL* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** April 7, 2004 + +## Description + +```text +The H53 curved cold guide at the ILL feeding IN14, IN16, D16, ADAM, CRYO-EDM +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| m | 1 | m-value of whole guide coating. 0 absorbing, 1 for Ni, 1.2 for Ni58, 2-4 for SM | 1.2 | +| lambda | AA | central wavelength | 10 | +| dlambda | AA | wavelength half width. Use e.g. 0.8*lambda for white beam | 9.9 | +| mip | 1 | m-value of in-pile guide coating | 1.2 | + +## Links + +- [Source code](ILL_H53.instr) for `ILL_H53.instr`. +- [Additional information](ILL_H53.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H53_D16/README.md b/mcstas-comps/examples/ILL/ILL_H53_D16/README.md new file mode 100644 index 0000000000..fafe9333e0 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H53_D16/README.md @@ -0,0 +1,54 @@ +# The `ILL_H53_D16` Instrument + +*McStas: The D16 diffractometer/reflectometer on the H53 curved cold guide at the ILL* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** Oct 7, 2008 + +## Description + +```text +The H53 (120 x 60 mm2) curved cold guide feeds D16 (after IN14, and IN16). +D16 is a two-circle diffractometer. The primary white beam is reflected by a +focussing pyrolytic graphite monochromator (122 x 60 mm2 with mosaicity 0.7 +deg) providing an important flux at the sample. The monochromator housing has +two beam holes at take-off angles of 90 deg and 115 deg, corresponding to 4.7 +Angs and 5.6 Angs beams and incorporates the slit systems. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Wavelength at monochromator, computed from DM and THETA_M if left as 0. | 4.7 | +| DM | Angs | d-spacing of monochromator, computed from lambda and THETA_M if left as 0. | 3.355 | +| dlambda | AA | wavelength half width. | 0.05 | +| Powder | str | File name for powder description. | "Na2Ca3Al2F14.laz" | +| RV | m | Monochromator vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| L1 | m | Guide-Monochromator distance | 0.1 | +| L2 | m | Monochromator-Sample distance | 2.8 | +| L3 | m | Sample-Detector distance | 1.0 | +| THETA_M | deg | Monochromator take-off angle, computed from lambda and DM if left as 0. | 44.46 | +| TwoTheta | deg | Detector rotation (in plane) | 0 | +| RadiusDet | m | Detector entrance window radius | 0.36 | +| DetEthick | m | Detector entrance window thickness | .01 | +| DetEgap | m | Detector entrance window gap to flat detector inner window | 0.08 | +| DetVthick | m | Detector active volume thickness | 5e-3 | +| verbose | 1 | Print DIF configuration. 0 to be quiet | 1 | +| TILT | deg | Monochromator additional tilt, for rocking curves | 0 | + +## Links + +- [Source code](ILL_H53_D16.instr) for `ILL_H53_D16.instr`. +- [Additional information](ILL_H53_D16.md) (only if available!) +- The D16 diffractometer at the ILL + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H53_IN14/README.md b/mcstas-comps/examples/ILL/ILL_H53_IN14/README.md new file mode 100644 index 0000000000..e34f99d9cd --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H53_IN14/README.md @@ -0,0 +1,72 @@ +# The `ILL_H53_IN14` Instrument + +*McStas: IN14 cold triple-axis machine (TAS) on guide H53 with sample* + +## Identification + +- **Site:** ILL +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 2006 + +## Description + +```text +IN14 is a high flux cold neutron three-axis spectrometer situated on a straight +58Ni coated guide looking at the horizontal cold source. IN14 is equipped with +a vertically curved (002) pyrolytic graphite monochromator. A polarising bender +can be inserted after the monochromator, for polarised neutron work. + +The sample, analyser and detector units are mounted on standard Tanzboden +modules and the distance between these units may be changed if necessary. For +sample positioning, two motorized arcs (+/- 20deg), and two horizontal +translation tables (+/- 10 mm) are available. Soller collimators can be easily +inserted before and after the sample, and before the detector. + +Three horizontally focusing analysers are available: (002) pyrolytic graphite, +bent Si(111), and Heusler (111) for polarised neutrons. + +In this TAS configuration, PG002 is used as monochromator analyser, +with a single type detector. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| KI | Angs-1 | central wavevector for incoming neutrons | 1.55 | +| QM | Angs-1 | wavevector transfer modulus at the sample | 1.0 | +| EN | meV | energy transfer at the sample | 0.0 | +| verbose | | toggle verbose mode | 1 | +| WM | m | Width of monochromator | 0.15 | +| HM | m | Height of monochromator | 0.12 | +| NHM | 1 | Number of vertical slabs composing the monochromator | 1 | +| NVM | 1 | Number of horizontal slabs composing the monochromator | 9 | +| RMV | m | Monochromator vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| DM | | | 3.355 | +| WA | m | Width of analyzer | 0.20 | +| HA | m | Height of analyzer | 0.10 | +| NHA | 1 | Number of horizontal slabs composing the analyzer | 11 | +| NVA | 1 | Number of vertical slabs composing the analyzer | 1 | +| RAV | m | Analyzer vertical curvature, 0 for flat, -1 for automatic setting | 0 | +| RAH | m | Analyzer horizontal curvature, 0 for flat, -1 for automatic setting | -1 | +| DA | AA | Analyzer lattice spacing | 3.355 | +| SM | 1:left, -1:right | Scattering sense of beam from Monochromator | 1 | +| SS | 1:left, -1:right | Scattering sense of beam from Sample | -1 | +| SA | 1:left, -1:right | Scattering sense of beam from Analyzer | 1 | +| L1 | m | Source-Monochromator distance. Contains 1st Collimator | 7.0 | +| L2 | m | Monochromator-Sample distance. Contains 2nd Collimator | 2.12 | +| L3 | m | Sample-Analyzer distance. Contains 3rd Collimator | 1.37 | +| L4 | m | Analyzer-detector distance. Contains 4th Collimator | 0.7 | + +## Links + +- [Source code](ILL_H53_IN14.instr) for `ILL_H53_IN14.instr`. +- [Additional information](ILL_H53_IN14.md) (only if available!) +- The IN14 TAS at the ILL + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H5_new/README.md b/mcstas-comps/examples/ILL/ILL_H5_new/README.md new file mode 100644 index 0000000000..39b8f1f904 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H5_new/README.md @@ -0,0 +1,76 @@ +# The `ILL_H5_new` Instrument + +*McStas: The full H5 new cold guide at the ILL, with ThALES, D16, Super-Adam, IN15 +(sample only), D22WASP and CryoEDM +This is a proposed geometry for major H5 guide hall upgrade (since 2013). +The exact adopted H5 geometry may be actually different.* + +## Identification + +- **Site:** ILL +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** May, 2011 + +## Description + +```text +This model decribes the full new H5 cold guide at the ILL, with ThALES, WASP, D16, +Super-Adam, IN15, D22. + +H511:The IN15 Spin-echo spectrometer +is simulated with an incoming polarized beam, but not with a full spin-echo +description. Sample is Vanadium +H512:The D22 Large dynamic range small-angle diffractometer +is fully simulated +H521:The D16 Small momentum transfer diffractometer D16 is realistic +H521:The SuperADAM reflectometer is used in low angle diffraction mode. +H522: The WASP Spin-echo spectrometer +is simulated with an incoming polarized beam, but not with a full spin-echo +description. Sample is Vanadium +H523:The CryoEDM with its polarized beam +H53: The ThALES Cold neutron three-axis spectrometer IN14 + +For each instrument, a sample can be specified (liquid/powder/amorphous), +with monitoring of the scattering in angular (diffraction) and energy modes +(for spectroscopy). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | | central wavelength band for guide illumination [Angs] | 5 | +| dlambda | | half width of guide wavelength band [Angs] | 4.5 | +| ThALES_lambda | | ThALES monochromator setting wavelength. Usual 2.4 and 4.2 [Angs] | 4.2 | +| WASP_lambda | | IN16 monochromator setting wavelength. Usual 3.3 and 6.3 [Angs] | 6.3 | +| D16_lambda | | D16 monochromator setting wavelength. Usual 4.7 and 5.6 [Angs] | 5.6 | +| SADAM_lambda | | SuperADAM monochromator setting wavelength. Usual 4.4 [Angs] | 4.4 | +| IN15_lambda | | IN15 velocity selector setting wavelength [Angs] | 6.5 | +| D22_lambda | | D22 velocity selector setting wavelength [Angs] | 4.5 | +| D22_collimation | | D22 collimation length and sample-detector distance [m] | 2 | +| ThALES_sample | | ThALES liquid/powder/amorphous sample [string] | "Rb_liq_coh.sqw" | +| WASP_sample | | | "Rb_liq_coh.sqw" | +| D16_sample | | D16 liquid/powder/amorphous sample [string] | "H2O_liq.qSq" | +| SADAM_sample | | SuperADAM liquid/powder/amorphous sample [string] | "SiO2_quartza.laz" | +| D22_sample | | D22 liquid/powder/amorphous sample [string] | "H2O_liq.qSq" | +| ThALES_RMV | | | -1 | +| D16_RMV | | | -1 | +| SADAM_RMV | | | -1 | +| ThALES_RMH | | | -1 | + +## Links + +- [Source code](ILL_H5_new.instr) for `ILL_H5_new.instr`. +- [Additional information](ILL_H5_new.md) (only if available!) +- The NoteDPT11 at the ILL +- The DPT/SMAE 11/070 WASP design report +- The DPT/SMAE 10/271 H5 design report +- Daily notes from K. Andersen about the H5 project +- Mirotron drawing MR-0656-000 for the IN15 V-mirror geometry + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_H8_IN1/README.md b/mcstas-comps/examples/ILL/ILL_H8_IN1/README.md new file mode 100644 index 0000000000..9b1965b689 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_H8_IN1/README.md @@ -0,0 +1,88 @@ +# The `ILL_H8_IN1` Instrument + +*McStas: Hot neutron three-axis spectrometer IN1@ILL* + +## Identification + +- **Site:** ILL +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 2006 + +## Description + +```text +IN8 is installed on beamtube H10 (diameter F = 200 mm). + +IN1 works in a time-sharing mode. This means that the same monochromator is +also used by the Be-filter spectrometer IN1-BeF and by the liquids +diffractometer D4. Changing over between the three different instruments can be +done without difficulty in about two hours. + +The monochromator unit carries three different vertically focussing +monochromators built from copper single crystals (available reflecting planes +Cu(200), Cu(220) and Cu(331)). The exchange of the monochromator planes is +controlled by the instrument computer. The radius of curvature can be +automatically adjusted as function of reflected energy in order to maintain +maximal flux at the sample position in the course of energy scans. The +scattering angles on the monochromator cover a range of 10<2theta_m <90 +allowing for scanning neutron energies from 13 meV to more than 1 eV.. + +The IN1-TAS spectrometer: the scattering angles at the sample and the analyser +can be changed in the intervals -115<2theta_S<115 and -120<2theta_S<120. Three +different analysers (PG(002), Cu(200), Cu(220)) can be installed in order to +optimise intensity and resolution for a given experiment. Various resonance +absorption filters (e.g. Er, Sm, Hf ...) can be used to suppress higher order +contaminations from the incident beam or in the scattered beam. An oriented +Pyrolytic Graphite filter is designed for experiments eventually demanding +thermal neutron energy range. + +In this TAS configuration, Cu220 are used as monochromator and analyser, +with a single type detector. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| KF | Angs-1 | Outgoing neutron wavevector | 10 | +| KI | Angs-1 | Incoming neutron wavevector | 0 | +| QM | Angs-1 | Wavevector transfer in crystal | 0.5 | +| EN | meV | Energy transfer in crystal | 0 | +| verbose | 1 | print TAS configuration. 0 to be quiet | 1 | +| WM | m | Width of monochromator | 0.18 | +| HM | m | Height of monochromator | 0.20 | +| RMH | m | Monochromator horizontal curvature, 0 for flat, -1 for automatic setting | -1 | +| RMV | m | Monochromator vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| DM | Angs | Monochromator d-spacing | 1.278 | +| NHM | 1 | Number of horizontal slabs composing the monochromator | 15 | +| NVM | 1 | Number of vertical slabs composing the monochromator | 15 | +| WA | m | Width of analyzer | 0.16 | +| HA | m | Height of analyzer | 0.12 | +| RAH | m | Analyzer horizontal curvature, 0 for flat, -1 for automatic setting | -1 | +| RAV | m | Analyzer vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| DA | Angs | Analyzer d-spacing | 1.278 | +| NHA | 1 | Number of horizontal slabs composing the analyzer | 15 | +| NVA | 1 | Number of vertical slabs composing the analyzer | 15 | +| L1 | m | Source-Monochromator distance. Contains 1st Collimator of length 5.34 | 7 | +| ALF1 | arc min | Horizontal collimation from Source to Monochromator | 120 | +| ALF2 | arc min | Horizontal collimation from Monochromator to Sample A | 120 | +| ALF3 | arc min | Horizontal collimation from Sample to Analyzer | 120 | +| ALF4 | arc min | Horizontal collimation from Analyzer to Detector | 120 | +| BET1 | arc min | Vertical collimation from Source to Monochromator | 120 | +| BET2 | arc min | Vertical collimation from Monochromator to Sample A | 120 | +| BET3 | arc min | Vertical collimation from Sample to Analyzer | 120 | +| BET4 | arc min | Vertical collimation from Analyzer to Detector | 120 | + +## Links + +- [Source code](ILL_H8_IN1.instr) for `ILL_H8_IN1.instr`. +- [Additional information](ILL_H8_IN1.md) (only if available!) +- Rescal for Matlab at http://www.ill.eu/instruments-support/computing-for-science/cs-software/all-software/matlab-ill/ +- Restrax at http://omega.ujf.cas.cz/restrax/ + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_IN13/README.md b/mcstas-comps/examples/ILL/ILL_IN13/README.md new file mode 100644 index 0000000000..1f6c8806ae --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_IN13/README.md @@ -0,0 +1,93 @@ +# The `ILL_IN13` Instrument + +*McStas: IN13 Thermal neutron backscattering spectrometer (without guide)* + +## Identification + +- **Site:** ILL +- **Author:** E. Farhi and A. Dennison +- **Origin:** ILL +- **Date:** March 25, 2015 + +## Description + +```text +IN13 Thermal neutron backscattering spectrometer (without guide) + +Because of its high energy resolution and high momentum transfer the +backscattering spectrometer IN13 is particularly useful for the microscopic +study of single particle motions (jump reorientation, rotational and +translational diffusion, tunnelling) observed by incoherent neutron scattering. + +The high energy resolution of the order of a few μeV together with the +availability of high momentum transfer (Q<4.9 Å-1) makes the spectrometer IN13 +particularly useful for the microscopic study of single particle motions (jump +reorientation, rotational and translational diffusion, tunnelling) observed by +incoherent neutron scattering. The instrument partly fills the gap of (Q, ω) +space between IN10 and IN5. + +Temperature gradient monochromator +The monochromator and analyser CaF2(422) crystals are oriented in near +backscattering geometry thereby achieving an energy resolution of a few μeV. The +energy of the incident neutrons is scanned by variation of the temperature of +the monochromator at a fixed Bragg-angle. In an optional mode the 10 mm thick +monochromator crystals are kept at a fixed temperature gradient and energy +variation is performed by scanning the monochromator Bragg-angle. This achieves +an increased flux at the sample position and slightly increases the energy +resolution width. + +A vertically curved Graphite deflector focusses the beam onto +the sample. The scattered neutrons are energy analysed by a set of seven +spherically curved composite crystal analysers, each covering a large solid +angle of 0.18 sr. An additional three circular analysers centred around the +transmitted beam cover the small-angle region. + +The neutron time-of-flight is used to suppress (i) the background of neutrons +scattered directly from the sample into the detectors and (ii) second order +contamination. The neutrons are counted with a cylindrical multidetector +consisting of 35 3He detector tubes, arranged in staggered circular rows. The +small Q range from 0.2 to 0.8 Å-1 is covered by a 3He Position Sensitive +Detector (PSD) arranged to see the circular analysers in exact backscattering. + +Monochromator: CaF2(422) +temperature range: -125 < ΔE/µeV < 150 +angular range: 81° < θM < 89° +incident energy: 16.45 meV (TM≥25°C) +incident wavelength: 2.23 Å +energy resolution: 8 µeV + +Deflector: PG(002) + +Sample: here incoherent elastic scatterer (Vanadium) +sample size 3.5 x 3.5 cm2 +flux at sample 2e4 n cm-2 s-1 (when fed from H24, NOT in this model) + +Analyser: CaF2(422) +Q-range: 0.2 < Q/Å-1 < 4.9 +Q-resolution: ΔQ/Å-1 < 0.1 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| RMV | m | monochromator vertical curvature. Use 0=flat, -1=auto. | 0 | +| RDV | m | deflector vertical curvature. Use 0=flat, -1=auto. | 4.6 | +| RDH | m | deflector horizontal curvature. Use 0=flat, -1=auto. | 0 | +| TM | K | monochromator temperature, from 77 to 500 K | 301 | +| LMD | m | monochromator-deflector distance | 1.8 | +| mos_ana | arcmin | analyser mosaic | 2 | +| CaF2mos | arcmin | monochromator mosaic | 10 | +| gW | | | 0.030 | + +## Links + +- [Source code](ILL_IN13.instr) for `ILL_IN13.instr`. +- [Additional information](ILL_IN13.md) (only if available!) +- The IN3 TAS at the ILL + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_IN4/README.md b/mcstas-comps/examples/ILL/ILL_IN4/README.md new file mode 100644 index 0000000000..90e9066355 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_IN4/README.md @@ -0,0 +1,94 @@ +# The `ILL_IN4` Instrument + +*McStas: The IN4 thermal Time-of-Flight spectrometer at the ILL (H12 tube).* + +## Identification + +- **Site:** ILL +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** March 5th 2015. + +## Description + +```text +IN4C is a high-flux time-of-flight spectrometer used for the study of excitations +in condensed matter. It works in the thermal neutron energy range (10-100 meV). + +Primary spectrometer + +The main components of the beam conditioning part are the two background +choppers, the double curvature mono-chromator with four faces and the Fermi +chopper. The background choppers are rapidly pulsating beam shutters which act +as a low-pass filter. Thus they eliminate from the beam most of the fast +neutrons and gamma rays that would give background noise in the spectra. The +modular shielding encloses the background choppers in separate compartments in +order to cut off these undesired neutrons as early as possible. A suitable +energy is selected from the thermal neutron spectrum with the crystal +monochromator. The monochromator, an assembly of 55 crystal pieces, +concentrates the divergent incident beam onto a small area at the sample +position. The full use of the available solid angle gives a high incident +flux. The vertical curvature is fixed, and the horizontal +variable curvature of the monochromator is essential in controlling +the time and space focussing conditions for optimal performance (see H. Mutka, +Nucl. Instr. and Meth. A 338 (1994) 144). The Fermi chopper rotates at speeds +of up to 40000 rpm. It transmits short neutron pulses (10 ... 50 µs) to the +sample. The time-of-flight of neutrons between the chopper and the sample (1 +... 5 ms) can be measured by using precise electronic circuitry. +A sapphire (Al2O3) filter can be inserted in the beam to remove the fast neutrons +background. + +Monochromators: +PG 002 DM=3.355 AA (Highly Oriented Pyrolythic Graphite) +PG 004 DM=1.677 AA (used for lambda=1.1) +PG 006 DM=1.118 AA +Cu 220 DM=1.278 AA +Cu 111 DM=2.095 AA +Take-off: 39-65 deg +flux at sample: 5e5 n/s/cm2 (at 1.1 Angs) + +Secondary spectrometer + +The sample environment is designed to accommodate standard +cryostats and furnaces. A radial collimator around the sample position is used +to cut the scattering from the sample environment. The secondary flight-path +is in vacuum to avoid parasitic scattering of the transmitted neutrons. The +detector bank covers scattering angles of up to 120°. In addition to the 3He +detector tubes (length 300 mm, width 30 mm, elliptical section, pressure 6 +bar) a 3He filled multidetector (eight sectors with 12 radial cells each; +outer diameter Phi 60 cm) will allow us to observe forward scattering. The +time-of-flight spectra measured at various angles are further treated in order +to obtain the scattering function S(Q,w) using e.g. LAMP. + +In this model, the sample is a cylindrical liquid/powder/glass scatterer +surrounded by a container and an Al cryostat. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | wavelength | 2.2 | +| dlambda | Angs | wavelength HALF spread at source | 0.1 | +| DM | Angs | monochromator d-spacing | 3.355 | +| ETAM | arcmin | monochromator mosaic FWHM | 35 | +| RMH | m | Monochromator horizontal curvature. Use -1 for auto. | -1 | +| ratio | 1 | Disk Chopper ratio (nu=nu_FC/ratio) | 4 | +| dE | meV | Inelastic energy for time focusing | 0 | +| Sapphire_present | 1 | Flag, when 1 the Al2O3 filter is active | 1 | +| sample_coh | str | Sample coherent dynamic structure factor (.sqw) or NULL | "Dirac2D.sqw" | +| sample_inc | str | Sample incoherent dynamic structure factor (.sqw) or NULL | "NULL" | +| order | 1 | The number of multiple orders at the monochromator | 1 | + +## Links + +- [Source code](ILL_IN4.instr) for `ILL_IN4.instr`. +- [Additional information](ILL_IN4.md) (only if available!) +- H. Mutka, Nucl. Instr. and Meth. A 338 (1994) 144 +- http://www.ill.eu/fr/instruments-support/instruments-groups/instruments/in4c + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_IN5/README.md b/mcstas-comps/examples/ILL/ILL_IN5/README.md new file mode 100644 index 0000000000..6b5a4bf135 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_IN5/README.md @@ -0,0 +1,47 @@ +# The `ILL_IN5` Instrument + +*McStas: The IN5B instrument: chopper system + sample + PSD and tof detector* + +## Identification + +- **Site:** ILL +- **Author:** E. Farhi, J. Ollivier, Celia Castan Guerrero +- **Origin:** ILL +- **Date:** Jan 2004-2009 + +## Description + +```text +The IN5@ILL TOF spectrometer from chopper system to final detector, with sample. +The detector model includes Fe housing and tube cross talk absorbing masks +with angle restriction (neutrons that scatter in Fe in front of a tube and +enter a different tube are absorbed). This model does not include the H16 guide. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | mean incident wavelength | 4.5 | +| dlambda | AA | wavelength half width. | 0.05 | +| speed | rpm | chopper speed (60*frequency) | 8500 | +| ratio | 1 | velocity of chopper3 = velocity of chopper1 * ratio | 0.5 | +| housing | string | material used as detector housing. Use 0 or NULL for none. | "Fe.laz" | +| coh | string | sample coherent data file or NULL. Use powder LAZ/LAU or SQW file. | "Y3Fe5O12_YIG.laz" | +| inc | string | sample incoherent Sqw data file or NULL | "NULL" | +| thickness | m | thickness of sample. 0=filled | 0 | +| height | m | height of sample. 0=sphere | 0.025 | +| radius | m | radius of sample (outer). | 0.005 | +| order | 1 | order for scattering in sample. O=all, 1=single | 0 | + +## Links + +- [Source code](ILL_IN5.instr) for `ILL_IN5.instr`. +- [Additional information](ILL_IN5.md) (only if available!) +- The IN5@ILL cold time of flight instrument + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_IN5_Spots/README.md b/mcstas-comps/examples/ILL/ILL_IN5_Spots/README.md new file mode 100644 index 0000000000..78d87db7f5 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_IN5_Spots/README.md @@ -0,0 +1,53 @@ +# The `ILL_IN5_Spots` Instrument + +*McStas: The IN5B instrument: chopper system + sample + PSD and tof detector, with special resolution options. +In this version equipped with the Spot_sample from SNS, useful for resolution considerations.* + +## Identification + +- **Site:** ILL +- **Author:** E. Farhi, J. Ollivier, Celia Castan Guerrero, edits by P. Willendrup +- **Origin:** ILL +- **Date:** September 2018 + +## Description + +```text +The IN5@ILL TOF spectrometer from chopper system to final detector, with sample. +The detector model includes Fe housing and tube cross talk absorbing masks +with angle restriction (neutrons that scatter in Fe in front of a tube and +enter a different tube are absorbed). This model does not include the H16 guide. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | mean incident wavelength | 4.5 | +| dlambda | AA | wavelength half width. | 0.05 | +| speed | rpm | chopper speed (60*frequency) | 8500 | +| ratio | 1 | velocity of chopper3 = velocity of chopper1 * ratio | 0.5 | +| housing | string | material used as detector housing. Use 0 or NULL for none. | "Fe.laz" | +| coh | string | sample coherent data file or NULL. Use powder LAZ/LAU or SQW file. | "Y3Fe5O12_YIG.laz" | +| inc | string | sample incoherent Sqw data file or NULL | "NULL" | +| thickness | m | thickness of sample. 0=filled | 0 | +| height | m | height of sample. 0=sphere | 0.025 | +| radius | m | radius of sample (outer). | 0.005 | +| order | 1 | order for scattering in sample. O=all, 1=single | 0 | +| wspot | meV | energy of dirac resolution spots | 1 | +| ttspot | deg | direction of dirac resolution spots | 45 | +| nspots | 1 | number of direc resolution spots | 0 | +| RESO | 1 | flag to indicate constant Q-e dirac grid ala IN4 model | 1 | +| RECALC | 1 | flag to indicate if RESO table needs to be re-caclulated | 0 | + +## Links + +- [Source code](ILL_IN5_Spots.instr) for `ILL_IN5_Spots.instr`. +- [Additional information](ILL_IN5_Spots.md) (only if available!) +- The IN5@ILL cold time of flight instrument + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_IN6/README.md b/mcstas-comps/examples/ILL/ILL_IN6/README.md new file mode 100644 index 0000000000..4929ee1a5b --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_IN6/README.md @@ -0,0 +1,81 @@ +# The `ILL_IN6` Instrument + +*McStas: The IN6 Time-of-Flight simulation at the ILL (instrument only).* + +## Identification + +- **Site:** ILL +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 17th Jan 2005. + +## Description + +```text +IN6 is a time focussing time-of-flight spectrometer designed for quasielastic and +inelastic scattering for incident wavelengths in the range of 4 to 6 Angs. + +An intense beam is extracted from the H15 guide by a vertically focussing +monochromator array. It consists of three composite pyrolytic graphite +monochromators using the full height (20 cm) of the guide and focussing the beam +at the sample position. In order to minimise the interference with the +subsequent instruments, the monochromator can deliver only four wavelengths: +4.1; 4.6; 5.1; and 5.9 Angs. The second order reflection from the graphite +monochromator is removed by a beryllium-filter cooled at liquid nitrogen +temperature. +To achieve the time-focussing condition, the beam is pulsed by a Fermi chopper. +It has a small slot length to ensure a good transmission. The normal distance +between the Fermi chopper and the sample is 38 cm. To prevent frame-overlap when +the chopper is rotating faster than 7500 rpm, a suppressor chopper is placed +before the Fermi chopper and rotates in phase with the latter. + +The secondary spectrometer consists first of an evacuated sample area. The +detector bank is entirely covered with detector boxes, thus avoiding the +inconvenience of moving the counters. + +This instrument model contains a cold source a triple monochromator +(using the GROUP), two Fermi Choppers (including one background chopper), a +liquid sample handling coherent and incoherent processes (elastic and inelastic) +with multiple scattering, customized monitors, and the SPLIT mechanism to +improve the statistics. The H15 guide is not described in this model. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | wavelength within 4.14\|4.6\|5.12\|5.92 | 4.14 | +| dlambda | Angs | wavelength HALF spread. default is 0.075 | 0.075 | +| SPEED | rpm | Fermi chopper speed. -1=auto, 0=stopped in open pos. | -1 | +| M1 | coder values | monochromator motor 1 position. -1=auto | -1 | +| M2 | coder values | monochromator motor 2 positinn. -1=auto | -1 | +| M3 | coder values | monochromator motor 3 position. -1=auto | -1 | +| MONITOR | something like time in s | monitor preset | 1 | +| CHA_WIDTH | us | channel width. -1=auto | -1 | +| TOF_DELAY | us | TOF delay. -1=auto | -1 | +| TOF_CHA_RESOL | 1 | number of channels. | 128 | +| ELPEAK | 1 | elastic peak channel. -1=auto | -1 | +| RATIO | 1 | Suppressor speed ratio. -1=no suppressor. | 1 | +| mFC | 1 | super mirror FermiChopper coating m-value | 0 | +| PHASE | deg | Fermi phase w/r/ to Suppressor. -360=auto | -360 | +| Sqw_coh | str | sample coherent S(q,w) file name | "Rb_liq_coh.sqw" | +| Sqw_inc | str | sample incoherent S(q,w) file name | "Rb_liq_inc.sqw" | +| radius | m | outer radius of sample hollow cylinder | 0.01 | +| thickness | m | thickness of sample hollow cylinder | 0.005 | + +## Links + +- [Source code](ILL_IN6.instr) for `ILL_IN6.instr`. +- [Additional information](ILL_IN6.md) (only if available!) +- The IN6@ILL Yellow Pages +- R.Scherm et al, "Another Time of Flight Spectrometer", ILL Report 76S235, 1976 +- R.Scherm, "A high-resolution spectrometer ...", report Jul-295-NP, Kernforschungsanlage Julich, 1965 +- Y.Blanc, "Le spectrometre a temps de vol IN6", ILL Report 83BL21G, 1983 +- K.H.Beckurts et al, Neutron physics, Kernforschungsanlage Karlsruhe, 1964 (p317) +- R.Scherm and T.Springer, "Proposal of a multiple Chopper...", Kernforschungsanlage Julich, 19xx + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_Lagrange/README.md b/mcstas-comps/examples/ILL/ILL_Lagrange/README.md new file mode 100644 index 0000000000..28fcb55a94 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_Lagrange/README.md @@ -0,0 +1,57 @@ +# The `ILL_Lagrange` Instrument + +*McStas: IN1-Lagrange hot neutrons spectrometer for liquids at the ILL.* + +## Identification + +- **Site:** ILL +- **Author:** E. Farhi +- **Origin:** LLB/ILL +- **Date:** 13 Apr 2006 + +## Description + +```text +IN1-Lagrange hot neutrons spectrometer for liquids at the ILL. + +The dedicated liquid and amorphous instrument Lagrange is a spectrometer with +constant final neutron energy, and variable incoming neutron energy. +The analyser is a focusing barrel covered with PG analyser, all focusing to +the detector. The flux is thus very high, and the resolution is that given +buy the PG crystal mocaicity. + +The monochromator take-off angle is 2Theta_M ~ 20-25 deg, variable. The available +monochromators are all vertically focusing, Cu (200) for 0.7 Angs, Cu (220) +for 0.5 Angs. + +Cu 002 DM=1.807 AA +Cu 220 DM=1.278 AA +PG 002 DM=3.355 AA +-------------------------- +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Wavelength at monochromator | 0.897 | +| DM | Angs | d-spacing of monochromator | 1.807 | +| RV | m | Monochromator vertical curvature, 0=flat, -1=automatic | -1 | +| coh | str | File name for sample coherent scattering contribution | "Rb_liq_coh.sqw" | +| inc | str | File name for sample incoherent scattering contribution | "Rb_liq_inc.sqw" | +| L1 | m | Source-Monochromator distance | 6.35 | +| L2 | m | Monochromator-Sample distance | 2.55 | +| L3 | m | Sample-Detector distance | 0.901 | +| verbose | 1 | Print spectrometer configuration. 0 to be quiet | 1 | + +## Links + +- [Source code](ILL_Lagrange.instr) for `ILL_Lagrange.instr`. +- [Additional information](ILL_Lagrange.md) (only if available!) +- The D4 diffractometer at the ILL + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ILL/ILL_SALSA/README.md b/mcstas-comps/examples/ILL/ILL_SALSA/README.md new file mode 100644 index 0000000000..1a5384e931 --- /dev/null +++ b/mcstas-comps/examples/ILL/ILL_SALSA/README.md @@ -0,0 +1,64 @@ +# The `ILL_SALSA` Instrument + +*McStas: ILL_SALSA instrument* + +## Identification + +- **Site:** ILL +- **Author:** Daniel Lomholt Christensen +- **Origin:** ILL, Grenoble, France +- **Date:** 14:28:08 on January 23, 2024 + +## Description + +```text +ESCRIPTION +SALSA is a instrument developed mainly for measuring residual stress +in a gauge volume defined by its collimators. +The instrument has three possible collimator positions, with three available collimators at each position. +This allows the gauge volumed to be defined in height, width and depth. +The size of the gauge volume is chosen in the collimator parameters. The following values correspond to sizes +in a dictionary format. +The vertical collimator {0: 2mm, 1: 4mm, 2: 10mm} +The horizontal collimator {0: 0.6mm, 1: 2mm, 2: 4mm} +The depth collimator {0: 0.6mm, 1: 2mm, 2: 4mm} + +The instument showcases the Monochromator_bent component, +and the focusing use of the Collimator_radial component. + +Some of the monitors used in this instrument are not actually present in the real instrument. +The only detector that is actually there, is the final monitor. +Furthermore the sample environment is of course variable depending on the sample +in question. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda_mean | Å | Desired wavelength of neutrons coming off of the monochromator. | 1.66795 | +| lambda_spread | Å | Range over which the neutrons are produced. lambda_mean +- lambda_spread. | 0.0224372 | +| m | 1 | m-value of whole guide coating. 0 absorbing, 1 for Ni, 1.2 for Ni58, 2-4 for SM | 2 | +| mip | 1 | m-value of in-pile guide coating | 2 | +| monochromator_horizontal_radius | m | Radius of the horizontal cylinder the monochromator is bent on. | 2.6 | +| takeoff_angle | deg | Takeoff angle of the instrument | 75.8 | +| mono_rotation | deg | Rotation of monochromator in the horizontal plane. Omega angle in SALSA | 37.9 | +| lamellas | 1 | Number of lamellas in the monochromator array | 16 | +| monochromator_slabs | 1 | Number of slabs of lamellas placed on top of each other in the monochromator array | 39 | +| vertical_mono_radius | m | Radius of the cylinder the monochromator is bent on vertically | 2.2 | +| vertical_focus | mm | Choice of collimator focus in mm. Choose either 2, 4, or 10. | 2 | +| horizontal_focus | mm | Choice of collimator focus in mm. Choose either 0.6, 2, or 4. | 0.6 | +| outgoing_focus | mm | Choice of collimator focus in mm. Choose either 0.6, 2, or 4. | 0.6 | +| measuring_angle | deg | Angle between the outgoing collimator and sample. Rotates in the negative direction of revolution. I.E with the clock. | 50 | +| Debug | | | 0 | + +## Links + +- [Source code](ILL_SALSA.instr) for `ILL_SALSA.instr`. +- [Additional information](ILL_SALSA.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ISIS/ISIS_CRISP/README.md b/mcstas-comps/examples/ISIS/ISIS_CRISP/README.md new file mode 100644 index 0000000000..746006fd98 --- /dev/null +++ b/mcstas-comps/examples/ISIS/ISIS_CRISP/README.md @@ -0,0 +1,44 @@ +# The `ISIS_CRISP` Instrument + +*McStas: Model of the ISIS CRISP reflectometer, including the Multilayer_Sample reflectivity sample.* + +## Identification + +- **Site:** ISIS +- **Author:** Robert Dalgliesh +- **Origin:** ISIS (UK) +- **Date:** 2010 + +## Description + +```text +This model of the ISIS CRISP reflectometer demonstrates the use of the Multilayer_Sample component. + +The algorithm of the component requires complex numbers, facilitated by the +GNU Scientific Library (GSL). To link +your the instrument with an installed GSL, you should use MCSTAS_CFLAGS like + +MCSTAS_CFLAGS = -g -O2 -lm -lgsl -lgslcblas +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| glen | | | 1.4 | +| flen | | | 0.4 | +| w1 | | | 0.05 | +| vm | | | 3.0 | +| FRAC | | | 0 | +| sampleconf | | | 0 | + +## Links + +- [Source code](ISIS_CRISP.instr) for `ISIS_CRISP.instr`. +- [Additional information](ISIS_CRISP.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ISIS/ISIS_GEM/README.md b/mcstas-comps/examples/ISIS/ISIS_GEM/README.md new file mode 100644 index 0000000000..ea7ff0daea --- /dev/null +++ b/mcstas-comps/examples/ISIS/ISIS_GEM/README.md @@ -0,0 +1,44 @@ +# The `ISIS_GEM` Instrument + +*McStas: McStas instrument for simulating the GEM diffractometer at ISIS TS1.* + +## Identification + +- **Site:** ISIS +- **Author:** E. Farhi, G. Cuello, M. Tucker +- **Origin:** ISIS +- **Date:** September 20, 2006 + +## Description + +```text +McStas instrument for simulating GEM at ISIS TS1. +The sample is a powder. The detector is simplified as a banana shaped one. + +The General Materials Diffractometer is a new generation neutron diffractometer +recently constructed at the ISIS pulsed neutron source. GEM can be used to +perform high intensity, high resolution experiments to study the structure of +disordered materials and crystalline powders. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| l_min | AA | Minimum wavelength produced at source | 0.1 | +| l_max | AA | Maximum wavelength produced at source | 4.2 | +| dist | m | Sample-detector distance (detector radius) | 1.3795 | +| sample | string | Reflection list for powder sample | "Y2O3.laz" | + +## Links + +- [Source code](ISIS_GEM.instr) for `ISIS_GEM.instr`. +- [Additional information](ISIS_GEM.md) (only if available!) +- The ESS Instrument workshops website. +- The GEM instrument at ISIS + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ISIS/ISIS_HET/README.md b/mcstas-comps/examples/ISIS/ISIS_HET/README.md new file mode 100644 index 0000000000..0b277fe301 --- /dev/null +++ b/mcstas-comps/examples/ISIS/ISIS_HET/README.md @@ -0,0 +1,40 @@ +# The `ISIS_HET` Instrument + +*McStas: HET: High Energy Transfer Chopper Spectrometer* + +## Identification + +- **Site:** ISIS +- **Author:** Dickon Champion +- **Origin:** ISIS (UK) +- **Date:** 22nd Jan 2004. + +## Description + +```text +This instrument is a simple model of the HET spectrometer at the ISIS neutron +facility. The input arguments are hardwired so that the Fermi chopper position +is 10 metres from the moderator. This instrument uses the FC module written by +Andrew Garret which comes with no guarantees as to its accuracy in modelling the +Fermi Chopper. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Emin | meV | lowest energy sampled | 443.0 | +| Emax | meV | highest energy sampled | 470.0 | +| nu_chop | Hz | frequency of chopper rotation | 600.0 | +| type | | chopper package - sloppy chopper = 1, B chopper = 2 | 2 | + +## Links + +- [Source code](ISIS_HET.instr) for `ISIS_HET.instr`. +- [Additional information](ISIS_HET.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ISIS/ISIS_IMAT/README.md b/mcstas-comps/examples/ISIS/ISIS_IMAT/README.md new file mode 100644 index 0000000000..0349aa321c --- /dev/null +++ b/mcstas-comps/examples/ISIS/ISIS_IMAT/README.md @@ -0,0 +1,48 @@ +# The `ISIS_IMAT` Instrument + +*McStas: IMAT: McStas instrument file of the imaging and diffraction parts of the IMAT instrument.* + +## Identification + +- **Site:** ISIS +- **Author:** Genoveva Burca (Genoveva.Burca@stfc.ac.uk) +- **Origin:** ISIS +- **Date:** October 2017 + +## Description + +```text +McStas instrument for simulating the IMAT - imaging and diffraction +New McStas moderator file (G. Skoro, ISIS Facility) was added +\\ISIS\Shares\NeutronicsTeam\TS-2\HydroMod_Upgrade\McStas_TS2_HydroMod_Base_newVirtMod_350mm\Let_Base.mcstas +Components positions were extracted from IMAT final design (March 2016) +Choppers were not added to this model +Diffraction detectors are + +IMPORTANT NOTES: +1. For reference use G. Burca et al., Modelling of an imaging beamline at the ISIS pulsed neutron source, +Journal of Instrumentation, 8 (2013), no 10, http://dx.doi.org/10.1088/1748-0221/8/10/P10001 +2. Results from calculations published in the previous paper were obtained using McStas ISIS_moderator component (Face="W5") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| l_min | AA | Low wavelength sampled. | 1 | +| l_max | AA | High wavelength sampled. | 10 | +| t_min | t | Low detector time limit. | 0 | +| t_max | t | High detector time limit. | 0.2 | +| theta | deg | Angle that the detector banks are set at. | 90 | + +## Links + +- [Source code](ISIS_IMAT.instr) for `ISIS_IMAT.instr`. +- [Additional information](ISIS_IMAT.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ISIS/ISIS_LET/README.md b/mcstas-comps/examples/ISIS/ISIS_LET/README.md new file mode 100644 index 0000000000..167f1f535b --- /dev/null +++ b/mcstas-comps/examples/ISIS/ISIS_LET/README.md @@ -0,0 +1,44 @@ +# The `ISIS_LET` Instrument + +*McStas: LET instrument on ISIS TS2 + +Instrument: ISIS_LET* + +## Identification + +- **Site:** ISIS +- **Author:** Ross Stewart +- **Origin:** ISIS +- **Date:** September 2025 + +## Description + +```text +This is a simulation of LET on ISIS TS2. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ei | meV | Centre energy for moderator | 3.7 | +| dE | | Multiplier for energy spread: Emin = Ei/dE, Emax = Ei*dE | 1.1 | +| Ch3_speed | Hz | Chopper 3 frequency | 100 | +| Ch5_speed | Hz | Chopper 5 frequency | 200 | +| Ch2_phase | mus | Chopper 2 phase setting | 95000 | +| pha_offset | mus | Offset in time for moderator focus | 80e-6 | +| res | string | "HF" - High Flux, "HR" - High Resolution, "I" - Intermediate | "HF" | +| snout | string | "in" or "out" | "out" | +| monitors_on | 1 | Flag to enable/disable TOF monitors in primary optics | 0 | +| movable_monitors | 1 | Flag to enable/disable PSDs and Div monitors in primary optics | 0 | + +## Links + +- [Source code](ISIS_LET.instr) for `ISIS_LET.instr`. +- [Additional information](ISIS_LET.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ISIS/ISIS_MERLIN/README.md b/mcstas-comps/examples/ISIS/ISIS_MERLIN/README.md new file mode 100644 index 0000000000..86809868e0 --- /dev/null +++ b/mcstas-comps/examples/ISIS/ISIS_MERLIN/README.md @@ -0,0 +1,49 @@ +# The `ISIS_MERLIN` Instrument + +*McStas: MERLIN: High count rate, medium energy resolution, direct geometry chopper spectrometer.* + +## Identification + +- **Site:** ISIS +- **Author:** Rob Bewley +- **Origin:** ISIS (UK) +- **Date:** May 2017. + +## Description + +```text +Merlin has been in user operation since 2008. It was designed to be a high intensity, medium energy +resolution spectrometer that would complement the high-resolution MAPS spectrometer, and replace +the HET spectrometer. Merlin's design exploited recent advances in technology with a supermirror +guide to enhance flux, as well as 3 m long position-sensitive detectors in a vacuum, making it +ideal for the study of single crystals. The detector bank covers a massive \pi steradians of solid +angle with an angular range from -45 to 135 degrees in the horizontal plane, and \pm 30 degrees in +the vertical plane. This allows large swathes of Q,\omega space to be accessed in a single run. + +Since 2014, Merlin has been running in event mode, and by using the new Gd chopper combined with a +disk chopper, it is able to run in repetition-rate multiplication (RRM) mode, allowing users to +simultaneously measure with several incident energies. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E_min | meV | lowest energy sampled [meV] | 1.0 | +| E_max | meV | highest energy sampled [meV] | 2000.0 | +| m | float | m value of guides | 3.0 | +| E_foc | meV | energy selected by chopper [meV] | 80.0 | +| nu_hz | Hz | frequency of chopper rotation [Hz] | 200.0 | +| type | int | chopper package selected sloppy chopper = 1, B chopper = 2, Gd chopper = 3 | 3 | + +## Links + +- [Source code](ISIS_MERLIN.instr) for `ISIS_MERLIN.instr`. +- [Additional information](ISIS_MERLIN.md) (only if available!) +- http://www.isis.stfc.ac.uk/instruments/merlin + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ISIS/ISIS_OSIRIS/README.md b/mcstas-comps/examples/ISIS/ISIS_OSIRIS/README.md new file mode 100644 index 0000000000..27f8d9626c --- /dev/null +++ b/mcstas-comps/examples/ISIS/ISIS_OSIRIS/README.md @@ -0,0 +1,46 @@ +# The `ISIS_OSIRIS` Instrument + +*McStas: A simulation of the indirect TOF geometry part of the OSIRIS instrument.* + +## Identification + +- **Site:** ISIS +- **Author:** Peter Christiansen with input from Mark Telling, updates by P Willendrup +- **Origin:** DTU Fysik, RISOE and ISIS +- **Date:** November 2015 + +## Description + +```text +If LAMBDA = 0, the choppers are disabled, else the choppers are +centered to chop around this wavelength and the source is studied in the +interval LAMBDA +- DLAMBDA. + +IMPORTANT NOTES: + +1) Monchromator is not realistic in the sense that it does NOT +smear the beam out according to the mosaicity, only does the N=1 +reflection, and the d-spread is handled in a simple way + +2) The instrument is not validated or certified by ISIS. Is only put in +McStas for completeness. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| LAMBDA | AA | Mean wavelength at source | 6.66 | +| DLAMBDA | AA | Wavelength spread at source | 0.1 | +| GUIDEREFLECTIVITY | 1 | R0-reflectivity of guide | 1.0 | + +## Links + +- [Source code](ISIS_OSIRIS.instr) for `ISIS_OSIRIS.instr`. +- [Additional information](ISIS_OSIRIS.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ISIS/ISIS_Prisma2/README.md b/mcstas-comps/examples/ISIS/ISIS_Prisma2/README.md new file mode 100644 index 0000000000..daa53dd1f0 --- /dev/null +++ b/mcstas-comps/examples/ISIS/ISIS_Prisma2/README.md @@ -0,0 +1,51 @@ +# The `ISIS_Prisma2` Instrument + +*McStas: Simple simulation of PRISMA2 with RITA-style analyser backend.* + +## Identification + +- **Site:** ISIS +- **Author:** Kristian Nielsen and Mark Hagen +- **Origin:** ISIS/Risoe +- **Date:** August 1998. + +## Description + +```text +Demonstrates how the standard components from the component library +may be easily modified for special purposes; in this case to have +the individual analyser blades paint a "color" on the neutrons to +differentiate them in the detector. + +Output is in the file "prisma2.tof". The format is ASCII; each +line consists of the time-of-flight in microseconds followed by seven +intensities of neutrons from each individual analyser blade. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| TT | deg | Take-off angle at the sample position, aka A4 | -30 | +| PHA | deg | Analyzer group rotation angle, aka A5 | 22 | +| PHA1 | deg | Analyzer 1 tilt angle | -3 | +| PHA2 | deg | Analyzer 2 tilt angle | -2 | +| PHA3 | deg | Analyzer 3 tilt angle | -1 | +| PHA4 | deg | Analyzer 4 tilt angle | 0 | +| PHA5 | deg | Analyzer 5 tilt angle | 1 | +| PHA6 | deg | Analyzer 6 tilt angle | 2 | +| PHA7 | deg | Analyzer 7 tilt angle | 3 | +| TTA | deg | Take-off angle at the analyzer position, aka A6 | 4 | + +## Links + +- [Source code](ISIS_Prisma2.instr) for `ISIS_Prisma2.instr`. +- [Additional information](ISIS_Prisma2.md) (only if available!) +- The McStas User manual +- PRISMA + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ISIS/ISIS_SANS2d/README.md b/mcstas-comps/examples/ISIS/ISIS_SANS2d/README.md new file mode 100644 index 0000000000..06b8a756a7 --- /dev/null +++ b/mcstas-comps/examples/ISIS/ISIS_SANS2d/README.md @@ -0,0 +1,55 @@ +# The `ISIS_SANS2d` Instrument + +*McStas: This instrument models the ISIS TS2 SANS2d instrument.* + +## Identification + +- **Site:** ISIS +- **Author:** Richard Heenan with edits by Peter Willendrup +- **Origin:** ISIS, DTU Fysik +- **Date:** 2014 + +## Description + +```text +This instrument models the ISIS TS2 SANS2d instrument up to the sample position. + +From the author: +

IMPORTANT: The instrument model does not currently include a correct moderator description +- and the results it produces have not been validated against experimental results. +

The actual bender is continuously curved, here use straight segments approx.with gravity. +1/7/10 L1=4m increased gap between bender exit and S1 slit from .247 to .286m +At 4m we actually use 1.75 to 16.5 angstrom. +

Note "2m guides" are actually 1.985m long (new ones will be 1.981m) so "real gaps" are included below, losses are pro-rata the gap/guide lengths. +

Both rear & front detectors are 980mm square and offset 150 above beam (would only use 100mm with hindsight) +

Rear detector can be offset -300mm or +269mm sideways. +

Front detector is closest at approx 1.4m, furthest at approx((read det position) - 1.6m) , offset up to -1200mm sideways +there are 2 baffles between front & rear detector +

NIMROD (W5) spectrum might better than SANS2d (E2) spectrum for liquid H2 face incurent use. +Stu Ansell's McStas spectra for TS-2 actually have no angle variation included. +In reality spectra and backgrounds will vary, fast background is likely much higher on ZOOM(E1) than SANS2d (E2) +

RKH 2014 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| L1 | m | Variable distance from 1st to 2nd variable slit | 3.926 | +| A1w | m | Width of first collimation slit, rectangular slit | 0.030 | +| A1h | m | Height of first collimation slit, rectangular slit | 0.02 | +| S6 | m | Radius of slit S6 (last of the optis slits) | 0.006 | +| A2 | m | Radius of second collimation slit, circular slit | 0.006 | +| Lmin | AA | Minimum wavelength to produce at the source | 1 | +| Lmax | AA | Maximum wavelength to produce at the source | 14 | + +## Links + +- [Source code](ISIS_SANS2d.instr) for `ISIS_SANS2d.instr`. +- [Additional information](ISIS_SANS2d.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ISIS/ISIS_TOSCA_preupgrade/README.md b/mcstas-comps/examples/ISIS/ISIS_TOSCA_preupgrade/README.md new file mode 100644 index 0000000000..321686d7f3 --- /dev/null +++ b/mcstas-comps/examples/ISIS/ISIS_TOSCA_preupgrade/README.md @@ -0,0 +1,50 @@ +# The `ISIS_TOSCA_preupgrade` Instrument + +*McStas: TOSCA (pre-upgrade) at ISIS* + +## Identification + +- **Site:** ISIS +- **Author:** Peter Willendrup (DTU/ESS), Sanghamitra Mukhopadhyay (ISIS STFC) +- **Origin:** DTU/ESS/ISIS +- **Date:** September 2018 + +## Description + +```text +The model at hand is adapted from an earlier model by M.Zanetti and represents the +TOSCA instrument as it looked prior to the recent upgrade. The model at hand was +adapted during the MDANSE2018 workshop (http://mdanse2018.essworkshop.org) and by +default uses a model of the incoherent scattering from Benzene, created using +CASTEP (http://www.castep.org ) and converted to Sqw format iFit (http://ifit.mcode.org) + +The model is naturally very challenging to run because of the indirect TOF geometry +and would benefit from an adaptive sampling approach. + +Please use the version with name ISIS_TOSCA_preupgrade_Mantid to generate Mantid-oriented +output. + +Example: ISIS_TOSCA_preupgrade.instr inc=Benzene_inc_CASTEP_MDANSE2018.sqw -n1e7 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| inc | filename | Incoherent scattering model to use | "Benzene_inc_CASTEP_MDANSE2018.sqw" | +| zdepth | m | Thickness of sample | 0.002 | +| Emin | meV | Minimum energy to generate at the source | 0.01 | +| Emax | meV | Maximum energy to generate at the source | 500 | + +## Links + +- [Source code](ISIS_TOSCA_preupgrade.instr) for `ISIS_TOSCA_preupgrade.instr`. +- [Additional information](ISIS_TOSCA_preupgrade.md) (only if available!) +- TOSCA instrument webpage +- MDANSE 2018 school webpage + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ISIS/ISIS_TS1_Brilliance/README.md b/mcstas-comps/examples/ISIS/ISIS_TS1_Brilliance/README.md new file mode 100644 index 0000000000..47a119ece7 --- /dev/null +++ b/mcstas-comps/examples/ISIS/ISIS_TS1_Brilliance/README.md @@ -0,0 +1,37 @@ +# The `ISIS_TS1_Brilliance` Instrument + +*McStas: This instrument produces brilliance curves from the ISIS TS1 facility.* + +## Identification + +- **Site:** ISIS +- **Author:** Peter Willendrup +- **Origin:** DTU Fysik +- **Date:** 20130425 + +## Description + +```text +This instrument produces brilliance curves from the ISIS TS1 facility. + +The Brilliance_monitor is used to determine both the mean and peak brilliances, plus pulse-shapes for different wavelengths. + +Example: ISIS_brilliance Detector: Brillmon_I=3.80e+15 (First detector output) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| modfile | string | Name of moderator face - TS1=water, ch4, h2, merlin or instrument name eg maps, crisp etc. | "ch4" | + +## Links + +- [Source code](ISIS_TS1_Brilliance.instr) for `ISIS_TS1_Brilliance.instr`. +- [Additional information](ISIS_TS1_Brilliance.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ISIS/ISIS_TS2_Brilliance/README.md b/mcstas-comps/examples/ISIS/ISIS_TS2_Brilliance/README.md new file mode 100644 index 0000000000..ef0ba82dec --- /dev/null +++ b/mcstas-comps/examples/ISIS/ISIS_TS2_Brilliance/README.md @@ -0,0 +1,37 @@ +# The `ISIS_TS2_Brilliance` Instrument + +*McStas: This instrument produces brilliance curves from the ISIS TS2 facility.* + +## Identification + +- **Site:** ISIS +- **Author:** Peter Willendrup +- **Origin:** DTU Fysik +- **Date:** 20130425 + +## Description + +```text +This instrument produces brilliance curves from the ISIS TS2 facility. + +The Brilliance_monitor is used to determine both the mean and peak brilliances, plus pulse-shapes for different wavelengths. + +Example: ISIS_brilliance Detector: Brillmon_I=3.80e+15 (First detector output) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| modfile | string | Name of moderator face - TS2=groove,hydrogen,narrow,broad - - TS1=Water,ch4,h2,merlin or instrument name eg maps, crisp etc. | "hydrogen" | + +## Links + +- [Source code](ISIS_TS2_Brilliance.instr) for `ISIS_TS2_Brilliance.instr`. +- [Additional information](ISIS_TS2_Brilliance.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ISIS/ISIS_test/README.md b/mcstas-comps/examples/ISIS/ISIS_test/README.md new file mode 100644 index 0000000000..ff44a9737f --- /dev/null +++ b/mcstas-comps/examples/ISIS/ISIS_test/README.md @@ -0,0 +1,35 @@ +# The `ISIS_test` Instrument + +*McStas: Simple test instrument for the ISIS_moderator component* + +## Identification + +- **Site:** ISIS +- **Author:** Dickon Champion +- **Origin:** ISIS +- **Date:** Aug 2004 + +## Description + +```text +Simple test instrument for the ISIS_moderator component. +Refer to the documentation in MCSTAS/contrib/doc/ISISdoc.pdf (.ps) +for further instructions on using the ISIS_moderator component +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](ISIS_test.instr) for `ISIS_test.instr`. +- [Additional information](ISIS_test.md) (only if available!) +- Written by D. Champion ISIS, Feb 2004 + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/ISIS/ViewModISIStest/README.md b/mcstas-comps/examples/ISIS/ViewModISIStest/README.md new file mode 100644 index 0000000000..d45aa73b31 --- /dev/null +++ b/mcstas-comps/examples/ISIS/ViewModISIStest/README.md @@ -0,0 +1,36 @@ +# The `ViewModISIS_test` Instrument + +*McStas: Simple test instrument for the ISIS_moderator component* + +## Identification + +- **Site:** ISIS +- **Author:** Dickon Champion +- **Origin:** ISIS +- **Date:** Aug 2004 + +## Description + +```text +Simple test instrument for the ISIS_moderator component. +Refer to the documentation in MCSTAS/contrib/doc/ISISdoc.pdf (.ps) +for further instructions on using the ISIS_moderator component +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dummy | | Dummy input parameter | 1 | + +## Links + +- [Source code](ViewModISIStest.instr) for `ViewModISIStest.instr`. +- [Additional information](ViewModISIStest.md) (only if available!) +- Written by D. Champion ISIS, Feb 2004 + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/LLB/LLB_6T2/README.md b/mcstas-comps/examples/LLB/LLB_6T2/README.md new file mode 100644 index 0000000000..36dbbcd51d --- /dev/null +++ b/mcstas-comps/examples/LLB/LLB_6T2/README.md @@ -0,0 +1,45 @@ +# The `LLB_6T2` Instrument + +*McStas: The 6T2 thermal single crystal diffractometer at the LLB.* + +## Identification + +- **Site:** LLB +- **Author:** Xavier Fabrèges +- **Origin:** LLB (France) +- **Date:** November 5th 2015. + +## Description + +```text +6T2 is a high flux thermal single crystal diffractometer dedicated to the study of +complex magnetic structures in condensed matter. Two monochromators are available. +It works at 0.9 and 2.4AA without polarization and at 1.4AA with incident polarization +(optional FeCo supermirror) and polarization analysis (P//z). + +Monochromators: +PG 002 DM=3.355 AA (Highly Oriented Pyrolythic Graphite) +Cu 220 DM=1.278 AA +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | wavelength | 1.0 | +| phi | Deg | sample rotation along the vertical axis | 0 | +| gamma | Deg | in plane detector position | 0 | +| nu | Deg | out of plane detector position | 0 | +| monok | 1 | monochromator to use (0: PG, 1: Cu, 5: test mode) | 0 | +| samp_f | str | LAU file describing sample | "C60.lau" | + +## Links + +- [Source code](LLB_6T2.instr) for `LLB_6T2.instr`. +- [Additional information](LLB_6T2.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Mantid/ILL_H16_IN5_Mantid/README.md b/mcstas-comps/examples/Mantid/ILL_H16_IN5_Mantid/README.md new file mode 100644 index 0000000000..fd1def33c3 --- /dev/null +++ b/mcstas-comps/examples/Mantid/ILL_H16_IN5_Mantid/README.md @@ -0,0 +1,57 @@ +# The `ILL_H16_IN5_Mantid` Instrument + +*McStas: The full ILL IN5B ToF spectrometer adapted for use with Mantid-friendly NeXus output.* + +## Identification + +- **Site:** Mantid +- **Author:** E. Farhi, J. Ollivier, Celia Castan Guerrero +- **Origin:** Mantid +- **Date:** Jan 2004-2009 + +## Description + +```text +The full ILL IN5B: H16 guide & chopper system + sample + PSD and tof detector, adapted for +use with Mantid-friendly NeXus output. To compile and run, use these steps: + +

    +
  1. Compile the instrument with NeXus support - zero neutrons: +
      +
    • export MCSTAS_CFLAGS="-g -lm -O2 -DUSE_NEXUS -lNeXus" +
    • mcrun -c -n0 --format=NeXus ILL_H16_IN5_Mantid.instr --no-output-files +
    +
  2. Generate the IDF in XML format using the (Perl) mcdisplay tool: +
      +
    • mcdisplay ILL_H16_IN5_Mantid.instr -n0 --format=Mantid +
    +
  3. Run a simulation with NeXus output +
      +
    • mcrun ILL_H16_IN5_Mantid.instr --format=NeXus +
    +
+ +The IN5@ILL TOF spectrometer from cold source to final detector, with sample. +The detector model includes Fe housing and tube cross talk absorbing masks +with angle restriction (neutrons that scatter in Fe in front of a tube and +enter a different tube are absorbed). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | mean incident wavelength | 4.5 | +| dlambda | AA | wavelength half width. Use e.g. 0.8*lambda for white beam. | 0.09 | + +## Links + +- [Source code](ILL_H16_IN5_Mantid.instr) for `ILL_H16_IN5_Mantid.instr`. +- [Additional information](ILL_H16_IN5_Mantid.md) (only if available!) +- The IN5@ILL cold time of flight instrument + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Mantid/ILL_H16_Mantid/README.md b/mcstas-comps/examples/Mantid/ILL_H16_Mantid/README.md new file mode 100644 index 0000000000..f063fdaf7e --- /dev/null +++ b/mcstas-comps/examples/Mantid/ILL_H16_Mantid/README.md @@ -0,0 +1,38 @@ +# The `ILL_H16_Mantid` Instrument + +*McStas: The ILL H16 cold guide (feeding IN5) for use with mantid* + +## Identification + +- **Site:** Mantid +- **Author:** E. Farhi, J. Ollivier, Celia Castan Guerrero +- **Origin:** ILL +- **Date:** Jan 2004-2009 + +## Description + +```text +The H16@ILL curved guide sending cold neutrons from the VCS to IN5, adapted for +use with Mantid-friendly NeXus output. (See ILL_H16_IN5_Mantid or ILL_IN5_Mantid for details.) + +Example: m=1 Detector: GuideOut_Phic_I=1.85e+10 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | mean incident wavelength. | 10 | +| dlambda | AA | wavelength half width. Use e.g. 0.8*lambda for white beam. | 9.9 | +| m | 1 | m-value of whole guide coating. 0 absorbing, 1 for Ni, 1.2 for Ni58, 2-4 for SM | 1 | + +## Links + +- [Source code](ILL_H16_Mantid.instr) for `ILL_H16_Mantid.instr`. +- [Additional information](ILL_H16_Mantid.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Mantid/ILL_IN5_Mantid/README.md b/mcstas-comps/examples/Mantid/ILL_IN5_Mantid/README.md new file mode 100644 index 0000000000..dee11d6185 --- /dev/null +++ b/mcstas-comps/examples/Mantid/ILL_IN5_Mantid/README.md @@ -0,0 +1,48 @@ +# The `ILL_IN5_Mantid` Instrument + +*McStas: The IN5B instrument: chopper system + sample + PSD and tof detector, adapted for +use with Mantid-friendly NeXus output.* + +## Identification + +- **Site:** Mantid +- **Author:** E. Farhi, J. Ollivier, Celia Castan Guerrero +- **Origin:** ILL +- **Date:** Jan 2004-2009 + +## Description + +```text +The ILL IN5@ILL TOF spectrometer from chopper system to final detector, with sample. +The detector model includes Fe housing and tube cross talk absorbing masks +with angle restriction (neutrons that scatter in Fe in front of a tube and +enter a different tube are absorbed). This model does not include the H16 guide. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | mean incident wavelength | 4.5 | +| dlambda | AA | wavelength half width. | 0.05 | +| speed | rpm | chopper speed (60*frequency) | 8500 | +| ratio | 1 | velocity of chopper3 = velocity of chopper1 * ratio | 0.5 | +| housing | string | material used as detector housing. Use 0 or NULL for none. | "Fe.laz" | +| coh | string | sample coherent data file or NULL. Use powder LAZ/LAU or SQW file. | "Y3Fe5O12_YIG.laz" | +| inc | string | sample incoherent Sqw data file or NULL | "NULL" | +| thickness | m | thickness of sample. 0=filled | 0 | +| height | m | height of sample. 0=sphere | 0.025 | +| radius | m | radius of sample (outer). | 0.005 | +| order | 1 | order for scattering in sample. O=all, 1=single | 0 | + +## Links + +- [Source code](ILL_IN5_Mantid.instr) for `ILL_IN5_Mantid.instr`. +- [Additional information](ILL_IN5_Mantid.md) (only if available!) +- The IN5@ILL cold time of flight instrument + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Mantid/ISIS_SANS2d_Mantid/README.md b/mcstas-comps/examples/Mantid/ISIS_SANS2d_Mantid/README.md new file mode 100644 index 0000000000..8069167989 --- /dev/null +++ b/mcstas-comps/examples/Mantid/ISIS_SANS2d_Mantid/README.md @@ -0,0 +1,56 @@ +# The `ISIS_SANS2d_Mantid` Instrument + +*McStas: This instrument models the ISIS TS2 SANS2d instrument.* + +## Identification + +- **Site:** Mantid +- **Author:** Richard Heenan with edits by Peter Willendrup +- **Origin:** ISIS, DTU Fysik +- **Date:** 2014 + +## Description + +```text +This instrument models the ISIS TS2 SANS2d instrument up to the sample position. + +From the author: +

IMPORTANT: The instrument model does not currently include a correct moderator description +- and the results it produces have not been validated against experimental results. +

The actual bender is continuously curved, here use straight segments approx.with gravity. +1/7/10 L1=4m increased gap between bender exit and S1 slit from .247 to .286m +At 4m we actually use 1.75 to 16.5 angstrom. +

Note "2m guides" are actually 1.985m long (new ones will be 1.981m) so "real gaps" are included below, losses are pro-rata the gap/guide lengths. +

Both rear & front detectors are 980mm square and offset 150 above beam (would only use 100mm with hindsight) +

Rear detector can be offset -300mm or +269mm sideways. +

Front detector is closest at approx 1.4m, furthest at approx((read det position) - 1.6m) , offset up to -1200mm sideways +there are 2 baffles between front & rear detector +

NIMROD (W5) spectrum might better than SANS2d (E2) spectrum for liquid H2 face incurent use. +Stu Ansell's McStas spectra for TS-2 actually have no angle variation included. +In reality spectra and backgrounds will vary, fast background is likely much higher on ZOOM(E1) than SANS2d (E2) +

RKH 2014 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| L1 | m | Variable distance from 1st to 2nd variable slit | 3.926 | +| A1w | m | Width of first collimation slit, rectangular slit | 0.030 | +| A1h | m | Height of first collimation slit, rectangular slit | 0.02 | +| S6 | m | Radius of slit S6 (last of the optis slits) | 0.006 | +| A2 | m | Radius of second collimation slit, circular slit | 0.006 | +| Lmin | AA | Minimum wavelength to produce at the source | 1 | +| Lmax | AA | Maximum wavelength to produce at the source | 14 | +| model_nr | | SANS_benchmark2 SANS sample nr. E.g. 5: sphere(r=50AA), 15: sphere(r=150AA) | 15.0 | + +## Links + +- [Source code](ISIS_SANS2d_Mantid.instr) for `ISIS_SANS2d_Mantid.instr`. +- [Additional information](ISIS_SANS2d_Mantid.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Mantid/ISIS_TOSCA_preupgrade_Mantid/README.md b/mcstas-comps/examples/Mantid/ISIS_TOSCA_preupgrade_Mantid/README.md new file mode 100644 index 0000000000..afe27b7c15 --- /dev/null +++ b/mcstas-comps/examples/Mantid/ISIS_TOSCA_preupgrade_Mantid/README.md @@ -0,0 +1,56 @@ +# The `ISIS_TOSCA_preupgrade_Mantid` Instrument + +*McStas: TOSCA (pre-upgrade) at ISIS with Mantid support.* + +## Identification + +- **Site:** Mantid +- **Author:** Peter Willendrup (DTU/ESS), Sanghamitra Mukhopadhyay (ISIS STFC) +- **Origin:** DTU/ESS/ISIS +- **Date:** September 2018 + +## Description + +```text +The model at hand is adapted from an earlier model by M.Zanetti and represents the +TOSCA instrument as it looked prior to the recent upgrade. The model at hand was +adapted during the MDANSE2018 workshop (http://mdanse2018.essworkshop.org) and by +default uses a model of the incoherent scattering from Benzene, created using +CASTEP (http://www.castep.org ) and converted to Sqw format iFit (http://ifit.mcode.org) + +The model is naturally very challenging to run because of the indirect TOF geometry +and would benefit from an adaptive sampling approach. + +Please follow instructions at https://github.com/mccode-dev/McCode/wiki/McStas-and-Mantid +to compile with NeXus and generate a Mantid-IDF before attempting to use with Mantid. + +To generate the right flightpath length in Mantid, this version of the instrument has +been created with transmitting rather than reflecting analysers, and the detectors are hence +also positioned differently than in the physical instrument. + +Example: ISIS_TOSCA_preupgrade_Mantid.instr inc=Benzene_inc_CASTEP_MDANSE2018.sqw eventmode=1 Detector: Sphere_I=0.686792 +Example: ISIS_TOSCA_preupgrade_Mantid.instr inc=Benzene_inc_CASTEP_MDANSE2018.sqw eventmode=1 --format=NeXus Detector: Sphere_I=0.686792 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| inc | filename | Incoherent scattering model to use | "Benzene_inc_CASTEP_MDANSE2018.sqw" | +| zdepth | m | Thickness of sample | 0.002 | +| Emin | meV | Minimum energy to generate at the source | 0.01 | +| Emax | meV | Maximum energy to generate at the source | 500 | +| eventmode | boolean | Flag to enable event monitors | 0 | + +## Links + +- [Source code](ISIS_TOSCA_preupgrade_Mantid.instr) for `ISIS_TOSCA_preupgrade_Mantid.instr`. +- [Additional information](ISIS_TOSCA_preupgrade_Mantid.md) (only if available!) +- TOSCA instrument webpage +- MDANSE 2018 school webpage + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Mantid/SNS_ARCS_Mantid/README.md b/mcstas-comps/examples/Mantid/SNS_ARCS_Mantid/README.md new file mode 100644 index 0000000000..913463bf56 --- /dev/null +++ b/mcstas-comps/examples/Mantid/SNS_ARCS_Mantid/README.md @@ -0,0 +1,54 @@ +# The `SNS_ARCS_Mantid` Instrument + +*McStas: Model of the ARCS spectrometer from SNS with Mantid support.* + +## Identification + +- **Site:** Mantid +- **Author:** G. Granroth +- **Origin:** SNS +- **Date:** Nov 2014 + +## Description + +```text +When using this ARCS instrument model, please reference +

    +
  • Granroth, G. E. and Abernathy, D. L., "Performance Comparisons of Four Direct Geometry +Spectrometers Planned for Spallation Neutron Source", Proceedings of ICANS-XVI, 289 (2003). +
  • D. L. Abernathy, M. B. Stone, M. J. Loguillo, M. S. Lucas, O. Delaire, X.Tang, J. Y. Y. Lin, and +B. Fultz,"Design and operation of the wide angular-range chopper spectrometer ARCS at the +Spallation Neutron Source", Review of Scientific Instruments, 83 , 015114 (2012)
+``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | | | "source_sct521_bu_17_1.dat" | +| Fermi_nu | Hz | Frequency of the Fermi chopper | 420 | +| T0_nu | Hz | Frequency of the T0 chopper | 90 | +| nrad | m | Radius of the Fermi chopper blades | 0.58 | +| nchans | 1 | Number of channels in the Fermi chopper | 40 | +| Edes | meV | Desired/target energy | 50 | +| Et | meV | Energy transfer of the Spot_sample | 25 | +| ttheta | deg | Scattering angle of the Spot_sample | 25 | +| T0_off | | | 0 | +| sxmin | m | Sample slit horz min value | -0.04 | +| sxmax | m | Sample slit horz max value | 0.04 | +| symin | m | Sample slit vert min value | -0.04 | +| symax | m | Sample slit vert max value | 0.04 | +| run_num | 1 | Virtual source run number (unused at present) | 1 | + +## Links + +- [Source code](SNS_ARCS_Mantid.instr) for `SNS_ARCS_Mantid.instr`. +- [Additional information](SNS_ARCS_Mantid.md) (only if available!) +-
Granroth, G. E. and Abernathy, D. L., "Performance Comparisons of Four Direct Geometry Spectrometers Planned for Spallation Neutron Source", Proceedings of ICANS-XVI, 289 (2003). +-
D. L. Abernathy, M. B. Stone, M. J. Loguillo, M. S. Lucas, O. Delaire, X.Tang, J. Y. Y. Lin, and B. Fultz,"Design and operation of the wide angular-range chopper spectrometer ARCS at the Spallation Neutron Source", Review of Scientific Instruments, 83 , 015114 (2012) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Mantid/Tools_ONION/README.md b/mcstas-comps/examples/Mantid/Tools_ONION/README.md new file mode 100644 index 0000000000..49a484372d --- /dev/null +++ b/mcstas-comps/examples/Mantid/Tools_ONION/README.md @@ -0,0 +1,45 @@ +# The `Tools_ONION` Instrument + +*McStas: Test case for an layered detector shell instrument to provide quick overview of resolution per pixel.* + +## Identification + +- **Site:** Mantid +- **Author:** Thomas Huegle +- **Origin:** ORNL +- **Date:** July 2019 + +## Description + +```text +Test case for an layered detector shell instrument to provide quick overview of resolution per pixel. +Set up to be run in McStas -> Mantid mode, refer to manual for details on execution. +Simulates desired divergence by adjusting moderator size. +Considers only in-plane (xwidth) factors, sets yheight as 1 cm. +For an example on how to analyze the data, see the 'Onion_analyzerScript.py' available at +https://github.com/mccode-dev/McCode-contribution-support-docs/tree/master/McStas/2.6_Onion_tool_T_Huegle + +Acceptable statistics can be achieved by running the simulation with 1E7 neutrons (output file: ~400MB) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| divergence | degrees | angular divergence of neutrons reaching the sample | 0.4 | +| distance | m | distance between source and sample | 32 | +| filename | | | "source_sct521_bu_08_1.dat" | + +## Links + +- [Source code](Tools_ONION.instr) for `Tools_ONION.instr`. +- [Additional information](Tools_ONION.md) (only if available!) +- "Using an onion like neutron scattering instrument model to quickly optimize design parameters" +- T. Huegle, Nuclear Instruments and Methods in Physics Research Section A, 2019 +- Python script available at https://github.com/mccode-dev/McCode-contribution-support-docs/tree/master/McStas/2.6_Onion_tool_T_Huegle + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Mantid/templateSANS2_Mantid/README.md b/mcstas-comps/examples/Mantid/templateSANS2_Mantid/README.md new file mode 100644 index 0000000000..5eb95250fc --- /dev/null +++ b/mcstas-comps/examples/Mantid/templateSANS2_Mantid/README.md @@ -0,0 +1,40 @@ +# The `templateSANS2_Mantid` Instrument + +*McStas: Test instrument for the SANS_spheres2 component. No guide / velocity selector.* + +## Identification + +- **Site:** Mantid +- **Author:** Peter Willendrup, Wim G. Bouwman +- **Origin:** DTU +- **Date:** Dec 20190 + +## Description + +```text +Very simple test instrument for the SANS_spheres2 component, derived / simplified from +H. Frielinghaus SANS_benchmark2 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Mean wavelength of neutrons | 6 | +| dlambda | AA | Wavelength spread of neutrons | 0.05 | +| r | AA | Radius of scattering hard spheres | 150 | +| PHI | 1 | Particle volume fraction | 1e-3 | +| Delta_Rho | cm^-2 | Scattering length density | 6e10 | +| frac_dir | 1 | Fraction of statistics for direct beam | 0.03 | +| frac_inc | 1 | Fraction of statistics for incoherent scattering in scattered beam | 0.01 | + +## Links + +- [Source code](templateSANS2_Mantid.instr) for `templateSANS2_Mantid.instr`. +- [Additional information](templateSANS2_Mantid.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Mantid/templateSANS_Mantid/README.md b/mcstas-comps/examples/Mantid/templateSANS_Mantid/README.md new file mode 100644 index 0000000000..24bca486dc --- /dev/null +++ b/mcstas-comps/examples/Mantid/templateSANS_Mantid/README.md @@ -0,0 +1,46 @@ +# The `templateSANS_Mantid` Instrument + +*McStas: Test instrument for the Sans_spheres component. No guide / velocity selector +etc. Will be developed further at later time.* + +## Identification + +- **Site:** Mantid +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** 19th Dec 2003. + +## Description + +```text +Very simple test instrument for the Sans_spheres componen + +Modified to show a proof of concept method for storing a 'Mantid friendly' type of NeXus file. + +Needed steps: +1) Compile your instrument with NeXus library support +2) Generate an IDF using mcdisplay templateSANS_Mantid --format=Mantid -n0 +3) mcrun templateSANS_Mantid -n1e6 --format=NeXus +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Mean wavelength of neutrons | 6 | +| dlambda | AA | Wavelength spread of neutrons | 0.05 | +| r | AA | Radius of scattering hard spheres | 150 | +| PHI | 1 | Particle volume fraction | 1e-3 | +| Delta_Rho | fm/AA^3 | Excess scattering length density | 0.6 | +| sigma_abs | barns | Absorption cross section at 2200 m/s | 0.0 | + +## Links + +- [Source code](templateSANS_Mantid.instr) for `templateSANS_Mantid.instr`. +- [Additional information](templateSANS_Mantid.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Mantid/templateSasView_Mantid/README.md b/mcstas-comps/examples/Mantid/templateSasView_Mantid/README.md new file mode 100644 index 0000000000..2fac866194 --- /dev/null +++ b/mcstas-comps/examples/Mantid/templateSasView_Mantid/README.md @@ -0,0 +1,61 @@ +# The `templateSasView_Mantid` Instrument + +*McStas: Test instrument for the SasView_model component generating event data for Mantid. No guide / velocity selector +etc.* + +## Identification + +- **Site:** Mantid +- **Author:** Peter Willendrup and Torben Nielsen +- **Origin:** DTU, European Spallation Source ERIC +- **Date:** 25 Jan 2016 + +## Description + +```text +Very simple test instrument for the SasView_model component. + +Modified to show a proof of concept method for storing a 'Mantid friendly' type of NeXus file. + +Example: model_index=1 Ncount=1e6 par1=4 par2=1 par3=40 par4=20 par5=400 Detector: detector_I=5e6 +Example: model_index=3 Ncount=1e6 par1=220 par2=0.06 par3=40 par4=4 par5=1 Detector: detector_I=3.3e4 +Example: model_index=47 Ncount=1e6 par1=4 par2=2 par3=35 par4=75 par5=400 Detector: detector_I=2.5e6 + +Needed steps (McStas): +1) Compile your instrument with NeXus library and ISO c99 support +2) Generate an IDF using mcdisplay templateSANS_Mantid --format=Mantid -n0 +3) mcrun templateSasView_Mantid -n1e6 --format=NeXus + +Needed steps (Mantid): +a) Load McStas NeXus file +b) Run Mantid algorithm: 'ConvertUnits' using the 'wavelenth' and 'elastic' options +c) Run Mantid algorithm: 'Qxy' using the options 'MaxQxy=0.6', 'DeltaQ=0.003', 'SolidAngleWeighting=False' +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Mean wavelength of neutrons | 6 | +| dlambda | AA | Wavelength spread of neutrons | 0.05 | +| model_index | | SASmodels model index (see SasView_model.comp mcdoc page) | 47 | +| par1 | | Slot 1 in SASmodel parameter vector | 0 | +| par2 | | Slot 2 in SASmodel parameter vector | 0 | +| par3 | | Slot 3 in SASmodel parameter vector | 0 | +| par4 | | Slot 4 in SASmodel parameter vector | 0 | +| par5 | | Slot 5 in SASmodel parameter vector | 0 | +| par6 | | Slot 6 in SASmodel parameter vector | 0 | +| par7 | | Slot 7 in SASmodel parameter vector | 0 | +| par8 | | Slot 8 in SASmodel parameter vector | 0 | +| Ncount | | | 0 | + +## Links + +- [Source code](templateSasView_Mantid.instr) for `templateSasView_Mantid.instr`. +- [Additional information](templateSasView_Mantid.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Mantid/templateVanadiumMultipleScat_Mantid/README.md b/mcstas-comps/examples/Mantid/templateVanadiumMultipleScat_Mantid/README.md new file mode 100644 index 0000000000..ce0fbd49b5 --- /dev/null +++ b/mcstas-comps/examples/Mantid/templateVanadiumMultipleScat_Mantid/README.md @@ -0,0 +1,35 @@ +# The `templateVanadiumMultipleScat_Mantid` Instrument + +*McStas: Instrument demonstrating how to bring multiple scattering information from +a McStas simulation to Mantid (using NeXus output).* + +## Identification + +- **Site:** Mantid +- **Author:** Anders Markvardsen and Peter Willendrup +- **Origin:** ISIS +- **Date:** 201x + +## Description + +```text +Instrument demonstrating how to bring multiple scattering information from +a McStas simulation to Mantid (using NeXus output). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](templateVanadiumMultipleScat_Mantid.instr) for `templateVanadiumMultipleScat_Mantid.instr`. +- [Additional information](templateVanadiumMultipleScat_Mantid.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/NCrystal/NCrystal_example/README.md b/mcstas-comps/examples/NCrystal/NCrystal_example/README.md new file mode 100644 index 0000000000..b4875c939e --- /dev/null +++ b/mcstas-comps/examples/NCrystal/NCrystal_example/README.md @@ -0,0 +1,51 @@ +# The `NCrystal_example` Instrument + +*McStas: Example instrument for NCrystal_sample use* + +## Identification + +- **Site:** NCrystal +- **Author:** T. Kittelmann, X. X. Cai +- **Origin:** ESS +- **Date:** 2015 + +## Description + +```text +Steady-state source diffractometer with (Ge-511) monochromator and powder-sample via NCrystal + + +This file is originally part of NCrystal (see https://mctools.github.io/ncrystal/) + +Copyright 2015-2022 NCrystal developers + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sample_cfg | string | Material string for the sample. | "Y2O3_sg206_Yttrium_Oxide.ncmat;density=0.9x" | + +## Links + +- [Source code](NCrystal_example.instr) for `NCrystal_example.instr`. +- [Additional information](NCrystal_example.md) (only if available!) +- https://github.com/mctools/ncrystal/wiki/ + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/NCrystal/Union_NCrystal_example/README.md b/mcstas-comps/examples/NCrystal/Union_NCrystal_example/README.md new file mode 100644 index 0000000000..465a24b2ea --- /dev/null +++ b/mcstas-comps/examples/NCrystal/Union_NCrystal_example/README.md @@ -0,0 +1,36 @@ +# The `Union_NCrystal_example` Instrument + +*McStas: Example instrument for use of NCrystal in Union.* + +## Identification + +- **Site:** NCrystal +- **Author:** T. Kittelmann, X. X. Cai, Mads Bertelsen +- **Origin:** ESS +- **Date:** 2020 + +## Description + +```text +This instrument examplifies how NCrystal may be used in Union +constructions. It is adopted from NCrystal_example.instr where both +monochromator and samples are described via NCrystal_sample components. Here, +they are both described via Union components. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Union_NCrystal_example.instr) for `Union_NCrystal_example.instr`. +- [Additional information](Union_NCrystal_example.md) (only if available!) +- https://github.com/mctools/ncrystal/wiki/ + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/NCrystal/Union_NCrystal_mix_example/README.md b/mcstas-comps/examples/NCrystal/Union_NCrystal_mix_example/README.md new file mode 100644 index 0000000000..058cf0e493 --- /dev/null +++ b/mcstas-comps/examples/NCrystal/Union_NCrystal_mix_example/README.md @@ -0,0 +1,37 @@ +# The `Union_NCrystal_mix_example` Instrument + +*McStas: Example instrument for use of NCrystal_sample as well as NCrystal in Union* + +## Identification + +- **Site:** NCrystal +- **Author:** T. Kittelmann, X. X. Cai, Mads Bertelsen +- **Origin:** ESS +- **Date:** 2020 + +## Description + +```text +This instrument examplifies how NCrystal may be used in Union +constructions. It is adopted from NCrystal_example.instr where both +monochromator and samples are described via NCrystal_sample components. Here, +the monochromator is described via a Union components, but the sample is still +an NCrystal_sample component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Union_NCrystal_mix_example.instr) for `Union_NCrystal_mix_example.instr`. +- [Additional information](Union_NCrystal_mix_example.md) (only if available!) +- https://github.com/mctools/ncrystal/wiki/ + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Necsa/SAFARI_MPISI/README.md b/mcstas-comps/examples/Necsa/SAFARI_MPISI/README.md new file mode 100644 index 0000000000..18b902d31a --- /dev/null +++ b/mcstas-comps/examples/Necsa/SAFARI_MPISI/README.md @@ -0,0 +1,65 @@ +# The `SAFARI_MPISI` Instrument + +*McStas: Materials Probe for Internal Strain Investigations* + +## Identification + +- **Site:** Necsa +- **Author:** Deon Marais (deon.marais@necsa.co.za) +- **Origin:** Necsa +- **Date:** September 2013 + +## Description + +```text +Necsa Neutron Strain Scanner located at beam port 5 of the SAFARI-1 research reactor, South Africa +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| source_lam_min | Angs | Minimum wavelenth of source | 0.5 | +| source_lam_max | Angs | Maximum wavelenth of source | 2.0 | +| hi_res | | Selects hi-resolution(1) or hi-intensity(0) reactor beam through primary shutter | 0 | +| mono_Si_type | | Monochromator Silicon type options: 422 400 311 511 111 331 | 311 | +| mono_mosh | arc min | Monochromator horizontal mosaicity | 30 | +| mono_mosv | arc min | Monochromator vertical mosaicity | 30 | +| mono_dx | m | Monochromator delta x - positive to left of reactor beam | 0 | +| mono_dy | m | Monochromator delta y - positive upward of reactor beam | 0 | +| mono_dz | m | Monochromator delta z - positive along reactor beam | 0 | +| mono_takeoff | deg | Monochromator takeoff angle - positive anti-clockwise from reactor beam | -83.5 | +| mono_dtilt | deg | Monochromator tilt angle - not implemented yet | 0 | +| mono_Rh | m | Monochromator horizontal focus radius | 3.572 | +| port_takeoff | deg | Port takeoff angle - positive anti clockwise from reactor beam | -83.5 | +| chamber_window_rad | m | Chamber window radius. If this is 0, there is no window | 0.05534 | +| inc_slit_rot | deg | Incident slit delta rotation - not implemented yet | 0 | +| inc_slit_dx | m | Incident slit delta x position - positive to left of incident beam | 0 | +| inc_slit_to_cor | m | Incident slit to sample stage center of rotation | 0.005 | +| inc_slit_width | m | Incident slit width 0.00013m to 0.005m | 0.005 | +| inc_slit_height | m | Incident slit height 0m to 0.02m | 0.02 | +| inc_slit_sep | | Incident slit separation between width and height. <0:use emperical calc, >=0:distance in m | -1 | +| mono_to_cor | m | Distance between monochromator and center of rotation | 2.5 | +| sample_dx | m | Sample delta x - positive to left of incident beam if sample_dom=0 | 0 | +| sample_dy | m | Sample delta y - positive upword of incident beam | 0 | +| sample_dz | m | Sample delta x - positive along of incident beam if sample_dom=0 | 0 | +| sample_dom | deg | Sample delta omega - positive anti-clockwise from incident beam | 0 | +| det_takeoff | deg | Detector takeoff angle - positive anti-clockwise from incident beam | 90 | +| cor_to_det | m | Distance between sample centre of rotation and detector | 1.148 | +| diff_slit_dx | m | Diffracted slit delta x position - positive to left of diffracted beam | 0 | +| diff_slit_to_cor | deg | Distance between centre of rotation and diffracted slit | 0.005 | +| diff_slit_width | m | Diffracted slit width | 0.005 | +| diff_slit_height | m | Diffracted slit height | 0.02 | +| full_instrument | | When 1, simulates the complete instrument. When 0, only simulate from the outlet collimator | 1 | + +## Links + +- [Source code](SAFARI_MPISI.instr) for `SAFARI_MPISI.instr`. +- [Additional information](SAFARI_MPISI.md) (only if available!) +- The South African Nuclear Energy Corporation website + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Necsa/SAFARI_PITSI/README.md b/mcstas-comps/examples/Necsa/SAFARI_PITSI/README.md new file mode 100644 index 0000000000..8bd928cc60 --- /dev/null +++ b/mcstas-comps/examples/Necsa/SAFARI_PITSI/README.md @@ -0,0 +1,62 @@ +# The `SAFARI_PITSI` Instrument + +*McStas: Powder Instrument for Transition in Structure Investigations* + +## Identification + +- **Site:** Necsa +- **Author:** Deon Marais (deon.marais@necsa.co.za) +- **Origin:** Necsa +- **Date:** September 2013 + +## Description + +```text +Necsa Neutron Powder Diffractometer located at beam port 5 of the SAFARI-1 research reactor, South Africa +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| source_lam_min | Angs | Minimum wavelenth of source | 0.5 | +| source_lam_max | Angs | Maximum wavelenth of source | 2.0 | +| hi_res | | Selects hi-resolution(1) or hi-intensity(0) reactor beam through primary shutter | 0 | +| mono_Si_type | | Monochromator Silicon type options: 422 400 311 511 111 331 (Mostly used: 331 and 551) | 551 | +| mono_mosh | arc min | Monochromator horizontal mosaicity | 30 | +| mono_mosv | arc min | Monochromator vertical mosaicity | 30 | +| mono_dx | m | Monochromator delta x - positive to left of reactor beam | 0 | +| mono_dy | m | Monochromator delta y - positive upward of reactor beam | 0 | +| mono_dz | m | Monochromator delta z - positive along reactor beam | 0 | +| mono_takeoff | deg | Monochromator takeoff angle - positive anti-clockwise from reactor beam | 90.0 | +| mono_dtilt | deg | Monochromator tilt angle - not implemented yet | 0 | +| mono_r_h | m | Monochromator horizontal focus radius (min 5.0 m) | 5.0 | +| mono_r_v | m | Monochromator vertical focus radius (min 0.9 m) | 3.572 | +| port_takeoff | deg | Port takeoff angle - positive anti clockwise from reactor beam (70 or 90 deg) | 90.0 | +| inc_slit_rot | deg | Incident slit delta rotation - not implemented yet | 0 | +| inc_slit_dx | m | Incident slit delta x position - positive to left of incident beam | 0 | +| inc_slit_to_cor | m | Incident slit to sample stage center of rotation | 0.01 | +| inc_slit_width | m | Incident slit width 0.00013m to 0.006m | 0.006 | +| inc_slit_height | m | Incident slit height 0m to 0.05m | 0.05 | +| inc_slit_sep | | Incident slit separation between width and height. <0:use emperical calc, >=0:distance in m | 0 | +| mono_to_cor | m | Distance between monochromator and center of rotation | 2.5 | +| sample_dx | m | Sample delta x - positive to left of incident beam if sample_dom=0 | 0 | +| sample_dy | m | Sample delta y - positive upword of incident beam | 0 | +| sample_dz | m | Sample delta x - positive along of incident beam if sample_dom=0 | 0 | +| sample_dom | deg | Sample delta omega - positive anti-clockwise from incident beam | 0 | +| det_takeoff | deg | Detector takeoff angle - positive anti-clockwise from incident beam | -114.375 | +| cor_to_det | m | Distance between sample centre of rotation and detector | 1.179 | +| dangle_interest | deg | Delta angle of interenterest. | 125 | +| full_instrument | | | 1 | + +## Links + +- [Source code](SAFARI_PITSI.instr) for `SAFARI_PITSI.instr`. +- [Additional information](SAFARI_PITSI.md) (only if available!) +- The South African Nuclear Energy Corporation website + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/PSI/PSI_DMC/README.md b/mcstas-comps/examples/PSI/PSI_DMC/README.md new file mode 100644 index 0000000000..af5af1693b --- /dev/null +++ b/mcstas-comps/examples/PSI/PSI_DMC/README.md @@ -0,0 +1,49 @@ +# The `PSI_DMC` Instrument + +*McStas: McStas model of the DMC powder diffractometer at PSI, CH.* + +## Identification + +- **Site:** PSI +- **Author:** Peter Willendrup (Risoe), Uwe Filges (PSI), Lukas Keller (PSI) +- **Origin:** PSI +- **Date:** May 7th, 2008 + +## Description + +```text +McStas model of the DMC powder diffractometer at PSI, CH. + +Please note that this instrument file does not include the radial collimator of DMC. +To generate the full 800-bin angle coverage at DMC, you should combine two simulations +using this instrumentfile, with SHIFT=0 and 0.1. This will displace the detector by half +a bin-width, which is a standard procedure at the DMC diffractometer +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Choice of wavelength, affects both monochromator and source component | 2.5666 | +| R | 1 | Reflectivity of non-curved guides | 0.87 | +| R_curve | 1 | Reflectivity of curved guides | 0.87 | +| filename | str | Choice of reflection list file, e.g. from McStas data dir | "Na2Ca3Al2F14.laz" | +| D_PHI | deg | Focusing 'd_phi' for PowderN, see mcdoc page | 6 | +| SHIFT | deg | Rotation of detector, set to 0.1 to displace by half a bin | 0 | +| PACK | 1 | Powder packing factor | 0.7 | +| Dw | 1 | Powder Debye-Waller factor | 0.8 | +| BARNS | 1 | Flag to define if powder reflection file \|F2\| is in Barns or fm | 1 | +| SPLITS | | | 58 | + +## Links + +- [Source code](PSI_DMC.instr) for `PSI_DMC.instr`. +- [Additional information](PSI_DMC.md) (only if available!) +- The PSI Monte-Carlo website. +- P Willendrup, U Filges, L Keller, E Farhi, K Lefmann: Validation of a realistic powder sample using data from DMC at PSI, ICNS 2005 (Physica B, 386, (2006), 1032.) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/PSI/PSI_DMC_simple/README.md b/mcstas-comps/examples/PSI/PSI_DMC_simple/README.md new file mode 100644 index 0000000000..ec271b2d5f --- /dev/null +++ b/mcstas-comps/examples/PSI/PSI_DMC_simple/README.md @@ -0,0 +1,48 @@ +# The `PSI_DMC_simple` Instrument + +*McStas: McStas model of the DMC powder diffractometer at PSI, CH.* + +## Identification + +- **Site:** PSI +- **Author:** Peter Willendrup (Risoe), Uwe Filges (PSI), Lukas Keller (PSI) +- **Origin:** PSI +- **Date:** May 7th, 2008 + +## Description + +```text +McStas model of the DMC powder diffractometer at PSI, CH. + +Please note that this instrument file does not include the radial collimator of DMC. +To generate the full 800-bin angle coverage at DMC, you should combine two simulations +using this instrumentfile, with SHIFT=0 and 0.1. This will displace the detector by half +a bin-width, which is a standard procedure at the DMC diffractometer +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Choice of wavelength, affects both monochromator and source component | 2.5666 | +| R | 1 | Reflectivity of non-curved guides | 0.87 | +| R_curve | 1 | Reflectivity of curved guides | 0.87 | +| filename | str | Choice of reflection list file, e.g. from McStas data dir | "Na2Ca3Al2F14.laz" | +| D_PHI | deg | Focusing 'd_phi' for PowderN, see mcdoc page | 6 | +| SHIFT | deg | Rotation of detector, set to 0.1 to displace by half a bin | 0 | +| PACK | 1 | Powder packing factor | 0.7 | +| Dw | 1 | Powder Debye-Waller factor | 0.8 | +| BARNS | 1 | Flag to define if powder reflection file \|F2\| is in Barns or fm | 1 | + +## Links + +- [Source code](PSI_DMC_simple.instr) for `PSI_DMC_simple.instr`. +- [Additional information](PSI_DMC_simple.md) (only if available!) +- The PSI Monte-Carlo website. +- P Willendrup, U Filges, L Keller, E Farhi, K Lefmann: Validation of a realistic powder sample using data from DMC at PSI, ICNS 2005 (Physica B, 386, (2006), 1032.) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/PSI/PSI_Focus/README.md b/mcstas-comps/examples/PSI/PSI_Focus/README.md new file mode 100644 index 0000000000..df210fa586 --- /dev/null +++ b/mcstas-comps/examples/PSI/PSI_Focus/README.md @@ -0,0 +1,36 @@ +# The `PSI_Focus` Instrument + +*McStas: The FOCUS Spectrometer at PSI (Paul Scherrer Institute,Switzerland)* + +## Identification + +- **Site:** PSI +- **Author:** Uwe Filges +- **Origin:** PSI +- **Date:** Jan 2004 + +## Description + +```text +This instrument is a model of the FOCUS Spectrometer at PSI, Villigen, CH. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | source energy | 3.4 | +| chopp_ratio | 1 | Chopper radio Fermi Chopper to Disk Chopper | 1 | +| DET | deg | Detector angle | -69.9 | + +## Links + +- [Source code](PSI_Focus.instr) for `PSI_Focus.instr`. +- [Additional information](PSI_Focus.md) (only if available!) +- Written by U.Filges PSI, Jan 2004 + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/PSI/PSI_source/README.md b/mcstas-comps/examples/PSI/PSI_source/README.md new file mode 100644 index 0000000000..8b176a4ac7 --- /dev/null +++ b/mcstas-comps/examples/PSI/PSI_source/README.md @@ -0,0 +1,48 @@ +# The `PSI_source` Instrument + +*McStas: McStas model of the DMC powder diffractometer at PSI, CH.* + +## Identification + +- **Site:** PSI +- **Author:** Peter Willendrup (Risoe), Uwe Filges (PSI), Lukas Keller (PSI) +- **Origin:** PSI +- **Date:** May 7th, 2008 + +## Description + +```text +McStas model of the DMC powder diffractometer at PSI, CH. + +Please note that this instrument file does not include the radial collimator of DMC. +To generate the full 800-bin angle coverage at DMC, you should combine two simulations +using this instrumentfile, with SHIFT=0 and 0.1. This will displace the detector by half +a bin-width, which is a standard procedure at the DMC diffractometer +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Choice of wavelength, affects both monochromator and source component | 2.5666 | +| R | 1 | Reflectivity of non-curved guides | 0.87 | +| R_curve | 1 | Reflectivity of curved guides | 0.87 | +| filename | str | Choice of reflection list file, e.g. from McStas data dir | "Na2Ca3Al2F14.laz" | +| D_PHI | deg | Focusing 'd_phi' for PowderN, see mcdoc page | 6 | +| SHIFT | deg | Rotation of detector, set to 0.1 to displace by half a bin | 0 | +| PACK | 1 | Powder packing factor | 0.7 | +| Dw | 1 | Powder Debye-Waller factor | 0.8 | +| BARNS | 1 | Flag to define if powder reflection file \|F2\| is in Barns or fm | 1 | + +## Links + +- [Source code](PSI_source.instr) for `PSI_source.instr`. +- [Additional information](PSI_source.md) (only if available!) +- The PSI Monte-Carlo website. +- P Willendrup, U Filges, L Keller, E Farhi, K Lefmann: Validation of a realistic powder sample using data from DMC at PSI, ICNS 2005 (Physica B, 386, (2006), 1032.) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/PSI/RITA-II/README.md b/mcstas-comps/examples/PSI/RITA-II/README.md new file mode 100644 index 0000000000..f0eed7b99a --- /dev/null +++ b/mcstas-comps/examples/PSI/RITA-II/README.md @@ -0,0 +1,153 @@ +# The `RITA_II` Instrument + +*McStas: RITA type triple-axis spectrometer (TAS)* + +## Identification + +- **Site:** PSI +- **Author:** Linda Udby and Peter Willendrup +- **Origin:** Risø (Denmark) +- **Date:** 2012 + +## Description + +```text +This instrument is model of RITA-II at the RNR13 guide at SINQ, PSI as of 2009. The energy and q-resolution as been verified against measured data in 2- and 3-axis modes. See Udby et al., Nuclear Instruments and Methods 634 (2011) s138-.
+The model is based on the following components in downstream order +
    +
  • The SINQ source in 2009 - tested up to Ei=15 meV versus measurements. The spectrum of genereated rays is controlled by the BPL and BPH parameters.
  • +
  • The RNR13 guide with average m-value based on color-codes on guide pieces and gaps as measured/from technical drawings.
  • +
  • The Druckal monochromator: 5 slabs of PG(002) with vertically focusing option. The horizontal rotation angle (A1) and scattering angle (A2) can either be set by user input or calculated automatically from EI/KI.
  • +
  • Optional filter after the monochromator, before the sample.
  • +
  • Variable linear collimator after the monochromator, before the sample.
  • +
  • Optional perspex attenuation.
  • +
  • Inbound Diaphagm slit.
  • +
  • Sample: Incoherent scatterer, powder or single crystal from reflection list.
  • +
  • Outbound Diaphragm slit.
  • +
  • Optional filter after the sample, with radial collimator.
  • +
  • 9 - blade analyser: Base-rotation (AA5) and individual blade angles (C1-C9) can either be set by user or calculated automatically from EF/KF.
  • +
  • Coarse collimator: Removes cross-talk by allowing only passage of scattered neutrons from specified blade in each channel.
  • +
  • Detector: PSD detector with 100% efficiency and specified point-spread function from measurements.
  • +
  • Windows: Monitors the neutrons in each electronically specified window [XWinMin,XWinMax;YWinMin,YWinMax].
  • +
+EXAMPLES +
    +
  • Generating a virtual source
  • +mcrun RITA-II.instr -n3e6 BPL=0.97 BPH=1.03 EI=5 EF=5 COLL_MS=40 SAMPLE=1 OUTFILTER=0 REP=10 VIRTUALOUT=1 -d RITA-II_Vsource40
    +
  • Vanadium sample, no filters, seeing 1st-3rd order neutrons
  • +mcrun RITA-II.instr -n3e6 BPL=0.30 BPH=1.03 EI=5 EF=5 SAMPLE=1 INFILTER=0 OUTFILTER=0 REP=10 -d RITA-II_Vanadium
    +
  • Powder sample (default sapphire), simulation 1) through entire instrument or 2)from virtual source 3) in 2-axis mode, with particular slit settings scaling the source yield to 2008 values
  • +1) mcrun RITA-II.instr -n3e6 EF=5 EN=0 SAMPLE=2 COLL_MS=40 SAMPLEFILE="Al2O3_sapphire.lau" BARNS=0 SOURCEFILE="RITA-II_Vsource40/Vin_default.dat" REP=10 -d RITA-II_40_powder
    +2) mcrun RITA-II.instr EI=5 EF=5 SAMPLE=2 SAMPLEFILE="Al2O3_sapphire.lau" BARNS=0 SOURCEFILE="RITA-II_Vsource40/Vin_default.dat" VIRTUALIN=1 REP=3 -d RITA-II_VINsource40_powder
    +3) mcrun RITA-II.instr -n 1e7 ITAR=0.71 COLL_MS=19.6 BPL=0.97 BPH=1.03 EI=5 EF=5 QH=0 QK=0 QL=0 QM=1 A3=0.001 A4=-71 AA5=-90 A6=1e-3 MST=25 MSB=25 MSL=10 MSR=10 SAMPLE=2 SAMPLEFILE="Al2O3_sapphire.lau" SST=25 SSB=25 SSL=10 SSR=10 OUTFILTER=0 OUTFILTERFILE=Be.trm COARSE=1 REP=5 LC=6 RC=4 REP=1 BARNS=0 ANAFORCE=1 -d RITA-II_Al2O3_2axis
    +
  • Single crystal sample. Define first lattice vector (a) along -x (to the right) , second lattice vector (b) along z (forward), third lattice vector (c) along y (up).
  • +mcrun RITA-II.instr -n1e6 BPL=0.97 BPH=1.03 EI=5 EF=5 SAMPLE=3 REP=10 QH=2 QM=0 AS=4.95 BS=4.95 CS=4.95 AAX=-4.95 BBZ=4.95 CCY=4.95 AH=0 AK=1 AL=0 BH=1 BK=0 BL=0 SAMPLEFILE="Pb.laz" -d RITA-II_SXPb200
    +
  • Phonon sample, inelastic scattering, no Bragg peaks in sample
  • +mcrun RITA-II.instr -n1e6 L0=3.418 BPL=0.97 BPH=1.03 EI=7 EF=5 SAMPLE=4 REP=10 QH=2 QK=0.16 QM=0 AS=4.95 BS=4.95 CS=4.95 AAX=-4.95 BBZ=4.95 CCY=4.95 AH=0 AK=1 AL=0 BH=1 BK=0 BL=0 SAMPLEFILE="Pb.laz" -d RITA-II_SXPb200_2meV
    +
+ +Example: BPL=0.97 BPH=1.03 EI=5 EN=0 COLL_MS=40 SAMPLE=1 OUTFILTER=0 REP=10 Detector: psd_detector_I=216.427 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| ITAR | mA | Relative neutron yield from the spallation target. Value relative to 2009 | 1.0 | +| L0 | Angs | Centre of generated wavelength distribution from source | 4.045 | +| BPL | | Band Pass Low factor, multiplied on source wavelength L0 to allow neutrons with wavelengths with lambda {BPL*L0,BPH*L0} to be traced from the source. | 0.97 | +| BPH | | Band Pass High factor, multiplied on source wavelength L0 to allow neutrons with wavelengths with lambda {BPL*L0,BPH*L0} to be traced from the source. | 1.03 | +| MONO_N | 1 | Order of reflection used on mono | 1 | +| MONOFORCE | 1 | If set, monochromator is flat | 0 | +| MONO_MOS_H | min | Monochromator, horizontal mosaicity | 37 | +| MONO_MOS_V | min | Monochromator, vertical mosaicity | 37 | +| EI | meV | Incoming neutron energy. Also used to set range of energy monitors | 0 | +| EF | meV | Outgoing neutron energy. Also used to set range of energy monitors | 0 | +| EN | meV | Energy transferred in crystal | 0 | +| SM | 1 | | 1 | +| SS | 1 | Scattering configuration signs. 'W' is SM=1,SS=-1,SA=1 | -1 | +| SA | 1 | | 1 | +| QH | rlu | Measurement QH position in crystal | 0 | +| QK | rlu | Measurement QK position in crystal | 0 | +| QL | rlu | Measurement QL position in crystal | 0 | +| QM | Angs-1 | Wavevector transferred in sample, use QM=0 if (QH,QK,QL) is specified | 1.8051 | +| AS | Angs | Sample lattice parameter A | 4.95 | +| BS | Angs | Sample lattice parameter B | 4.95 | +| CS | Angs | Sample lattice parameter C | 4.95 | +| AA | deg | Angle between lattice vectors B,C | 90 | +| BB | deg | Angle between lattice vectors C,A | 90 | +| CC | deg | Angle between lattice vectors A,B | 90 | +| AH | rlu | First reciprocal lattice vector in scattering plane, X | 0 | +| AK | rlu | First reciprocal lattice vector in scattering plane, Y | 1 | +| AL | rlu | First reciprocal lattice vector in scattering plane, Z | 0 | +| BH | rlu | Second reciprocal lattice vector in scattering plane, X | 1 | +| BK | rlu | Second reciprocal lattice vector in scattering plane, Y | 0 | +| BL | rlu | Second reciprocal lattice vector in scattering plane, Z | 0 | +| INFILTER | 1 | Flag to indicate if mono-block filter is in or out | 0 | +| INFILTERFILE | string | An input file of wavevector vs transmission to use with incoming filter | "Be.trm" | +| COLL_MS | deg | Primary collimator max divergence | 80 | +| MST | m | Monochromator TOP slit | 40 | +| MSB | m | Monochromator BOTTOM slit | 40 | +| MSL | m | Monochromator LEFT slit | 40 | +| MSR | m | Monochromator RIGHT slit | 40 | +| PTHICK | m | Thickness of perspex attenuator | 1e-3 | +| PERSPEX | 1 | Flag to indicate if perspex attenuator is in or out | 0 | +| SAMPLE | 1 | 1 is incoherent scatterer, 2 is powder, 3 is single crystal. | 1 | +| SAMPLEFILE | string | Name of samplefile (with reflectionlist etc) | "default" | +| MOS | | Isotropic 'mosaicity' of single crystal | 100 | +| DD_D | | spead of lattice parameter | 1e-3 | +| SAMPLESIZE | m | Length, height and width of single crystal sample, or radius and height of phonon sample | 0.01 | +| BARNS | 1 | If set the flag indicates that reflection list structure factors are in units of barns, otherwise fm^2 | 1 | +| AAX | | | -4.95 | +| AAY | | Orientation vector of unit cell, single_crystal | 0 | +| AAZ | | | 0 | +| BBX | | | 0 | +| BBY | | Orientation vector of unit cell, single_crystal | 0 | +| BBZ | | | 4.95 | +| CCX | | | 0 | +| CCY | | Orientation vector of unit cell, single_crystal | 4.95 | +| CCZ | | | 0 | +| A1 | deg | Monohromator rotation angle | 0 | +| A2 | deg | Monohromator take-off angle | 0 | +| A3 | deg | Sample rotation angle | 0 | +| A4 | deg | Sample take-off angle | 0 | +| A6 | deg | Analyzer take-off angle | 0 | +| TILT | deg | Tilt angle out of plane of the sample scattering vector out of plane (rotation around z of the A3 arm) | 0 | +| SST | m | Sample TOP slit | 100 | +| SSB | m | Sample BOTTOM slit | 100 | +| SSL | m | Sample LEFT slit | 100 | +| SSR | m | Sample RIGHT slit | 100 | +| OUTFILTER | 1 | Flag to indicate if the outbound filter is in or out | 1 | +| OUTFILTERFILE | string | An input file of wavevector vs transmission to use with outgoing filter | "Be.trm" | +| ANAFORCE | 1 | If set the analyzer is forced flat | 0 | +| AA5 | deg | Analyzer rack rotation angle | 0 | +| C1 | deg | Analyzer blade 1 position | 0 | +| C2 | deg | Analyzer blade 2 position | 0 | +| C3 | deg | Analyzer blade 3 position | 0 | +| C4 | deg | Analyzer blade 4 position | 0 | +| C5 | deg | Analyzer blade 5 position | 0 | +| C6 | deg | Analyzer blade 6 position | 0 | +| C7 | deg | Analyzer blade 7 position | 0 | +| C8 | deg | Analyzer blade 8 position | 0 | +| C9 | deg | Analyzer blade 9 position | 0 | +| COARSE | 1 | Flag to indicate if Detector collimator is in or out | 1 | +| LC | deg | Detector-collimator angle of the leftmost blade | 4 | +| RC | deg | Detector-collimator angle of the rightmost blade | 3 | +| REP | 1 | Repetition factor of virtual_input or Monochromator/Sample/Analyzer SPLITs | 1 | +| VIRTUALOUT | 1 | If set, flag indicates that a Virtual source is created after the monochromator collimator | 0 | +| VIRTUALIN | 1 | If set, flag to indicates that Virtual source is used after the monochromator collimator | 0 | +| SOURCEFILE | string | Name of file to be used/genereated as virtual input/output | "Vin_default.dat" | +| verbose | 1 | print TAS configuration. 0 to be quiet | 1 | + +## Links + +- [Source code](RITA-II.instr) for `RITA-II.instr`. +- [Additional information](RITA-II.md) (only if available!) +- Rescal for Matlab at http://www.ill.fr/tas/matlab +- Restrax at http://omega.ujf.cas.cz/restrax/ + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Risoe/TAS1_C1/README.md b/mcstas-comps/examples/Risoe/TAS1_C1/README.md new file mode 100644 index 0000000000..77873ba4bb --- /dev/null +++ b/mcstas-comps/examples/Risoe/TAS1_C1/README.md @@ -0,0 +1,44 @@ +# The `TAS1_C1` Instrument + +*McStas: Example formerly known as linup-1.instr + +The conventional cold-source triple-axis spectrometer TAS1 at Risoe National +Laboratory used as a diffractometer for monochromator rocking curves* + +## Identification + +- **Site:** Risoe +- **Author:** A. Abrahamsen, N. B. Christensen, and E. Lauridsen +- **Origin:** Risoe +- **Date:** 1998 + +## Description + +```text +This instrument is the conventional cold-source triple-axis spectrometer TAS1 +at Risoe National Laboratory. It does not exist anymore, but was used as the +first detailed work performed with the McStas package. +Here it is used as a diffractometer for monochromator rocking curves. The +detector is at the sample position. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| PHM | deg | Monochromator arm angle, aka A1 | -37.077 | +| TTM | deg | Monochromator take-off angle, aka A2 | -74 | +| C1 | arcmin | C1 collimation | 30 | + +## Links + +- [Source code](TAS1_C1.instr) for `TAS1_C1.instr`. +- [Additional information](TAS1_C1.md) (only if available!) +- The McStas User manual +- A. Abrahamsen, N. B. Christensen, and E. Lauridsen. McStas simulations of the TAS1 spectrometer. Student's report, Niels Bohr Institute, University of Copenhagen, 1998. + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Risoe/TAS1_C1_Tilt/README.md b/mcstas-comps/examples/Risoe/TAS1_C1_Tilt/README.md new file mode 100644 index 0000000000..c2e93d1f27 --- /dev/null +++ b/mcstas-comps/examples/Risoe/TAS1_C1_Tilt/README.md @@ -0,0 +1,45 @@ +# The `TAS1_C1_Tilt` Instrument + +*McStas: Example formerly known as linup-2.instr + +The conventional cold-source triple-axis spectrometer TAS1 at Risoe National +Laboratory used as a diffractometer for a collimator tilt alignment.* + +## Identification + +- **Site:** Risoe +- **Author:** A. Abrahamsen, N. B. Christensen, and E. Lauridsen +- **Origin:** Risoe +- **Date:** 1998 + +## Description + +```text +This instrument is the conventional cold-source triple-axis spectrometer TAS1 +at Risoe National Laboratory. It does not exist anymore, but was used as the +first detailed work performed with the McStas package. +Here it is used as a diffractometer for a collimator tilt alignment. The +detector is at the sample position and there is no analyzer. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| PHM | deg | Monochromator arm angle, aka A1 | -37.077 | +| TTM | deg | Monochromator take-off angle, aka A2 | -74 | +| C1 | min | Collimator 1 aperture (mono-sample arm) | 30 | +| OMC1 | deg | Tilt angle of the Collimator 1 | 5.5 | + +## Links + +- [Source code](TAS1_C1_Tilt.instr) for `TAS1_C1_Tilt.instr`. +- [Additional information](TAS1_C1_Tilt.md) (only if available!) +- The McStas User manual +- A. Abrahamsen, N. B. Christensen, and E. Lauridsen. McStas simulations of the TAS1 spectrometer. Student's report, Niels Bohr Institute, University of Copenhagen, 1998. + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Risoe/TAS1_Diff_Powder/README.md b/mcstas-comps/examples/Risoe/TAS1_Diff_Powder/README.md new file mode 100644 index 0000000000..4b9b8c779e --- /dev/null +++ b/mcstas-comps/examples/Risoe/TAS1_Diff_Powder/README.md @@ -0,0 +1,50 @@ +# The `TAS1_Diff_Powder` Instrument + +*McStas: Example formerly known as linup-5.instr + +The conventional cold-source triple-axis spectrometer TAS1 at Risoe National +Laboratory used as a diffractometer for an alignment study with a +powder sample.* + +## Identification + +- **Site:** Risoe +- **Author:** A. Abrahamsen, N. B. Christensen, and E. Lauridsen +- **Origin:** Risoe +- **Date:** 1998 + +## Description + +```text +This instrument is the conventional cold-source triple-axis spectrometer TAS1 +at Risoe National Laboratory. It does not exist anymore, but was used as the +first detailed work performed with the McStas package. +Here it is used as a diffractometer for an alignment study. The +sample is a powder and there is no analyzer. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| PHM | deg | Monochromator arm angle, aka A1 | -37.077 | +| TTM | deg | Monochromator take-off angle, aka A2 | -74 | +| TT | deg | Take-off angle at the sample position, aka A4 | 33.52 | +| TTA | deg | Take-off angle at the analyzer position, aka A6 | 0 | +| C1 | min | Collimator 1 aperture (mono-sample arm) | 30 | +| OMC1 | deg | Tilt angle of the Collimator 1 | 5.5 | +| C2 | min | Collimator 2 aperture (sample-ana arm) | 28 | +| C3 | min | Collimator 3 aperture (ana-detector arm) | 67 | + +## Links + +- [Source code](TAS1_Diff_Powder.instr) for `TAS1_Diff_Powder.instr`. +- [Additional information](TAS1_Diff_Powder.md) (only if available!) +- The McStas User manual +- A. Abrahamsen, N. B. Christensen, and E. Lauridsen. McStas simulations of the TAS1 spectrometer. Student's report, Niels Bohr Institute, University of Copenhagen, 1998. + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Risoe/TAS1_Diff_Slit/README.md b/mcstas-comps/examples/Risoe/TAS1_Diff_Slit/README.md new file mode 100644 index 0000000000..1ae5173017 --- /dev/null +++ b/mcstas-comps/examples/Risoe/TAS1_Diff_Slit/README.md @@ -0,0 +1,49 @@ +# The `TAS1_Diff_Slit` Instrument + +*McStas: Example formerly known as linup-3.instr + +The conventional cold-source triple-axis spectrometer TAS1 at Risoe National +Laboratory used as a diffractometer for a collimation alignment study with a +slit sample.* + +## Identification + +- **Site:** Risoe +- **Author:** A. Abrahamsen, N. B. Christensen, and E. Lauridsen +- **Origin:** Risoe +- **Date:** 1998 + +## Description + +```text +This instrument is the conventional cold-source triple-axis spectrometer TAS1 +at Risoe National Laboratory. It does not exist anymore, but was used as the +first detailed work performed with the McStas package. +Here it is used as a diffractometer for a collimation alignment study. The +sample is a slit and there is no analyzer. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| PHM | deg | Monochromator arm angle, aka A1 | -37.077 | +| TTM | deg | Monochromator take-off angle, aka A2 | -74 | +| TT | deg | Take-off angle at the sample position, aka A4 | 33.52 | +| C1 | min | Collimator 1 aperture (mono-sample arm) | 30 | +| OMC1 | deg | Tilt angle of the Collimator 1 | 5.5 | +| C2 | min | Collimator 2 aperture (sample-ana arm) | 28 | +| C3 | min | Collimator 3 aperture (ana-detector arm) | 67 | + +## Links + +- [Source code](TAS1_Diff_Slit.instr) for `TAS1_Diff_Slit.instr`. +- [Additional information](TAS1_Diff_Slit.md) (only if available!) +- The McStas User manual +- A. Abrahamsen, N. B. Christensen, and E. Lauridsen. McStas simulations of the TAS1 spectrometer. Student's report, Niels Bohr Institute, University of Copenhagen, 1998. + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Risoe/TAS1_Diff_Vana/README.md b/mcstas-comps/examples/Risoe/TAS1_Diff_Vana/README.md new file mode 100644 index 0000000000..755cc7ece1 --- /dev/null +++ b/mcstas-comps/examples/Risoe/TAS1_Diff_Vana/README.md @@ -0,0 +1,50 @@ +# The `TAS1_Diff_Vana` Instrument + +*McStas: Example formerly known as linup-4.instr + +The conventional cold-source triple-axis spectrometer TAS1 at Risoe National +Laboratory used as a diffractometer for an alignment study with a +vanadium sample.* + +## Identification + +- **Site:** Risoe +- **Author:** A. Abrahamsen, N. B. Christensen, and E. Lauridsen +- **Origin:** Risoe +- **Date:** 1998 + +## Description + +```text +This instrument is the conventional cold-source triple-axis spectrometer TAS1 +at Risoe National Laboratory. It does not exist anymore, but was used as the +first detailed work performed with the McStas package. +Here it is used as a diffractometer for an alignment study. The +sample is a vanadium cylinder and there is no analyzer. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| PHM | deg | Monochromator arm angle, aka A1 | -37.077 | +| TTM | deg | Monochromator take-off angle, aka A2 | -74 | +| TT | deg | Take-off angle at the sample position, aka A4 | 33.52 | +| TTA | deg | Take-off angle at the analyzer position, aka A6 | 0 | +| C1 | min | Collimator 1 aperture (mono-sample arm) | 30 | +| OMC1 | deg | Tilt angle of the Collimator 1 | 5.5 | +| C2 | min | Collimator 2 aperture (sample-ana arm) | 28 | +| C3 | min | Collimator 3 aperture (ana-detector arm) | 67 | + +## Links + +- [Source code](TAS1_Diff_Vana.instr) for `TAS1_Diff_Vana.instr`. +- [Additional information](TAS1_Diff_Vana.md) (only if available!) +- The McStas User manual +- A. Abrahamsen, N. B. Christensen, and E. Lauridsen. McStas simulations of the TAS1 spectrometer. Student's report, Niels Bohr Institute, University of Copenhagen, 1998. + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Risoe/TAS1_Powder/README.md b/mcstas-comps/examples/Risoe/TAS1_Powder/README.md new file mode 100644 index 0000000000..9348270bda --- /dev/null +++ b/mcstas-comps/examples/Risoe/TAS1_Powder/README.md @@ -0,0 +1,49 @@ +# The `TAS1_Powder` Instrument + +*McStas: Example formerly known as linup-7.instr + +The conventional cold-source triple-axis spectrometer TAS1 at Risoe National +Laboratory used with a powder sample.* + +## Identification + +- **Site:** Risoe +- **Author:** A. Abrahamsen, N. B. Christensen, and E. Lauridsen +- **Origin:** Risoe +- **Date:** 1998 + +## Description + +```text +This instrument is the conventional cold-source triple-axis spectrometer TAS1 +at Risoe National Laboratory. It does not exist anymore, but was used as the +first detailed work performed with the McStas package. +The sample is a powder and the analyzer is a single plate. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| PHM | deg | Monochromator rotation angle, aka A1 | -37.077 | +| TTM | deg | Monochromator take-off angle, aka A2 | -74 | +| TT | deg | Take-off angle at the sample position, aka A4 | 33.52 | +| TTA | deg | Take-off angle at the analyzer position, aka A6 | 0 | +| C1 | min | Collimator 1 aperture (mono-sample arm) | 30 | +| OMC1 | deg | Tilt angle of the Collimator 1 | 5.5 | +| C2 | min | Collimator 2 aperture (sample-ana arm) | 28 | +| C3 | min | Collimator 3 aperture (ana-detector arm) | 67 | +| OMA | deg | Analyzer rotation angle, aka A5 | -17.45 | + +## Links + +- [Source code](TAS1_Powder.instr) for `TAS1_Powder.instr`. +- [Additional information](TAS1_Powder.md) (only if available!) +- The McStas User manual +- A. Abrahamsen, N. B. Christensen, and E. Lauridsen. McStas simulations of the TAS1 spectrometer. Student's report, Niels Bohr Institute, University of Copenhagen, 1998. + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Risoe/TAS1_Vana/README.md b/mcstas-comps/examples/Risoe/TAS1_Vana/README.md new file mode 100644 index 0000000000..8048208523 --- /dev/null +++ b/mcstas-comps/examples/Risoe/TAS1_Vana/README.md @@ -0,0 +1,49 @@ +# The `TAS1_Vana` Instrument + +*McStas: Example formerly known as linup-6.instr + +The conventional cold-source triple-axis spectrometer TAS1 at Risoe National +Laboratory used with a vanadium sample.* + +## Identification + +- **Site:** Risoe +- **Author:** A. Abrahamsen, N. B. Christensen, and E. Lauridsen +- **Origin:** Risoe +- **Date:** 1998 + +## Description + +```text +This instrument is the conventional cold-source triple-axis spectrometer TAS1 +at Risoe National Laboratory. It does not exist anymore, but was used as the +first detailed work performed with the McStas package. +The sample is a vanadium and the analyzer is a single plate. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| PHM | deg | Monochromator rotation angle, aka A1 | -37.077 | +| TTM | deg | Monochromator take-off angle, aka A2 | -74 | +| TT | deg | Take-off angle at the sample position, aka A4 | 33.52 | +| TTA | deg | Take-off angle at the analyzer position, aka A6 | 0 | +| C1 | min | Collimator 1 aperture (mono-sample arm) | 30 | +| OMC1 | deg | Tilt angle of the Collimator 1 | 5.5 | +| C2 | min | Collimator 2 aperture (sample-ana arm) | 28 | +| C3 | min | Collimator 3 aperture (ana-detector arm) | 67 | +| OMA | deg | Analyzer rotation angle, aka A5 | -17.45 | + +## Links + +- [Source code](TAS1_Vana.instr) for `TAS1_Vana.instr`. +- [Additional information](TAS1_Vana.md) (only if available!) +- The McStas User manual +- A. Abrahamsen, N. B. Christensen, and E. Lauridsen. McStas simulations of the TAS1 spectrometer. Student's report, Niels Bohr Institute, University of Copenhagen, 1998. + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/SINE2020/McStas_Isotropic_Sqw/README.md b/mcstas-comps/examples/SINE2020/McStas_Isotropic_Sqw/README.md new file mode 100644 index 0000000000..f64b9a64b1 --- /dev/null +++ b/mcstas-comps/examples/SINE2020/McStas_Isotropic_Sqw/README.md @@ -0,0 +1,62 @@ +# The `McStas_Isotropic_Sqw` Instrument + +*McStas: Wrapper instrument for use of Isotropic_Sqw in SIMRES* + +## Identification + +- **Site:** SINE2020 +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** December 2018 + +## Description + +```text +This instrument provides an MCPL-based interface for the use of Isotropic_Sqw in the SIMRES package. +The instrument has been developed in the context of WP8 in the SINE2020 project and is part of +deliverable D8.8. + +(EU Horizon 2020 research and innovation programme under grant agreement No 654000). + +The default material is liquid Rb as a cylinder of radius 0.01 m x height 0.07 m + +Example: McStas_Isotropic_Sqw Sqw_coh=Rb_liq_coh.sqw Sqw_inc=Rb_liq_inc.sqw radius=0.01 yheight=0.07 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Sqw_coh | string | Name of the file containing the values of Q, w and S(Q,w) Coherent part; Q in Angs-1, E in meV, S(q,w) in meV-1. Use 0, NULL or "" to disable. | "Rb_liq_coh.sqw" | +| Sqw_inc | string | Name of the file containing the values of Q, w and S(Q,w). Incoherent (self) part. Use 0, NULL or "" to scatter isotropically (V-like). | "Rb_liq_inc.sqw" | +| geometry | string | Name of an Object File Format (OFF) or PLY file for complex geometry. | "" | +| radius | m | Sample radius | 0.01 | +| xwidth | m | Sample width along x | 0 | +| yheight | m | Sample height along y | 0.07 | +| zdepth | m | Sample depth along z | 0 | +| thickness | m | Thickness of hollow sample Negative value extends the hollow volume outside of the box/cylinder. | 0 | +| threshold | m | Value under which S(Q,w) is not accounted for. to set according to the S(Q,w) values, i.e. not too low. | 1e-20 | +| T | K | Temperature of sample, detailed balance. Use T=0 to disable it. and T=-1 to automatically set it from non-classical S(q,w). | 0 | +| d_phi | deg | Vertical focusing limit [deg] | 0 | +| verbose | 1 | Verbosity level (0:silent, 1:normal, 2:verbose, 3:debug). A verbosity>1 also computes dispersions and S(q,w) analysis. | 1 | +| classical | 1 | Assumes the S(q,w) data from the files is a classical S(q,w), and multiply that data by exp(hw/2kT) on up/down energy sides. Use 0 when obtained from raw experiments, 1 from molecular dynamics. Use -1 to guess from a data set including both energy sides. | -1 | +| powder_barns | 1 | 0 when \|F2\| data in powder file are fm^2, 1 when in barns (barns=1 for laz, barns=0 for lau type files). | 1 | +| quantum_correction | str | Specify the type of quantum correction to use "Boltzmann"/"Schofield","harmonic"/"Bader" or "standard"/"Frommhold" (default) | "standard" | +| norm | 1 | Normalize S(q,w) when -1 (default). Use raw data when 0, multiply S(q,w) when norm>0. | -1 | +| rot_x | deg | Sample rotation around x | 0 | +| rot_y | deg | Sample rotation around y | 0 | +| rot_z | deg | Sample rotation around z | 0 | + +## Links + +- [Source code](McStas_Isotropic_Sqw.instr) for `McStas_Isotropic_Sqw.instr`. +- [Additional information](McStas_Isotropic_Sqw.md) (only if available!) +- Website for the MCPL particle exchange format +- Website for the SIMRES package +- Website for WP8 in EU-SINE2020 + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/SINE2020/McStas_PowderN/README.md b/mcstas-comps/examples/SINE2020/McStas_PowderN/README.md new file mode 100644 index 0000000000..3356ca0ffd --- /dev/null +++ b/mcstas-comps/examples/SINE2020/McStas_PowderN/README.md @@ -0,0 +1,59 @@ +# The `McStas_PowderN` Instrument + +*McStas: Wrapper instrument for use of PowderN in SIMRES* + +## Identification + +- **Site:** SINE2020 +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** December 2018 + +## Description + +```text +This instrument provides an MCPL-based interface for the use of PowderN in the SIMRES package. +The instrument has been developed in the context of WP8 in the SINE2020 project and is part of +deliverable D8.8. + +(EU Horizon 2020 research and innovation programme under grant agreement No 654000). + +The default material is Al as a cylinder of radius 0.01 m x height 0.07 m + +Example: McStas_PowderN reflections=Al.lau radius=0.01 yheight=0.07 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflections | string | Input file for reflections, laz and lau formats from McStas accepted | "Al.lau" | +| geometry | string | Name of an Object File Format (OFF) or PLY file for complex geometry. | "" | +| radius | m | Sample radius | 0.01 | +| xwidth | m | Sample width along x | 0 | +| yheight | m | Sample height along y | 0.07 | +| zdepth | m | Sample depth along z | 0 | +| thickness | m | Thickness of hollow sample | 0 | +| pack | m | Packing factor. | 1 | +| d_omega | deg | Horizontal (incoherent only) focusing limit [deg] | 0 | +| d_phi | deg | Vertical focusing limit [deg] | 0 | +| focus_flip | 1 | Controls the sense of d_phi. If 0 d_phi is measured against the xz-plane. If nonzero, d_phi is measured against zy-plane. | 0 | +| tth_sign | 1 | Sign of the scattering angle. If 0, the sign is chosen randomly | 0 | +| barns | 1 | Flag to indicate if \|F 2\| from "reflections" is in barns or fm2 (barns = 1 for laz, barns = 0 for lau type files). | 0 | +| rot_x | deg | Sample rotation around x | 0 | +| rot_y | deg | Sample rotation around y | 0 | +| rot_z | deg | Sample rotation around z | 0 | + +## Links + +- [Source code](McStas_PowderN.instr) for `McStas_PowderN.instr`. +- [Additional information](McStas_PowderN.md) (only if available!) +- Website for the MCPL particle exchange format +- Website for the SIMRES package +- Website for WP8 in EU-SINE2020 + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/SINE2020/McStas_Single_crystal/README.md b/mcstas-comps/examples/SINE2020/McStas_Single_crystal/README.md new file mode 100644 index 0000000000..38cd41511d --- /dev/null +++ b/mcstas-comps/examples/SINE2020/McStas_Single_crystal/README.md @@ -0,0 +1,59 @@ +# The `McStas_Single_crystal` Instrument + +*McStas: Wrapper for use of Single_crystal in SIMRES* + +## Identification + +- **Site:** SINE2020 +- **Author:** Erik B Knudsen erkn@fysik.dtu.dk +- **Origin:** DTU Physics +- **Date:** Dec. 2018 + +## Description + +```text +This instrument provides an MCPL-based interface for the use of Single_crystal in the SIMRES package. +The instrument has been developed in the context of WP8 in the SINE2020 project and is part of +deliverable D8.8. + +(EU Horizon 2020 research and innovation programme under grant agreement No 654000). + +The default material is Al as a cylinder of radius 0.01 m x height 0.02 m + +Example: McStas_Single_crystal reflections=Al.lau radius=0.01 yheight=0.02 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflections | string | Input file for reflections, laz and lau formats from McStas accepted | "Al.lau" | +| geometry | string | Name of an Object File Format (OFF) or PLY file for complex geometry. | "" | +| radius | m | Sample radius | 1e-2 | +| xwidth | m | Sample width along x | 0 | +| yheight | m | Sample height along y | 2e-2 | +| zdepth | m | Sample depth along z | 0 | +| delta_d_d | 1 | Lattice spacing variance, gaussian RMS | 1e-3 | +| mosaic | arc minutes | Crystal mosaic (isotropic), gaussian RMS. Puts the crystal in the isotropic mosaic model state, thus disregarding other mosaicity parameters. | 1 | +| mosaic_a | arc minutes | Horizontal (rotation around lattice vector a) mosaic (anisotropic), gaussian RMS. Put the crystal in the anisotropic crystal vector state. I.e. model mosaicity through rotation around the crystal lattice vectors. Has precedence over in-plane mosaic model. | 0 | +| mosaic_b | arc minutes | Vertical (rotation around lattice vector b) mosaic (anisotropic), gaussian RMS. | 0 | +| mosaic_c | arc minutes | Out-of-plane (Rotation around lattice vector c) mosaic (anisotropic), gaussian RMS | 0 | +| barns | 1 | Flag to indicate if \|F 2\| from "reflections" is in barns or fm2 (barns = 1 for laz, barns = 0 for lau type files). | 0 | +| order | 1 | Limit multiple scattering up to given order (0: all, 1: first, 2: second, ...) | 0 | +| rot_x | deg | Sample rotation around x | 0 | +| rot_y | deg | Sample rotation around y | 0 | +| rot_z | deg | Sample rotation around z | 0 | + +## Links + +- [Source code](McStas_Single_crystal.instr) for `McStas_Single_crystal.instr`. +- [Additional information](McStas_Single_crystal.md) (only if available!) +- Website for the MCPL particle exchange format +- Website for the SIMRES package +- Website for WP8 in EU-SINE2020 + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/SNS/Gallmeier_SNS_decoupled_poisoned/README.md b/mcstas-comps/examples/SNS/Gallmeier_SNS_decoupled_poisoned/README.md new file mode 100644 index 0000000000..2ab47ba598 --- /dev/null +++ b/mcstas-comps/examples/SNS/Gallmeier_SNS_decoupled_poisoned/README.md @@ -0,0 +1,35 @@ +# The `Gallmeier_SNS_decoupled_poisoned` Instrument + +*McStas: Simple instrumentfile for estimating SNS brilliance, moderator is a the Gallmeier SNS_source_analytic applying Ikeda-Carpenter vs. Pade function fits to MCNPX tables.* + +## Identification + +- **Site:** SNS +- **Author:** Peter Willendrup +- **Origin:** DTU Physics +- **Date:** May 29,2013 + +## Description + +```text +Simple instrumentfile for estimating SNS brilliance, moderator is a the Gallmeier SNS_source_analytic applying Ikeda-Carpenter vs. Pade function fits to MCNPX tables. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Lambda_min | AA | Minimum wavelength produced at source | 0.5 | +| Lambda_max | AA | Maximum wavelength produced at source | 20 | +| filename | str | Source input file from $MCSTAS/data | "a1Gw2-2-f5_fit_fit.dat" | + +## Links + +- [Source code](Gallmeier_SNS_decoupled_poisoned.instr) for `Gallmeier_SNS_decoupled_poisoned.instr`. +- [Additional information](Gallmeier_SNS_decoupled_poisoned.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/SNS/Granroth_SNS_decoupled_poisoned/README.md b/mcstas-comps/examples/SNS/Granroth_SNS_decoupled_poisoned/README.md new file mode 100644 index 0000000000..e8c7994a01 --- /dev/null +++ b/mcstas-comps/examples/SNS/Granroth_SNS_decoupled_poisoned/README.md @@ -0,0 +1,35 @@ +# The `Granroth_SNS_decoupled_poisoned` Instrument + +*McStas: Simple instrumentfile for estimating SNS brilliance, moderator is a the Granroth SNS_source applying linear interpolation in MCNPX tables.* + +## Identification + +- **Site:** SNS +- **Author:** Peter Willendrup +- **Origin:** DTU Physics +- **Date:** May 29,2013 + +## Description + +```text +Simple instrumentfile for estimating SNS brilliance, moderator is a the Granroth SNS_source applying linear interpolation in MCNPX tables. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Lambda_min | AA | Minimum wavelength produced at source | 0.5 | +| Lambda_max | AA | Maximum wavelength produced at source | 20 | +| filename | str | Source input file from $MCSTAS/data | "source_sct091_tu_02_1.dat" | + +## Links + +- [Source code](Granroth_SNS_decoupled_poisoned.instr) for `Granroth_SNS_decoupled_poisoned.instr`. +- [Additional information](Granroth_SNS_decoupled_poisoned.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/SNS/Mezei_SNS_decoupled_poisoned/README.md b/mcstas-comps/examples/SNS/Mezei_SNS_decoupled_poisoned/README.md new file mode 100644 index 0000000000..82e8ed7974 --- /dev/null +++ b/mcstas-comps/examples/SNS/Mezei_SNS_decoupled_poisoned/README.md @@ -0,0 +1,36 @@ +# The `Mezei_SNS_decoupled_poisoned` Instrument + +*McStas: Simple instrumentfile for estimating SNS brilliance, moderator is a rescaled ESS short-pulsed Mezei description.* + +## Identification + +- **Site:** SNS +- **Author:** Peter Willendrup +- **Origin:** DTU Physics +- **Date:** May 2913 + +## Description + +```text +ESCRIPTION + +Simple instrumentfile for estimating SNS brilliance, moderator is a rescaled ESS short-pulsed Mezei description. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Lambda_min | AA | Minimum wavelength produced at source | 0.5 | +| Lambda_max | AA | Maximum wavelength produced at source | 20 | + +## Links + +- [Source code](Mezei_SNS_decoupled_poisoned.instr) for `Mezei_SNS_decoupled_poisoned.instr`. +- [Additional information](Mezei_SNS_decoupled_poisoned.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/SNS/SNS_ARCS/README.md b/mcstas-comps/examples/SNS/SNS_ARCS/README.md new file mode 100644 index 0000000000..58978a6073 --- /dev/null +++ b/mcstas-comps/examples/SNS/SNS_ARCS/README.md @@ -0,0 +1,54 @@ +# The `SNS_ARCS` Instrument + +*McStas: Model of the ARCS spectrometer from SNS.* + +## Identification + +- **Site:** SNS +- **Author:** G. Granroth +- **Origin:** SNS +- **Date:** Nov 2014 + +## Description + +```text +When using this ARCS instrument model, please reference +
    +
  • Granroth, G. E. and Abernathy, D. L., "Performance Comparisons of Four Direct Geometry +Spectrometers Planned for Spallation Neutron Source", Proceedings of ICANS-XVI, 289 (2003). +
  • D. L. Abernathy, M. B. Stone, M. J. Loguillo, M. S. Lucas, O. Delaire, X.Tang, J. Y. Y. Lin, and +B. Fultz,"Design and operation of the wide angular-range chopper spectrometer ARCS at the +Spallation Neutron Source", Review of Scientific Instruments, 83 , 015114 (2012)
+``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | | | "source_sct521_bu_17_1.dat" | +| Fermi_nu | Hz | Frequency of the Fermi chopper | 420 | +| T0_nu | Hz | Frequency of the T0 chopper | 90 | +| nrad | m | Radius of the Fermi chopper blades | 0.58 | +| nchans | 1 | Number of channels in the Fermi chopper | 40 | +| Edes | meV | Desired/target energy | 50 | +| Et | meV | Energy transfer of the Spot_sample | 25 | +| ttheta | deg | Scattering angle of the Spot_sample | 25 | +| T0_off | | | 0 | +| sxmin | m | Sample slit horz min value | -0.04 | +| sxmax | m | Sample slit horz max value | 0.04 | +| symin | m | Sample slit vert min value | -0.04 | +| symax | m | Sample slit vert max value | 0.04 | +| run_num | 1 | Virtual source run number (unused at present) | 1 | + +## Links + +- [Source code](SNS_ARCS.instr) for `SNS_ARCS.instr`. +- [Additional information](SNS_ARCS.md) (only if available!) +-
Granroth, G. E. and Abernathy, D. L., "Performance Comparisons of Four Direct Geometry Spectrometers Planned for Spallation Neutron Source", Proceedings of ICANS-XVI, 289 (2003). +-
D. L. Abernathy, M. B. Stone, M. J. Loguillo, M. S. Lucas, O. Delaire, X.Tang, J. Y. Y. Lin, and B. Fultz,"Design and operation of the wide angular-range chopper spectrometer ARCS at the Spallation Neutron Source", Review of Scientific Instruments, 83 , 015114 (2012) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/SNS/SNS_BASIS/README.md b/mcstas-comps/examples/SNS/SNS_BASIS/README.md new file mode 100644 index 0000000000..0b5af5703d --- /dev/null +++ b/mcstas-comps/examples/SNS/SNS_BASIS/README.md @@ -0,0 +1,72 @@ +# The `SNS_BASIS` Instrument + +*McStas: Written by: N.Tsapatsaris (nikolaos.tsapatsaris@esss.se) and Peter K. Wilendrup (pkwi@fysik.dtu.dk)* + +## Identification + +- **Site:** SNS +- **Author:** N.Tsapatsaris (nikolaos.tsapatsaris@esss.se) and Peter K. Wilendrup (pkwi@fysik.dtu.dk) +- **Origin:** NBI +- **Date:** 2013-2015 + +## Description + +```text +ESCRIPTION +The approximative, analytic SNS Source description of this instrument is realised +by use of the ESS_moderator_short model, but weighted due to the opposite moderator +arrangement at the SNS and at the once-planned ESS short pluse facility. The correct +SNS Source File to use with SNS_Source is source_sct091_tu_02_1.dat. + +The instrument serves as a test instrument for the components +Spherical_Backscattering_Analyser, also written by by Niko Tsapatsaris with help from +Peter Willendrup and Guide_m by Niko Tsapatsaris. + +The instrument is based on models initially written by +A) REL (ruep.lechner@gmail.com) and HNB (bordallo@nbi.ku.dk) with contributions +from Johan Jacobsen (johan.fett@gmail.com) +B) G. Granroth + +A virtual experiment on BASIS i.e. a comparison with real and simulation results were +published in AIP conference,DOI: 10.1051/epjconf/20158303015 and RSI, DOI: 10.1063/1.4961569 + +Instrument geometry parameters etc. were taken from the publication: +"A time-of-flight backscattering spectrometer at the Spallation Neutron Source, BASIS" by +Mamontov, E.; Herwig, K. W.; Neutron Scattering Science Division, Oak Ridge National Laboratory, +Oak Ridge, Tennessee 37831, USA, in Review of Scientific Instruments,82(8),085109 - 085109-10, 2011 + +This simulation uses the sample component Isotropic_Sqw. We are using the description for a Vanadium +hollow cylindrical sample. One Arm Component is used to place the Analyser Component at an angle +defined as ROT1. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Lam | AA | Wavelength selected by the chopper system | 6.4 | +| Lambda_min | AA | Minimum wavelength produced at the source | 5 | +| Lambda_max | AA | Maximum wavelength produced at the source | 7 | +| RadCurv | m | Radius of Curvature of the guide system | 1000 | +| omega1 | Hz | Frequency of the first DiskChopper | 60 | +| omega2 | Hz | Frequency of the second DiskChopper | 60 | +| omega3 | Hz | Frequency of the third DiskChopper | 60 | +| ch1_open | deg | Angular opening of the first Diskchopper | 51.4 | +| ch2_open | deg | Angular opening of the second Diskchopper | 57.6 | +| ch3_open | deg | Angular opening of the third Diskchopper | 171.1 | +| ROT1 | deg | Positioning of central analyser wrt. the incoming beam, in the scattering plane | 90 | +| AN_ROT | deg | Out-of-plane rotation of analysers wrt. scattering plane | 2 | +| TOTAL_LENGTH | m | Total length of the guide system | 84 | +| dROT | deg | Positioning of neighbouring analysers wrt. central analyser | 11 | + +## Links + +- [Source code](SNS_BASIS.instr) for `SNS_BASIS.instr`. +- [Additional information](SNS_BASIS.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/SNS/SNS_analytic_test/README.md b/mcstas-comps/examples/SNS/SNS_analytic_test/README.md new file mode 100644 index 0000000000..58962acc96 --- /dev/null +++ b/mcstas-comps/examples/SNS/SNS_analytic_test/README.md @@ -0,0 +1,37 @@ +# The `SNS_analytic_test` Instrument + +*McStas: Simple test instrument for the SNS_source component.* + +## Identification + +- **Site:** SNS +- **Author:** G. Granroth +- **Origin:** SNS Project Oak Ridge National Laboratory +- **Date:** July 2004 + +## Description + +```text +Simple test instrument for the SNS_source component. +Refer to SNS Source files. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | string | Source file | "a1Gw2-5-f5_fit_fit.dat" | + +## Links + +- [Source code](SNS_analytic_test.instr) for `SNS_analytic_test.instr`. +- [Additional information](SNS_analytic_test.md) (only if available!) +- Written by G. Granroth +- SNS_source component +- Source files + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/SNS/SNS_test/README.md b/mcstas-comps/examples/SNS/SNS_test/README.md new file mode 100644 index 0000000000..0a26c723a4 --- /dev/null +++ b/mcstas-comps/examples/SNS/SNS_test/README.md @@ -0,0 +1,37 @@ +# The `SNS_test` Instrument + +*McStas: Simple test instrument for the SNS_source component.* + +## Identification + +- **Site:** SNS +- **Author:** G. Granroth +- **Origin:** SNS Project Oak Ridge National Laboratory +- **Date:** July 2004 + +## Description + +```text +Simple test instrument for the SNS_source component. +Refer to SNS Source files. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | string | Source input file | "source_sct091_tu_02_1.dat" | + +## Links + +- [Source code](SNS_test.instr) for `SNS_test.instr`. +- [Additional information](SNS_test.md) (only if available!) +- Written by G. Granroth +- SNS_source component +- Source files + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/TRIGA/RTP_DIF/README.md b/mcstas-comps/examples/TRIGA/RTP_DIF/README.md new file mode 100644 index 0000000000..f475f80e7e --- /dev/null +++ b/mcstas-comps/examples/TRIGA/RTP_DIF/README.md @@ -0,0 +1,39 @@ +# The `RTP_DIF` Instrument + +*McStas: A powder diffractometer at Reactor TRIGA PUSPATI (Malaysia)* + +## Identification + +- **Site:** TRIGA +- **Author:** E. Farhi and Megat Harun Al-Rashid +- **Origin:** ILL/RTP +- **Date:** June 2014 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Monochromator selected wavelength | 2.36 | +| DM | Angs | d-spacing for the monochromator reflection | 3.355 | +| Mono_tilt | deg | Tilt angle magnitude for the inner/outer mono slabs | 0 | +| powder | str | Filename of the powder sample | "Na2Ca3Al2F14.laz" | +| det_rotation | deg | Rotation of the portable detector | 45 | + +## Links + +- [Source code](RTP_DIF.instr) for `RTP_DIF.instr`. +- [Additional information](RTP_DIF.md) (only if available!) +- Nuclear Malaysia +- M. Sufi et al., J. AppL Cryst. (1997). 30, 884-888 [doi:10.1107/S0021889897001738] + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/TRIGA/RTP_Laue/README.md b/mcstas-comps/examples/TRIGA/RTP_Laue/README.md new file mode 100644 index 0000000000..6673ef11a1 --- /dev/null +++ b/mcstas-comps/examples/TRIGA/RTP_Laue/README.md @@ -0,0 +1,39 @@ +# The `RTP_Laue` Instrument + +*McStas: The NR instrument installed at Reactor TRIGA PUSPATI (Malaysia)* + +## Identification + +- **Site:** TRIGA +- **Author:** E. Farhi and Megat Harun Al-Rashid +- **Origin:** ILL/RTP +- **Date:** June 2014 + +## Description + +```text +This is a radiography installed on a radial beam port 3 at the Reactor TRIGA +PUSPATI (RTP). It uses a thermal beam port. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| theta | deg | horizontal rotation of the object | 0 | +| phi | deg | vertical rotation of the object | 0 | +| det_rotation | deg | detector rotation around the sample | 0 | +| reflections | str | sample configuration | "leucine.lau" | + +## Links + +- [Source code](RTP_Laue.instr) for `RTP_Laue.instr`. +- [Additional information](RTP_Laue.md) (only if available!) +- Nuclear Malaysia +- M. Sufi et al., J. AppL Cryst. (1997). 30, 884-888 [doi:10.1107/S0021889897001738] + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/TRIGA/RTP_NeutronRadiography/README.md b/mcstas-comps/examples/TRIGA/RTP_NeutronRadiography/README.md new file mode 100644 index 0000000000..463cc9a0e0 --- /dev/null +++ b/mcstas-comps/examples/TRIGA/RTP_NeutronRadiography/README.md @@ -0,0 +1,38 @@ +# The `RTP_NeutronRadiography` Instrument + +*McStas: The radiography instrument installed at Reactor TRIGA PUSPATI (Malaysia)* + +## Identification + +- **Site:** TRIGA +- **Author:** E. Farhi and Megat Harun Al-Rashid +- **Origin:** ILL/RTP +- **Date:** June 2014 + +## Description + +```text +This is a radiography station installed on a radial beam port 3 at the Reactor TRIGA +PUSPATI (RTP). It uses the thermal beam port 3. +The sample is made of 2 concentric cylinders made of Cu and Fe. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| theta | deg | horizontal rotation of the object | 0 | +| phi | deg | vertical rotation of the object | 0 | + +## Links + +- [Source code](RTP_NeutronRadiography.instr) for `RTP_NeutronRadiography.instr`. +- [Additional information](RTP_NeutronRadiography.md) (only if available!) +- Nuclear Malaysia +- M. Sufi et al., J. AppL Cryst. (1997). 30, 884-888 [doi:10.1107/S0021889897001738] + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/TRIGA/RTP_SANS/README.md b/mcstas-comps/examples/TRIGA/RTP_SANS/README.md new file mode 100644 index 0000000000..8f8dfd0bdb --- /dev/null +++ b/mcstas-comps/examples/TRIGA/RTP_SANS/README.md @@ -0,0 +1,52 @@ +# The `RTP_SANS` Instrument + +*McStas: The SANS instrument installed at Reactor TRIGA PUSPATI (Malaysia)* + +## Identification + +- **Site:** TRIGA +- **Author:** E. Farhi and Megat Harun Al-Rashid +- **Origin:** ILL/RTP +- **Date:** June 2014 + +## Description + +```text +This is a 4m long SANS installed on a radial beam port 4 at the Reactor TRIGA +PUSPATI (RTP). Te beam port 4 is a radial tube that originates from the core, +through the graphite reflector. A thick Be filter selects the cold tail of the +thermal spectrum, and removes higher order PG reflections. +A PG(002) monochromator selects the 5A neutrons that are sent into a 4m - 4m +SANS with a 60 cm PSD detector 128x128 pixels. +The monochromator is here used in fixed double focusing geometry. +The accessible Q range is then 0.01-0.1 Angs-1. + +This model contains a detailed description of the Be filter, monochromator +and SANS set-up. The Be filter is in the monochromator block. + +Example: mcrun RTP_SANS.instr lambda=5 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | monochromator selected wavelength | 5 | +| DM | Angs | d-spacing for the monochromator reflection | 3.355 | +| dlambda | Angs | monochromator wavelength spread | .2 | +| Be_Filter_depth | m | Depth of Be filter | .15 | +| Mono_tilt | deg | angle tilt between the 3 monochromator layers | -1 | +| mono_rotation | deg | additional monochromator offset rotation for e.g rocking curves | 0 | + +## Links + +- [Source code](RTP_SANS.instr) for `RTP_SANS.instr`. +- [Additional information](RTP_SANS.md) (only if available!) +- Nuclear Malaysia +- M. Sufi et al., J. AppL Cryst. (1997). 30, 884-888 [doi:10.1107/S0021889897001738] + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/TUDelft/SEMSANS_Delft/README.md b/mcstas-comps/examples/TUDelft/SEMSANS_Delft/README.md new file mode 100644 index 0000000000..6eeb37adc0 --- /dev/null +++ b/mcstas-comps/examples/TUDelft/SEMSANS_Delft/README.md @@ -0,0 +1,49 @@ +# The `SEMSANS_Delft` Instrument + +*McStas: Idealised SESANS instrument using magnetised foil flippers with realistic sample* + +## Identification + +- **Site:** TUDelft +- **Author:** Wim Bouwman (w.g.bouwman@tudelft.nl), Peter Willendrup and Erik Knudsen +- **Origin:** Delft University of Technology +- **Date:** December 2019 + +## Description + +```text +A full description of the instrument can be found in J. Appl. Cryst. (2021) V. 54 https://doi.org/10.1107/S1600576720015496 +The instrument has the bare essentials to simulate the Larmor precession of the neutron spins in the foil flippers and the +geometry and wavelength distribution of a version of SEMSANS that can be made from the SESANS in Delft as described in +Physica B 406(2011)2357–2360 https://doi.org/10.1016/j.physb.2010.11.069 +An essential component is the realistic SANS sample, describing both the scattered and transmitted neutron, including multiple scattering. +For a full SEMSANS scan the applied magnetic field By has to be scanned. +It is best to run it twice with the analyser in up and down orientation. +In principle the sample can be removed to study the empty beam instrument, which with this idealised setup have perfect polarisation. +It is possible to monitor the evolution of the polarisation with several polarisation monitors that have beeen commented in this version. +The foil-angle, thickness and wavelength yield now matched parameters to have the SESANS working. +These parameter and the sphere radius match now with the magnetic fields below to get a good measurement range. +A pretty high number of neutrons is needed to get good statistics in the fine position sensitive detector. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| L0 | AA | nominal wavelength | 2.165 | +| DL | AA | wavelength band width | 0.02 | +| By | T | Applied magnetic field in foil flippers | 4.68e-3 | +| AnaSign | | Direction of analyser (-1 or 1) | 1 | + +## Links + +- [Source code](SEMSANS_Delft.instr) for `SEMSANS_Delft.instr`. +- [Additional information](SEMSANS_Delft.md) (only if available!) +- +- https://doi.org/10.1107/S1600576720015496 + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/TUDelft/SEMSANS_instrument/README.md b/mcstas-comps/examples/TUDelft/SEMSANS_instrument/README.md new file mode 100644 index 0000000000..0884a3015a --- /dev/null +++ b/mcstas-comps/examples/TUDelft/SEMSANS_instrument/README.md @@ -0,0 +1,70 @@ +# The `SEMSANS_instrument` Instrument + +*McStas: SEMSANS-instrument* + +## Identification + +- **Site:** TUDelft +- **Author:** Morten Sales +- **Origin:** Copenhagen, Berlin, Delft +- **Date:** 2014 + +## Description + +```text +SEMSANS instrument with 2 isosceles triangular field coils +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| triacoil_depth | m | Half of the triangular coil depth in z-direction (one right triangle) | 1.935000e-01 | +| triacoil_width | m | xwidth of triangular coil | 7.042824e-02 | +| triacoil_height | m | yheight of triangular coil | 3.000000e-01 | +| pol_zdepth | m | Depth of the polariser along z | 9.300000e-01 | +| vcoil_zdepth | m | Depth along z of the v-coil flipper | 1.500000e-01 | +| Guide1_depth | m | Depth of first guide/precession field section | 1.650000e-02 | +| Guide2_depth | m | Depth of second guide/precession field section | 3.315000e-01 | +| Guide3_depth | m | Depth of third guide/precession field section | 3.315000e-01 | +| Guide4_depth | m | Depth of fourth guide/precession field section | 5.650000e-02 | +| Bguide | T | Field strength of guide/precession field | -5.000000e-04 | +| Bextra | T | Field strength of extra field in guide field 1 to acheive echo | -2.120000e-02 | +| Bt2 | T | Field in first triangular coil | -4.440000e-03 | +| Bt1 | T | Field in second triangular coil | -2.560000e-03 | +| DLambda | AA | Wavelength spread from source (half of it) | 4.166366e+00 | +| Lambda | AA | Mean wavelength | 4.559500e+00 | +| flippos | m | Position (away from position set by vcoil_34_pos) of pi-flipper | 3.100000e-02 | +| FLIP | 1 | Choose polarisation direction using v-coil pi/2-flipper (1 is down, -1 is up) | 1.000000e+00 | +| chop1_pos | m | Position of first chopper | 5.000000e-01 | +| chop2_pos | m | Position of second chopper | 9.740000e-01 | +| pol_pos | m | Position of polariser | 1.907000e+00 | +| analyser_pos | m | Position of analyser | 6.072000e+00 | +| grating_w | m | Width of transmitting part of grating | 1.570000e-03 | +| grating_a | m | Width of absorbing part of grating | 2.930000e-03 | +| slit_1_pos | m | Position of first slit | 2.957000e+00 | +| slit_2_pos | m | Position of second slit | 5.437000e+00 | +| Guide1_pos | m | Position of first guide/precession field | 3.307000e+00 | +| Guide2_pos | m | Position of second guide/precession field | 3.710500e+00 | +| Guide3_pos | m | Position of third guide/precession field | 4.342000e+00 | +| Guide4_pos | m | Position of fourth guide/precession field | 5.060500e+00 | +| vcoil_12_pos | m | Position of first v-coil pair | 3.157000e+00 | +| vcoil_34_pos | m | Position of second v-coil pair | 4.192000e+00 | +| vcoil_56_pos | m | Position of third v-coil pair | 5.267000e+00 | +| triacoil_1_pos | m | Position of first triangular coil (centre) | 3.517000e+00 | +| triacoil_2_pos | m | Position of second triangular coil (centre) | 4.867000e+00 | +| grating_pos | m | Position of grating | 6.757000e+00 | +| detector_pos | m | Position of detector | 6.957000e+00 | +| tlow | mu-s | tmin of detector | 2.190523040779461e+03 | +| thigh | mu-s | tmax of detector | 1.214744595341338e+04 | + +## Links + +- [Source code](SEMSANS_instrument.instr) for `SEMSANS_instrument.instr`. +- [Additional information](SEMSANS_instrument.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/TUDelft/SESANS_Delft/README.md b/mcstas-comps/examples/TUDelft/SESANS_Delft/README.md new file mode 100644 index 0000000000..f75286f5eb --- /dev/null +++ b/mcstas-comps/examples/TUDelft/SESANS_Delft/README.md @@ -0,0 +1,48 @@ +# The `SESANS_Delft` Instrument + +*McStas: Idealised SESANS instrument using magnetised foil flippers with realistic sample* + +## Identification + +- **Site:** TUDelft +- **Author:** Wim Bouwman (w.g.bouwman@tudelft.nl), Peter Willendrup and Erik Knudsen +- **Origin:** Delft University of Technology +- **Date:** December 2019 + +## Description + +```text + +A full description of the instrument can be found in J. Appl. Cryst. (2021) V. 54 https://doi.org/10.1107/S1600576720015496 +The instrument has the bare essentials to simulate the Larmor precession of the neutron spins in the foil flippers and the +geometry and wavelength distribution of the SESANS in Delft as described in +Rev. Sci. Instrum. 76, 033901 (2005) https://doi.org/10.1063/1.1858579 +An essential component is the realistic SANS sample, describing both the scattered and transmitted neutron, including multiple scattering. +In one scattering simulation both the up- and down intensities are simulated. +For a full SESANS scan the applied magnetic field By has to be scanned. +In principle the sample can be removed to study the empty beam instrument, which with this idealised setup have perfect polarisation. +It is possible to monitor the evolution of the polarisation with several polarisation monitors that have beeen commented in this version. +The foil-angle, thickness and wavelength yield now matched parameters to have the SESANS working. +These parameter and the sphere radius match now with the magnetic fields below to get a good measurement range. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| L0 | AA | nominal wavelength | 2.165 | +| DL | AA | wavelength band width | 0.02 | +| By | T | Applied magnetic field in foil flippers | 4.68e-3 | + +## Links + +- [Source code](SESANS_Delft.instr) for `SESANS_Delft.instr`. +- [Additional information](SESANS_Delft.md) (only if available!) +- +- https://doi.org/10.1107/S1600576720015496 + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/BTsimple/README.md b/mcstas-comps/examples/Templates/BTsimple/README.md new file mode 100644 index 0000000000..d5a508a802 --- /dev/null +++ b/mcstas-comps/examples/Templates/BTsimple/README.md @@ -0,0 +1,43 @@ +# The `BTsimple` Instrument + +*McStas: Example instrument showing how to calculate brilliance transfer using L_monitor's and WHEN statements* + +## Identification + +- **Site:** Templates +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** 2018/03/21 + +## Description + +```text +Example instrument showing how to calculate brilliance transfer using L_monitor's and WHEN statements +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Central wavelength produced at the source | 10 | +| dlambda | AA | Halfwidth of wavelength band produced at the source | 9.9 | +| maxhd | deg | Maxiamal horzizontal divergence accepted | 3 | +| maxvd | deg | Maxiamal vertical divergence accepted | 3 | +| gw | m | Opening-width of ellipitic guide | 0.1 | +| gh | m | Opening-height of ellipitic guide | 0.1 | +| gL | m | Length of ellipitic guide | 50 | +| gm | 1 | M-value of the guide coating | 6 | +| delta1 | m | Optional focal displacement of guide wrt source | 0 | +| delta2 | m | Optional focal displacement of guide wrt sample position | 0 | +| Nbins | 1 | Number of bins on Wavelength / Brilliance transfer monitors | 101 | + +## Links + +- [Source code](BTsimple.instr) for `BTsimple.instr`. +- [Additional information](BTsimple.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/Demo_shape_primitives/README.md b/mcstas-comps/examples/Templates/Demo_shape_primitives/README.md new file mode 100644 index 0000000000..400836bfbd --- /dev/null +++ b/mcstas-comps/examples/Templates/Demo_shape_primitives/README.md @@ -0,0 +1,33 @@ +# The `Demo_shape_primitives_simple` Instrument + +*McStas: Demonstration instrument of some shapes used for mcdisplay* + +## Identification + +- **Site:** Templates +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Feb 2018 + +## Description + +```text +This instrument will display a cylinder, a sphere, and a box, +when run with mcdisplay. Otherwise does nothing. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Demo_shape_primitives.instr) for `Demo_shape_primitives.instr`. +- [Additional information](Demo_shape_primitives.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/Demo_shape_primitives_simple/README.md b/mcstas-comps/examples/Templates/Demo_shape_primitives_simple/README.md new file mode 100644 index 0000000000..5252dd7bcd --- /dev/null +++ b/mcstas-comps/examples/Templates/Demo_shape_primitives_simple/README.md @@ -0,0 +1,33 @@ +# The `Demo_shape_primitives_simple` Instrument + +*McStas: Demonstration instrument of some shapes used for mcdisplay* + +## Identification + +- **Site:** Templates +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Feb 2018 + +## Description + +```text +This instrument will display a cylinder, a sphere, and a box, +when run with mcdisplay. Otherwise does nothing. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Demo_shape_primitives_simple.instr) for `Demo_shape_primitives_simple.instr`. +- [Additional information](Demo_shape_primitives_simple.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/TOF_Reflectometer/README.md b/mcstas-comps/examples/Templates/TOF_Reflectometer/README.md new file mode 100644 index 0000000000..6fb474731c --- /dev/null +++ b/mcstas-comps/examples/Templates/TOF_Reflectometer/README.md @@ -0,0 +1,48 @@ +# The `Reflectometer` Instrument + +*McStas: Horizontal reflectometer, multi-angle of incidence* + +## Identification + +- **Site:** Templates +- **Author:** Anette Vickery, contact: anette.vickery@fys.ku.dk +- **Origin:** KU +- **Date:** November 2011 + +## Description + +```text +A horizontal reflectometer. The instrument is built of a 2.5 m long mirror and an inclined elliptical guide. The grazing angle is defined by a set of +slits. The sample size is 4cm x 4cm (horizontal sample). +The role of the mirror is to provide an angle of incidence of up to 4 deg and at the same time avoid a direct line of sight to the source. +The reflectivity is the ratio between the direct beam reflected beam intensities. Therefore two simulations are needed to get the reflectivity curve: + +Example: mcrun Reflectometer.instr -n1e10 directbeam=1,thetasample=0.4,Qmin=0,Qmax=0.15 -d directbeam +Example: mcrun Reflectometer.instr -n1e10 directbeam=0,thetasample=0.4,Qmin=0,Qmax=0.15 -d reflectedbeam +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| directbeam | | If 1, the sample is a mirror with reflectivity 1. If 0, the mirror reflects like a D2O surface with zero roughness | 1 | +| Lam_min | AA | Minimum wavelength emitted by the cold moderator | 2.0 | +| Lam_max | AA | Maximum wavelength emitted by the cold moderator | 10 | +| deltatheta | % | The angular resolution | 2 | +| theta_sample | deg | The grazing angle | 1 | +| defineAngle | | If 0, the angle defining slits are wide open. If 1 the angular resolution is deltatheta | 1 | +| Qmin | AA^-1 | The minimum value of the interesting Qrange | 0 | +| Qmax | AA^-1 | The maximum value of the interesting Qrange | 0.5 | +| straight | | If 1, the guide walls are straight | 1 | +| width | m | The width of the guide in the case of straight guide walls | 0.05 | + +## Links + +- [Source code](TOF_Reflectometer.instr) for `TOF_Reflectometer.instr`. +- [Additional information](TOF_Reflectometer.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/Test_SasView_bcc_paracrystal_aniso/README.md b/mcstas-comps/examples/Templates/Test_SasView_bcc_paracrystal_aniso/README.md new file mode 100644 index 0000000000..5371e5e45b --- /dev/null +++ b/mcstas-comps/examples/Templates/Test_SasView_bcc_paracrystal_aniso/README.md @@ -0,0 +1,60 @@ +# The `test_SasView_bcc_paracrystal` Instrument + +*McStas: Test instrument for the SasView bcc_paracrystal model component as sample description.* + +## Identification + +- **Site:** Templates +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +Very simple test instrument for the SasView_bcc_paracrystal component + + +Example: model_scale=1 Detector: detector_I=83.8252 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Mean wavelength of neutrons. | 6 | +| dlambda | AA | Wavelength spread of neutrons. | 0.05 | +| dnn | | ([-inf, inf]) Nearest neighbour distance. | 220 | +| d_factor | | ([-inf, inf]) Paracrystal distortion factor. | 0.06 | +| radius | | ([0, inf]) Particle radius. | 40 | +| sld | | ([-inf, inf]) Particle scattering length density. | 4 | +| sld_solvent | | ([-inf, inf]) Solvent scattering length density. | 1 | +| theta | | | 60 | +| phi | | | 60 | +| Psi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | | | 0 | + +## Links + +- [Source code](Test_SasView_bcc_paracrystal_aniso.instr) for `Test_SasView_bcc_paracrystal_aniso.instr`. +- [Additional information](Test_SasView_bcc_paracrystal_aniso.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/Test_SasView_guinier/README.md b/mcstas-comps/examples/Templates/Test_SasView_guinier/README.md new file mode 100644 index 0000000000..a0a29d989c --- /dev/null +++ b/mcstas-comps/examples/Templates/Test_SasView_guinier/README.md @@ -0,0 +1,50 @@ +# The `test_SasView_guinier` Instrument + +*McStas: Test instrument for the SasView guinier model component as sample description.* + +## Identification + +- **Site:** Templates +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +Very simple test instrument for the SasView_guinier component +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Mean wavelength of neutrons. | 6 | +| dlambda | AA | Wavelength spread of neutrons. | 0.05 | +| rg | | ([-inf, inf]) Radius of Gyration. | 60.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | | | 0 | + +## Links + +- [Source code](Test_SasView_guinier.instr) for `Test_SasView_guinier.instr`. +- [Additional information](Test_SasView_guinier.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/Tomography/README.md b/mcstas-comps/examples/Templates/Tomography/README.md new file mode 100644 index 0000000000..6e30126050 --- /dev/null +++ b/mcstas-comps/examples/Templates/Tomography/README.md @@ -0,0 +1,52 @@ +# The `Tomography` Instrument + +*McStas: Instrument to study tomographic imaging by means of the feature of OFF shape samples.* + +## Identification + +- **Site:** Templates +- **Author:** Peter Willendrup, based on work by Reynald ARNERIN +- **Origin:** Risoe +- **Date:** June 20th, 2008 + +## Description + +```text +Instrument to study tomographic imaging by means of the feature of OFF shape samples. + +Example: mcrun Tomography.instr offfile=bunny.off -n1e4 -N18 omega=0,340 -d TomoScan +(Note that to achieve proper statistics for tomographic reconstruction, MUCH higher ncounts +are needed) + +Use the provided Matlab tomo_recon.m function (requires imaging toolbox, PGPLOT output data +and a Unix/Mac) in the tools/matlab folder to reconstruct a 3D volume of the object. Use e.g. +isosurface to do thresholding for extraction of the object surface. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| geometry | string | Name of the OFF file describing the sample shape | "socket.off" | +| omega | deg | Sample rotation around y | 0 | +| sigma_abs | barn | Sample absorption xs | 100 | +| frac_scatt | 1 | Fraction of neutrons to scatter in the sample | 0 | +| div_v | deg | Source vertical divergence (angular height) | 1e-4 | +| div_h | deg | Source horisontal divergence (angular width) | 1e-4 | +| source_w | m | Source width | 0.4 | +| source_h | m | Source height | 0.2 | +| det_w | m | Detector width | 0.4 | +| det_h | m | Detector height | 0.2 | +| opts | string | Monitor_nD options string | "x bins=80 y bins=40" | + +## Links + +- [Source code](Tomography.instr) for `Tomography.instr`. +- [Additional information](Tomography.md) (only if available!) +- http://shape.cs.princeton.edu/benchmark/documentation/off_format.html + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/mini/README.md b/mcstas-comps/examples/Templates/mini/README.md new file mode 100644 index 0000000000..d8173b8d2d --- /dev/null +++ b/mcstas-comps/examples/Templates/mini/README.md @@ -0,0 +1,34 @@ +# The `mini` Instrument + +*McStas: Minimalistic instrument for testing GPU implementation* + +## Identification + +- **Site:** Templates +- **Author:** Jakob Garde +- **Origin:** DTU +- **Date:** 2017 + +## Description + +```text +Minimalistic instrument for testing GPU implementation +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dummy | | Dummy input parameter | 0 | + +## Links + +- [Source code](mini.instr) for `mini.instr`. +- [Additional information](mini.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/template/README.md b/mcstas-comps/examples/Templates/template/README.md new file mode 100644 index 0000000000..1fcc72f5d0 --- /dev/null +++ b/mcstas-comps/examples/Templates/template/README.md @@ -0,0 +1,43 @@ +# The `template` Instrument + +*McStas: !!Please write a short instrument (1 line) here!!* + +## Identification + +- **Site:** Templates +- **Author:** Your name (email) +- **Origin:** Your institution +- **Date:** Current Date + +## Description + +```text +Instrument longer description (type, elements, usage...) + +Example: mcrun template.instr + +once your instrument is written and functional: +- replace INSTRUMENT_SITE entry above with your Institution name as a single word +- rename the instrument name after DEFINE INSTRUMENT below +- update the parameter help in the following Parameters section +- update the instrument description, and better add a usage example with a +sensible parameter set. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Par1 | | | 1 | + +## Links + +- [Source code](template.instr) for `template.instr`. +- [Additional information](template.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/templateDIFF/README.md b/mcstas-comps/examples/Templates/templateDIFF/README.md new file mode 100644 index 0000000000..072f7807dd --- /dev/null +++ b/mcstas-comps/examples/Templates/templateDIFF/README.md @@ -0,0 +1,66 @@ +# The `templateDIFF` Instrument + +*McStas: Simple monochromator Diffractometer for powders* + +## Identification + +- **Site:** Templates +- **Author:** E. Farhi +- **Origin:** LLB/ILL +- **Date:** 13 Apr 2006 + +## Description + +```text +A template powder diffractometer used as a tutorial at LLB. +Default geometry is from D20@ILL. + +If included after a guide, use ALPHA1=0 and L1=0 (the first collimator is then +the guide with effective ALPHA1=m*0.1*lambda). If you prefer to include +explicitely a collimator before the monochromator, use L1=1.2. + +Monochromator lattice parameter +PG 002 DM=3.355 AA (Highly Oriented Pyrolythic Graphite) +PG 004 DM=1.607 AA +Heusler 111 DM=3.362 AA (Cu2MnAl) +CoFe DM=1.771 AA (Co0.92Fe0.08) +Ge 111 DM=3.266 AA +Ge 311 DM=1.714 AA +Ge 511 DM=1.089 AA +Ge 533 DM=0.863 AA +Si 111 DM=3.135 AA +Cu 111 DM=2.087 AA +Cu 002 DM=1.807 AA +Cu 220 DM=1.278 AA +Cu 111 DM=2.095 AA +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Wavelength at monochromator, computed from DM and THETA_M if left as 0. | 1 | +| DM | Angs | d-spacing of monochromator, computed from lambda and THETA_M if left as 0. | 3.355 | +| Powder | str | File name for powder description | "Na2Ca3Al2F14.laz" | +| RV | m | Monochromator vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| L1 | m | Source-Monochromator distance | 17 | +| L2 | m | Monochromator-Sample distance | 3.2 | +| L3 | m | Sample-Detector distance | 1.471 | +| ALPHA1 | min | Horizontal collimator divergence for L1 arm (before monochromator) | 5 | +| ALPHA2 | min | Horizontal collimator divergence for L2 arm (monochromator-sample) | 60 | +| ALPHA3 | min | Horizontal collimator divergence for L3 arm (sample-detector) | 5 | +| ETA | min | Monochromator horizontal mosaic (gaussian) | 12 | +| verbose | int | Print DIF configuration. 0 to be quiet | 1 | +| THETA_M | deg | Monochromator take-off angle, computed from lambda and DM if left as 0. | 0 | +| SM | int | Scattering sense of beam from Monochromator. 1:left, -1:right | 1 | + +## Links + +- [Source code](templateDIFF.instr) for `templateDIFF.instr`. +- [Additional information](templateDIFF.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/templateLaue/README.md b/mcstas-comps/examples/Templates/templateLaue/README.md new file mode 100644 index 0000000000..c3d4ec017a --- /dev/null +++ b/mcstas-comps/examples/Templates/templateLaue/README.md @@ -0,0 +1,34 @@ +# The `templateLaue` Instrument + +*McStas: A simple Laue diffractometer* + +## Identification + +- **Site:** Templates +- **Author:** K. Nielsen +- **Origin:** ILL +- **Date:** June 2nd, 2010 + +## Description + +```text +A single crystal sample is illuminated with a white cold beam. +Based on a Laue tutorial written by K. Nielsen, Feb 7, 2000. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflections | string | Single crystal reflection list | "leucine.lau" | + +## Links + +- [Source code](templateLaue.instr) for `templateLaue.instr`. +- [Additional information](templateLaue.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/templateNMX/README.md b/mcstas-comps/examples/Templates/templateNMX/README.md new file mode 100644 index 0000000000..95ba21c9e5 --- /dev/null +++ b/mcstas-comps/examples/Templates/templateNMX/README.md @@ -0,0 +1,36 @@ +# The `templateNMX` Instrument + +*McStas: A simple Laue NMX diffractometer for macromolecules, adapted from the classic +templateLaue instrument.* + +## Identification + +- **Site:** Templates +- **Author:** K. Nielsen +- **Origin:** ILL +- **Date:** June 2nd, 2010 + +## Description + +```text +A single crystal sample is illuminated with a white cold beam. +Based on a Laue tutorial written by K. Nielsen, Feb 7, 2000. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| REPS | | Number of SPLIT repetitions | 1 | +| reflections | string | MX crystal reflection list | "Rubredoxin.lau" | + +## Links + +- [Source code](templateNMX.instr) for `templateNMX.instr`. +- [Additional information](templateNMX.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/templateNMX_TOF/README.md b/mcstas-comps/examples/Templates/templateNMX_TOF/README.md new file mode 100644 index 0000000000..b51c60dc1f --- /dev/null +++ b/mcstas-comps/examples/Templates/templateNMX_TOF/README.md @@ -0,0 +1,47 @@ +# The `templateNMX_TOF` Instrument + +*McStas: A simple Laue NMX TOF diffractometer for macromolecules, adapted from templateNMX +and templateLaue instruments. + +Demonstrates use of PSD_monitor_TOF. + +Example: templateNMX_TOF.instr REPS=53 reflections=Rubredoxin.lau theta=-40.85 phi=15.188 xw=0.012 yh=0.012 tmin=13000 tmax=15000 Detector: det_I=78816.1 +Example: templateNMX_TOF.instr REPS=5 reflections=YBaCuO.lau theta=-91.1 phi=0 xw=0.012 yh=0.012 tmax=7000 tmin=5000 Detector: det_I=6277.74* + +## Identification + +- **Site:** Templates +- **Author:** K. Nielsen +- **Origin:** DTU +- **Date:** June 2nd, 2010 + +## Description + +```text +A single crystal sample is illuminated with a white cold beam. +Based on a Laue tutorial written by K. Nielsen, Feb 7, 2000. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| REPS | | Number of SPLIT repetitions | 53 | +| reflections | string | MX crystal reflection list | "Rubredoxin.lau" | +| theta | deg | Rotation of sample around y (1st rotation) | -40.85 | +| phi | deg | Rotation of sample around x (2nd rotation) | 15.188 | +| xw | m | Width of final monitors | 0.012 | +| yh | m | Height of final monitors | 0.012 | +| tmin | mu-s | Minimum ToF to record | 0 | +| tmax | mu-s | Maximum ToF to record | 2e5 | + +## Links + +- [Source code](templateNMX_TOF.instr) for `templateNMX_TOF.instr`. +- [Additional information](templateNMX_TOF.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/templateSANS/README.md b/mcstas-comps/examples/Templates/templateSANS/README.md new file mode 100644 index 0000000000..5bf1311641 --- /dev/null +++ b/mcstas-comps/examples/Templates/templateSANS/README.md @@ -0,0 +1,39 @@ +# The `templateSANS` Instrument + +*McStas: Test instrument for the Sans_spheres component. No guide / velocity selector +etc. Will be developed further at later time.* + +## Identification + +- **Site:** Templates +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** 19th Dec 2003. + +## Description + +```text +Very simple test instrument for the Sans_spheres component +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Mean wavelength of neutrons | 6 | +| dlambda | AA | Wavelength spread of neutrons | 0.05 | +| r | AA | Radius of scattering hard spheres | 100 | +| PHI | 1 | Particle volume fraction | 1e-3 | +| Delta_Rho | fm/AA^3 | Excess scattering length density | 0.6 | +| sigma_abs | barns | Absorption cross section at 2200 m/s | 0.5 | + +## Links + +- [Source code](templateSANS.instr) for `templateSANS.instr`. +- [Additional information](templateSANS.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/templateSANS2/README.md b/mcstas-comps/examples/Templates/templateSANS2/README.md new file mode 100644 index 0000000000..cd26dbf872 --- /dev/null +++ b/mcstas-comps/examples/Templates/templateSANS2/README.md @@ -0,0 +1,40 @@ +# The `templateSANS2` Instrument + +*McStas: Test instrument for the SANS_spheres2 component. No guide / velocity selector.* + +## Identification + +- **Site:** Templates +- **Author:** Peter Willendrup, Wim G. Bouwman +- **Origin:** DTU +- **Date:** Dec 20190 + +## Description + +```text +Very simple test instrument for the SANS_spheres2 component, derived / simplified from +H. Frielinghaus SANS_benchmark2 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Mean wavelength of neutrons | 6 | +| dlambda | AA | Wavelength spread of neutrons | 0.05 | +| r | AA | Radius of scattering hard spheres | 150 | +| PHI | 1 | Particle volume fraction | 1e-3 | +| Delta_Rho | cm^-2 | Scattering length density | 6e10 | +| frac_dir | 1 | Fraction of statistics for direct beam | 0.03 | +| frac_inc | 1 | Fraction of statistics for incoherent scattering in scattered beam | 0.01 | + +## Links + +- [Source code](templateSANS2.instr) for `templateSANS2.instr`. +- [Additional information](templateSANS2.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/templateSANS_MCPL/README.md b/mcstas-comps/examples/Templates/templateSANS_MCPL/README.md new file mode 100644 index 0000000000..208b4c2e6e --- /dev/null +++ b/mcstas-comps/examples/Templates/templateSANS_MCPL/README.md @@ -0,0 +1,42 @@ +# The `templateSANS_MCPL` Instrument + +*McStas: Test instrument for the Sans_spheres component. No guide / velocity selector +etc. Will be developed further at later time. Behaves like the normal templateSANS +but dumps all events in an MCPL file.* + +## Identification + +- **Site:** Templates +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** 19th Dec 2003. + +## Description + +```text +Very simple test instrument for the Sans_spheres component + +Example: lambda=6 Detector: detector_I=6.56942e-17 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Mean wavelength of neutrons | 6 | +| dlambda | AA | Wavelength spread of neutrons | 0.05 | +| r | AA | Radius of scattering hard spheres | 100 | +| PHI | 1 | Particle volume fraction | 1e-3 | +| Delta_Rho | fm/AA^3 | Excess scattering length density | 0.6 | +| sigma_abs | barns | Absorption cross section at 2200 m/s | 0.5 | + +## Links + +- [Source code](templateSANS_MCPL.instr) for `templateSANS_MCPL.instr`. +- [Additional information](templateSANS_MCPL.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/templateSasView/README.md b/mcstas-comps/examples/Templates/templateSasView/README.md new file mode 100644 index 0000000000..e3c1a61bda --- /dev/null +++ b/mcstas-comps/examples/Templates/templateSasView/README.md @@ -0,0 +1,49 @@ +# The `templateSasView` Instrument + +*McStas: Test instrument for some SasView_model components. No guide / velocity selector +etc.* + +## Identification + +- **Site:** Templates +- **Author:** Torben Nielsen +- **Origin:** DTU Physics / ESS DMSC +- **Date:** + +## Description + +```text +Very simple test instrument for 3 examples from the suite of SasView_ components. +Select sample model with 'model_index': +1= SasView_barbell +3= SasView_bcc_paracrystal +47= SasView_parallelepiped +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Mean wavelength of neutrons | 6 | +| dlambda | AA | Wavelength spread of neutrons | 0.05 | +| model_index | | SASmodels model index (see SasView_model.comp mcdoc page) | 47 | +| par1 | | Slot 1 in SASmodel parameter vector | 0 | +| par2 | | Slot 2 in SASmodel parameter vector | 0 | +| par3 | | Slot 3 in SASmodel parameter vector | 0 | +| par4 | | Slot 4 in SASmodel parameter vector | 0 | +| par5 | | Slot 5 in SASmodel parameter vector | 0 | +| par6 | | Slot 6 in SASmodel parameter vector | 0 | +| par7 | | Slot 7 in SASmodel parameter vector | 0 | +| par8 | | Slot 8 in SASmodel parameter vector | 0 | +| Ncount | | | 0 | + +## Links + +- [Source code](templateSasView.instr) for `templateSasView.instr`. +- [Additional information](templateSasView.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/templateTAS/README.md b/mcstas-comps/examples/Templates/templateTAS/README.md new file mode 100644 index 0000000000..65362191e0 --- /dev/null +++ b/mcstas-comps/examples/Templates/templateTAS/README.md @@ -0,0 +1,137 @@ +# The `templateTAS` Instrument + +*McStas: Template RESCAL type triple-axis machine (TAS)* + +## Identification + +- **Site:** Templates +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 2006 + +## Description + +```text +This instrument is a simple model of triple-axis spectrometer. +It is directly illuminated by the moderator, +and has curved monochromator and analyzer. +Sample can be specified as a powder, liquid/amorphous or a pure incoherent +scatterer (e.g. vanadium, which is the default). +Sample geometry can be spherical or cylindrical. +For PG002 monochromator/analyzer setting, a reflectivity curve vs. wavelength +is used, else reflectivity is set to 70 %. To suppress collimators, set their +divergence to 0 (ALFn BETn). +Default instrument geometry is from IN20@ILL with PG monochromator/analyzer. + +Monochromator lattice parameter +PG 002 DM=3.355 AA (Highly Oriented Pyrolythic Graphite) +PG 004 DM=1.607 AA +Heusler 111 DM=3.362 AA (Cu2MnAl) +CoFe DM=1.771 AA (Co0.92Fe0.08) +Ge 111 DM=3.266 AA +Ge 311 DM=1.714 AA +Ge 511 DM=1.089 AA +Ge 533 DM=0.863 AA +Si 111 DM=3.135 AA +Cu 111 DM=2.087 AA +Cu 002 DM=1.807 AA +Cu 220 DM=1.278 AA +Cu 111 DM=2.095 AA + +IN22 configuration (at H25 thermal m=2 guide end): +KI=3.84, QM=1.0, EN=0.0, verbose=1, +WM=0.15, HM=0.12, NHM=1, NVM=9, RMV=-1, +WA=0.20, HA=0.10, NHA=11, NVA=3, RAV=-1, RAH=-1, +SM=-1, SS=1, SA=-1, +L1=10.0, L2=1.7, L3=1.0, L4=0.8 + +IN8 Configuration: with Copper optics +KF=5, KI=0, QM=0.5, EN=5, verbose=1 +WM=0.23, HM=0.19, RMH=-1, RMV=-1, DM=1.807, NHM=15, NVM=15, +WA=0.16, HA=0.08, RAH=-1, RAV=-1, DA=2.087, NHA=15, NVA=15, +L1=2.33 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| KI | Angs-1 | Incoming neutron wavevector | 2.662 | +| KF | Angs-1 | Outgoing neutron wavevector | 0 | +| EI | meV | Incoming neutron energy | 0 | +| EF | meV | Outgoing neutron energy | 0 | +| QH | rlu | Measurement QH position in crystal | 0 | +| QK | rlu | Measurement QK position in crystal | 0 | +| QL | rlu | Measurement QL position in crystal | 0 | +| EN | meV | Energy transfer in crystal | 0 | +| QM | Angs-1 | Wavevector transfer in crystal | 0 | +| KFIX | Angs-1 | Fixed KI or KF value for Rescal compatibility | 0 | +| FX | 1:KI,2:KF | Fixed KI or KF type for Rescal compatibility | 0 | +| L1 | m | Source-Monochromator distance. Contains 1st Collimator of length 5.34 | 9 | +| L2 | m | Monochromator-Sample distance. Contains 2nd Collimator of length 0.35 | 2.1 | +| L3 | m | Sample-Analyzer distance. Contains 3rd Collimator of length 0.40 | 1.5 | +| L4 | m | Analyzer-detector distance. Contains 4th Collimator of length 0.24 | 0.7 | +| SM | 1:left, -1:right | Scattering sense of beam from Monochromator | 1 | +| SS | 1:left, -1:right | Scattering sense of beam from Sample | -1 | +| SA | 1:left, -1:right | Scattering sense of beam from Analyzer | 1 | +| DM | Angs | Monochromator d-spacing | 3.3539 | +| DA | Angs | Analyzer d-spacing | 3.3539 | +| RMV | m | Monochromator vertical curvature, 0 for flat, -1 for automatic setting | -1 | +| RMH | m | Monochromator horizontal curvature, 0 for flat, -1 for automatic setting | 0 | +| RAV | m | Analyzer vertical curvature, 0 for flat, -1 for automatic setting | 0 | +| RAH | m | Analyzer horizontal curvature, 0 for flat, -1 for automatic setting | -1 | +| ETAM | arc min | Monochromator mosaic | 30 | +| ETAA | arc min | Analyzer mosaic | 30 | +| ALF1 | arc min | Horizontal collimation from Source to Monochromator | 60 | +| ALF2 | arc min | Horizontal collimation from Monochromator to Sample A | 60 | +| ALF3 | arc min | Horizontal collimation from Sample to Analyzer | 60 | +| ALF4 | arc min | Horizontal collimation from Analyzer to Detector | 60 | +| BET1 | arc min | Vertical collimation from Source to Monochromator | 120 | +| BET2 | arc min | Vertical collimation from Monochromator to Sample A | 120 | +| BET3 | arc min | Vertical collimation from Sample to Analyzer | 120 | +| BET4 | arc min | Vertical collimation from Analyzer to Detector | 120 | +| AS | Angs | Sample lattice parameter A | 6.28 | +| BS | Angs | Sample lattice parameter B | 6.28 | +| CS | Angs | Sample lattice parameter C | 6.28 | +| AA | deg | Angle between lattice vectors B,C | 90 | +| BB | deg | Angle between lattice vectors C,A | 90 | +| CC | deg | Angle between lattice vectors A,B | 90 | +| AX | rlu | First reciprocal lattice vector in scattering plane, X | 1 | +| AY | rlu | First reciprocal lattice vector in scattering plane, Y | 0 | +| AZ | rlu | First reciprocal lattice vector in scattering plane, Z | 0 | +| BX | rlu | Second reciprocal lattice vector in scattering plane, X | 0 | +| BY | rlu | Second reciprocal lattice vector in scattering plane, Y | 1 | +| BZ | rlu | Second reciprocal lattice vector in scattering plane, Z | 0 | +| verbose | 1 | print TAS configuration. 0 to be quiet | 1 | +| A1 | deg | Monohromator rotation angle | 0 | +| A2 | deg | Monohromator take-off angle | 0 | +| A3 | deg | Sample rotation angle | 0 | +| A4 | deg | Sample take-off angle | 0 | +| A5 | deg | Analyzer rotation angle | 0 | +| A6 | deg | Analyzer take-off angle | 0 | +| NHM | 1 | Number of horizontal slabs composing the monochromator | 1 | +| NVM | 1 | Number of vertical slabs composing the monochromator | 9 | +| WM | m | Width of monochromator | 0.10 | +| HM | m | Height of monochromator | 0.12 | +| NHA | 1 | Number of horizontal slabs composing the analyzer | 9 | +| NVA | 1 | Number of vertical slabs composing the analyzer | 1 | +| WA | m | Width of analyzer | 0.10 | +| HA | m | Height of analyzer | 0.12 | +| Sqw_coh | str | sample coherent S(q,w) file name. Use LAZ/LAU or SQW file | "NULL" | +| Sqw_inc | str | sample incoherent S(q,w) file name. Use NULL to scatter incoherently | "NULL" | +| radius | m | outer radius of sample hollow cylinder/sphere | 0.01 | +| thickness | m | thickness of sample hollow cylinder. 0 for bulk | 0.005 | +| height | m | sample height. Use 0 for a spherical shape | 0.05 | + +## Links + +- [Source code](templateTAS.instr) for `templateTAS.instr`. +- [Additional information](templateTAS.md) (only if available!) +- Rescal for Matlab at http://www.ill.eu/instruments-support/computing-for-science/cs-software/all-software/matlab-ill/ +- Restrax at http://omega.ujf.cas.cz/restrax/ + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/templateTOF/README.md b/mcstas-comps/examples/Templates/templateTOF/README.md new file mode 100644 index 0000000000..00a82426cb --- /dev/null +++ b/mcstas-comps/examples/Templates/templateTOF/README.md @@ -0,0 +1,54 @@ +# The `templateTOF` Instrument + +*McStas: A test instrument for the S(q,w) sample, with furnace/container* + +## Identification + +- **Site:** Templates +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** Jan 2004 + +## Description + +```text +This instrument is a test instrument for the S(q,w) sample. +It produces a tof-angle and q-energy detectors and also exports the +S(q,w) and S(q) data. +The sample environment is a single cylinder. +The sample container has the same shape as the sample itself, but is not +active when using a spherical sample shape (height=0). +detector is 2.5 m diameter, with 40 cm heigh, 1 inch diameter detector tubes. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | meV | incident neutron beam energy | 4.94 | +| dE | meV | incident neutron beam energy spread | 0.24 | +| dt | s | time spread from chopper distribution | 6.4e-6 | +| coh | str | sample coherent Sqw data file or NULL | "Rb_liq_coh.sqw" | +| inc | str | sample incoherent Sqw data file or NULL | "Rb_liq_inc.sqw" | +| thickness | m | thickness of sample. 0=filled | 1e-4 | +| yheight | m | height of sample. 0=sphere | 0.0168 | +| radius | m | radius of sample (outer) | 0.005 | +| container | str | container material or NULL | "Nb.laz" | +| container_thickness | m | container thickness | 50e-6 | +| environment | str | sample environment material or NULL | "Al.laz" | +| environment_radius | m | sample environment outer radius | 0.025 | +| environment_thickness | m | sample environment thickness | 2e-3 | +| dt0 | | | 0 | + +## Links + +- [Source code](templateTOF.instr) for `templateTOF.instr`. +- [Additional information](templateTOF.md) (only if available!) +- The Isotropic_Sqw sample +- The Samples_Isotropic_Sqw example instrument + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Templates/template_simple/README.md b/mcstas-comps/examples/Templates/template_simple/README.md new file mode 100644 index 0000000000..268a448f3c --- /dev/null +++ b/mcstas-comps/examples/Templates/template_simple/README.md @@ -0,0 +1,36 @@ +# The `template_simple` Instrument + +*McStas: instrument short description* + +## Identification + +- **Site:** Templates +- **Author:** your name (email) +- **Origin:** your institution +- **Date:** current date + +## Description + +```text +instrument description + +Example: parameters=values +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Par1 | unit | Parameter1 description | 1 | + +## Links + +- [Source code](template_simple.instr) for `template_simple.instr`. +- [Additional information](template_simple.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_MCPL_etc/Test_MCPL_input/README.md b/mcstas-comps/examples/Tests_MCPL_etc/Test_MCPL_input/README.md new file mode 100644 index 0000000000..2ac4155686 --- /dev/null +++ b/mcstas-comps/examples/Tests_MCPL_etc/Test_MCPL_input/README.md @@ -0,0 +1,37 @@ +# The `Test_MCPL_input` Instrument + +*McStas: A test instrument for MCPL_input* + +## Identification + +- **Site:** Tests_MCPL_etc +- **Author:** Erik B Knudsen +- **Origin:** DTU +- **Date:** Mar 2016 + +## Description + +```text +This is a unit test for the MCPL_input component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| repeat | 1 | Repeat the contents of the inputfile this many times. NB: When using MPI you implicitly repeat by #mpi processes | 1 | +| v_smear | 1 | When repeating, make Gaussian MC choice on particle velocity with spread v_smear * particle velocity | 0.1 | +| pos_smear | m | When repeating, make uniform MC choice on sphere of radius pos_spear around particle position | 0.001 | +| dir_smear | deg | When repeating, make Gaussian MC choice in cone of opening dir_smear around particle direction | 0.01 | +| MCPLFILE | str | Input MCPL file. | "voutput.mcpl" | + +## Links + +- [Source code](Test_MCPL_input.instr) for `Test_MCPL_input.instr`. +- [Additional information](Test_MCPL_input.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_MCPL_etc/Test_MCPL_input_once/README.md b/mcstas-comps/examples/Tests_MCPL_etc/Test_MCPL_input_once/README.md new file mode 100644 index 0000000000..ebc8c56415 --- /dev/null +++ b/mcstas-comps/examples/Tests_MCPL_etc/Test_MCPL_input_once/README.md @@ -0,0 +1,38 @@ +# The `Test_MCPL_input_once` Instrument + +*McStas: A test instrument for MCPL_input_once* + +## Identification + +- **Site:** Tests_MCPL_etc +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Mar 2024 + +## Description + +```text +This is a unit test for the MCPL_input_once component, which differs from the original MCPL_input by: +1) Being MPI-parallelized (no implicit "repeat" of the particles in the file, file content is shared among processes +2) No implementation of "repetition", if further stats is needed downstream, SPLIT should be applied +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| v_smear | 1 | Mmake Gaussian MC choice on particle velocity with spread v_smear * particle velocity | 0.1 | +| pos_smear | m | Make uniform MC choice on sphere of radius pos_spear around particle position | 0.001 | +| dir_smear | deg | Make Gaussian MC choice in cone of opening dir_smear around particle direction | 0.01 | +| MCPLFILE | str | Input MCPL file. | "voutput.mcpl" | + +## Links + +- [Source code](Test_MCPL_input_once.instr) for `Test_MCPL_input_once.instr`. +- [Additional information](Test_MCPL_input_once.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_MCPL_etc/Test_MCPL_output/README.md b/mcstas-comps/examples/Tests_MCPL_etc/Test_MCPL_output/README.md new file mode 100644 index 0000000000..78af2cadfb --- /dev/null +++ b/mcstas-comps/examples/Tests_MCPL_etc/Test_MCPL_output/README.md @@ -0,0 +1,33 @@ +# The `Test_MCPL_output` Instrument + +*McStas: A test instrument for MCPL_output* + +## Identification + +- **Site:** Tests_MCPL_etc +- **Author:** Erik B Knudsen +- **Origin:** DTU +- **Date:** Mar 2016 + +## Description + +```text +This is a unit test for the MCPL_output component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Ncount defined via input parameter | 1e3 | + +## Links + +- [Source code](Test_MCPL_output.instr) for `Test_MCPL_output.instr`. +- [Additional information](Test_MCPL_output.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_RNG/Test_RNG_rand01/README.md b/mcstas-comps/examples/Tests_RNG/Test_RNG_rand01/README.md new file mode 100644 index 0000000000..abf417ba3d --- /dev/null +++ b/mcstas-comps/examples/Tests_RNG/Test_RNG_rand01/README.md @@ -0,0 +1,41 @@ +# The `Test_RNG_rand01` Instrument + +*McStas: Instrument to get basic test output from random number generator.* + +## Identification + +- **Site:** Tests_RNG +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 2nd, 2020 + +## Description + +```text +Instrument to get basic test output from random number generator. + +The instrument generates 2 randon numbers pr. particle using randpm1(), +encoded into the particle x and y coordinates. + +For a low statistics, one may e.g. check that setting the seed gives +varied output or fixing the seed gives fixed output· +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000 | +| seed | 1 | Specify RNG seed | 0 | + +## Links + +- [Source code](Test_RNG_rand01.instr) for `Test_RNG_rand01.instr`. +- [Additional information](Test_RNG_rand01.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_RNG/Test_RNG_randnorm/README.md b/mcstas-comps/examples/Tests_RNG/Test_RNG_randnorm/README.md new file mode 100644 index 0000000000..9079eccbf7 --- /dev/null +++ b/mcstas-comps/examples/Tests_RNG/Test_RNG_randnorm/README.md @@ -0,0 +1,41 @@ +# The `Test_RNG_randnorm` Instrument + +*McStas: Instrument to get basic test output from random number generator.* + +## Identification + +- **Site:** Tests_RNG +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 2nd, 2020 + +## Description + +```text +Instrument to get basic test output from random number generator. + +The instrument generates 2 randon numbers pr. particle using randpm1(), +encoded into the particle x and y coordinates. + +For a low statistics, one may e.g. check that setting the seed gives +varied output or fixing the seed gives fixed output· +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000000 | +| seed | 1 | Specify RNG seed | 0 | + +## Links + +- [Source code](Test_RNG_randnorm.instr) for `Test_RNG_randnorm.instr`. +- [Additional information](Test_RNG_randnorm.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_RNG/Test_RNG_randpm1/README.md b/mcstas-comps/examples/Tests_RNG/Test_RNG_randpm1/README.md new file mode 100644 index 0000000000..b69d1df2f8 --- /dev/null +++ b/mcstas-comps/examples/Tests_RNG/Test_RNG_randpm1/README.md @@ -0,0 +1,41 @@ +# The `Test_RNG_randpm1` Instrument + +*McStas: Instrument to get basic test output from random number generator.* + +## Identification + +- **Site:** Tests_RNG +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 2nd, 2020 + +## Description + +```text +Instrument to get basic test output from random number generator. + +The instrument generates 2 randon numbers pr. particle using randpm1(), +encoded into the particle x and y coordinates. + +For a low statistics, one may e.g. check that setting the seed gives +varied output or fixing the seed gives fixed output· +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000 | +| seed | 1 | Specify RNG seed | 0 | + +## Links + +- [Source code](Test_RNG_randpm1.instr) for `Test_RNG_randpm1.instr`. +- [Additional information](Test_RNG_randpm1.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_RNG/Test_RNG_randtriangle/README.md b/mcstas-comps/examples/Tests_RNG/Test_RNG_randtriangle/README.md new file mode 100644 index 0000000000..392cca5611 --- /dev/null +++ b/mcstas-comps/examples/Tests_RNG/Test_RNG_randtriangle/README.md @@ -0,0 +1,41 @@ +# The `Test_RNG_randtriangle` Instrument + +*McStas: Instrument to get basic test output from random number generator.* + +## Identification + +- **Site:** Tests_RNG +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 2nd, 2020 + +## Description + +```text +Instrument to get basic test output from random number generator. + +The instrument generates 2 randon numbers pr. particle using randpm1(), +encoded into the particle x and y coordinates. + +For a low statistics, one may e.g. check that setting the seed gives +varied output or fixing the seed gives fixed output· +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000000 | +| seed | 1 | Specify RNG seed | 0 | + +## Links + +- [Source code](Test_RNG_randtriangle.instr) for `Test_RNG_randtriangle.instr`. +- [Additional information](Test_RNG_randtriangle.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_RNG/Test_RNG_randvec_target_circle/README.md b/mcstas-comps/examples/Tests_RNG/Test_RNG_randvec_target_circle/README.md new file mode 100644 index 0000000000..b95d5838b2 --- /dev/null +++ b/mcstas-comps/examples/Tests_RNG/Test_RNG_randvec_target_circle/README.md @@ -0,0 +1,42 @@ +# The `Test_RNG_randvec_target_circle` Instrument + +*McStas: Instrument to get basic test output from random number generator.* + +## Identification + +- **Site:** Tests_RNG +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 2nd, 2020 + +## Description + +```text +Instrument to get basic test output from random number generator. + +The instrument generates 2 randon numbers pr. particle using randpm1(), +encoded into the particle x and y coordinates. + +For a low statistics, one may e.g. check that setting the seed gives +varied output or fixing the seed gives fixed output· +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000000 | +| seed | 1 | Specify RNG seed | 0 | +| dist | m | Distance between synthetic point-source and monitor | 1 | + +## Links + +- [Source code](Test_RNG_randvec_target_circle.instr) for `Test_RNG_randvec_target_circle.instr`. +- [Additional information](Test_RNG_randvec_target_circle.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_RNG/Test_RNG_randvec_target_rect/README.md b/mcstas-comps/examples/Tests_RNG/Test_RNG_randvec_target_rect/README.md new file mode 100644 index 0000000000..0805d81e88 --- /dev/null +++ b/mcstas-comps/examples/Tests_RNG/Test_RNG_randvec_target_rect/README.md @@ -0,0 +1,42 @@ +# The `Test_RNG_randvec_target_rect` Instrument + +*McStas: Instrument to get basic test output from random number generator.* + +## Identification + +- **Site:** Tests_RNG +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 2nd, 2020 + +## Description + +```text +Instrument to get basic test output from random number generator. + +The instrument generates 2 randon numbers pr. particle using randpm1(), +encoded into the particle x and y coordinates. + +For a low statistics, one may e.g. check that setting the seed gives +varied output or fixing the seed gives fixed output· +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000000 | +| seed | 1 | Specify RNG seed | 0 | +| dist | m | Distance between synthetic point-source and monitor | 1 | + +## Links + +- [Source code](Test_RNG_randvec_target_rect.instr) for `Test_RNG_randvec_target_rect.instr`. +- [Additional information](Test_RNG_randvec_target_rect.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_RNG/Test_RNG_randvec_target_rect_angular/README.md b/mcstas-comps/examples/Tests_RNG/Test_RNG_randvec_target_rect_angular/README.md new file mode 100644 index 0000000000..627b97d509 --- /dev/null +++ b/mcstas-comps/examples/Tests_RNG/Test_RNG_randvec_target_rect_angular/README.md @@ -0,0 +1,42 @@ +# The `Test_RNG_randvec_target_rect_angular` Instrument + +*McStas: Instrument to get basic test output from random number generator.* + +## Identification + +- **Site:** Tests_RNG +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 2nd, 2020 + +## Description + +```text +Instrument to get basic test output from random number generator. + +The instrument generates 2 randon numbers pr. particle using randpm1(), +encoded into the particle x and y coordinates. + +For a low statistics, one may e.g. check that setting the seed gives +varied output or fixing the seed gives fixed output· +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000000 | +| seed | 1 | Specify RNG seed | 0 | +| angle | deg | Angular focusing settin | 45 | + +## Links + +- [Source code](Test_RNG_randvec_target_rect_angular.instr) for `Test_RNG_randvec_target_rect_angular.instr`. +- [Additional information](Test_RNG_randvec_target_rect_angular.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_grammar/README.md b/mcstas-comps/examples/Tests_grammar/README.md new file mode 100644 index 0000000000..a81b23231a --- /dev/null +++ b/mcstas-comps/examples/Tests_grammar/README.md @@ -0,0 +1,41 @@ +# The `Test_GROUP_restore` Instrument + +*McStas: Test instrument for GROUP of monitors using restore_neutron* + +## Identification + +- **Site:** Tests_grammar +- **Author:** Peter Willendrup +- **Origin:** DTU/ESS +- **Date:** June 2024 + +## Description + +```text +Test instrument for GROUP of monitors using restore_neutron. + +1st test: Source emits intensity of 6e6 - "cube" positioned monitors each catch 1/6 of that. +2nd test: Reduced dimension of monitors mean a fraction is lost in the GROUP +3rd test: Adding a "catchall" arm recovers the intensity +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dim | m | Width/height of monitors in "cubic" GROUP arrangement | 4 | +| catchall | 1 | Flag to indicate if "catchall"-Arm is included in GROUP | 0 | +| restore | | | 1 | +| src_dim | m | radius of 4PI-emitting source | 0.01 | + +## Links + +- [Source code](Test_GROUP_restore.instr) for `Test_GROUP_restore.instr`. +- [Additional information](Test_GROUP_restore.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_grammar/Test_GROUP/README.md b/mcstas-comps/examples/Tests_grammar/Test_GROUP/README.md new file mode 100644 index 0000000000..6531c595a2 --- /dev/null +++ b/mcstas-comps/examples/Tests_grammar/Test_GROUP/README.md @@ -0,0 +1,34 @@ +# The `Test_GROUP` Instrument + +*McStas: Tests that GROUP logic works as expected* + +## Identification + +- **Site:** Tests_grammar +- **Author:** Erik Knudsen, Peter Willendrup +- **Origin:** DTU +- **Date:** 2021/09/30 + +## Description + +```text +Unit test for the GROUP logic +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| SLITW | m | Width of the GROUP'ed slits | 1e-6 | +| SIGNI | 1 | Which slit should be hit (left or right) | 1 | + +## Links + +- [Source code](Test_GROUP.instr) for `Test_GROUP.instr`. +- [Additional information](Test_GROUP.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_grammar/Test_Jump_Iterate/README.md b/mcstas-comps/examples/Tests_grammar/Test_Jump_Iterate/README.md new file mode 100644 index 0000000000..ef87640797 --- /dev/null +++ b/mcstas-comps/examples/Tests_grammar/Test_Jump_Iterate/README.md @@ -0,0 +1,38 @@ +# The `Test_Jump_Iterate` Instrument + +*McStas: A test of the JUMP ITERATE keyword to describe a long curved guide in a concise way.* + +## Identification + +- **Site:** Tests_grammar +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** March 30, 2015 + +## Description + +```text +A curved guide made of only two guide elements which are iterated with slight +rotation in between, to describe a long curved guide. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| L | m | total length of curved section | 60 | +| numel | 1 | number of guide elements, each of length L/numel | 30 | +| R | m | curvature radius | 1500 | +| width | m | width of guide element | 0.03 | +| m | 1 | super-mirror coating wrt Ni, e.g. m=2 | 2 | + +## Links + +- [Source code](Test_Jump_Iterate.instr) for `Test_Jump_Iterate.instr`. +- [Additional information](Test_Jump_Iterate.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_grammar/Unittest_ALLOW_BACKPROP/README.md b/mcstas-comps/examples/Tests_grammar/Unittest_ALLOW_BACKPROP/README.md new file mode 100644 index 0000000000..667f58905a --- /dev/null +++ b/mcstas-comps/examples/Tests_grammar/Unittest_ALLOW_BACKPROP/README.md @@ -0,0 +1,40 @@ +# The `Unittest_ALLOW_BACKPROP` Instrument + +*McStas: Unittest for ALLOW_BACKPROP macro* + +## Identification + +- **Site:** Tests_grammar +- **Author:** Peter Willendrup +- **Origin:** ESS +- **Date:** February 2026 + +## Description + +```text +Unittest to ensure that the macro ALLOW_BACKPROP works correctly. + +The test instrument includes two monitors, with a selectable ALLOW_BACKPROP in between. +The second monitor is placed physically "earlier" than the first, but logically after. + +1) With Backprop=0 the second monitor (closer to the source) should yield a signal of 0 +2) With Backprop=1 the second monitor should measure a signal since backpropagation is allowed +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Backprop | 1 | Flag to enable the ALLOW_BACKPROP macro | 0 | + +## Links + +- [Source code](Unittest_ALLOW_BACKPROP.instr) for `Unittest_ALLOW_BACKPROP.instr`. +- [Additional information](Unittest_ALLOW_BACKPROP.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_grammar/Unittest_JUMP_ITERATE/README.md b/mcstas-comps/examples/Tests_grammar/Unittest_JUMP_ITERATE/README.md new file mode 100644 index 0000000000..8560ec3923 --- /dev/null +++ b/mcstas-comps/examples/Tests_grammar/Unittest_JUMP_ITERATE/README.md @@ -0,0 +1,39 @@ +# The `Unittest_JUMP_ITERATE` Instrument + +*McStas: JUMP ITERATE unittest* + +## Identification + +- **Site:** Tests_grammar +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 28th, 2021 + +## Description + +```text +JUMP ITERATE unittest + +The instrument uses JUMP ITERATE to let each particle make n='jumps' returns +to the monitor. The particles have unit weight and hence the intensity scales +with the simulated statistics. (Use input parameter Ncount for setting the stats). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000 | +| jumps | 1 | Number of jumps | 10 | + +## Links + +- [Source code](Unittest_JUMP_ITERATE.instr) for `Unittest_JUMP_ITERATE.instr`. +- [Additional information](Unittest_JUMP_ITERATE.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_grammar/Unittest_JUMP_WHEN/README.md b/mcstas-comps/examples/Tests_grammar/Unittest_JUMP_WHEN/README.md new file mode 100644 index 0000000000..cf95cc84db --- /dev/null +++ b/mcstas-comps/examples/Tests_grammar/Unittest_JUMP_WHEN/README.md @@ -0,0 +1,39 @@ +# The `Unittest_JUMP_WHEN` Instrument + +*McStas: JUMP WHEN unittest* + +## Identification + +- **Site:** Tests_grammar +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 28th, 2021 + +## Description + +```text +JUMP WHEN unittest. + +One unit of intensity is emitted from a 1x1 m. The particles generated in +one source quadrant is repteated 'jumps' times. Resulting intensity should be: +1 + 0.25*jumps; +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| jumps | 1 | Number of jumps to do | 10 | +| Pp0 | 1 | Dummy input parameter used internally | 0 | + +## Links + +- [Source code](Unittest_JUMP_WHEN.instr) for `Unittest_JUMP_WHEN.instr`. +- [Additional information](Unittest_JUMP_WHEN.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_grammar/Unittest_SPLIT/README.md b/mcstas-comps/examples/Tests_grammar/Unittest_SPLIT/README.md new file mode 100644 index 0000000000..fdd25dd62b --- /dev/null +++ b/mcstas-comps/examples/Tests_grammar/Unittest_SPLIT/README.md @@ -0,0 +1,37 @@ +# The `Unittest_SPLIT` Instrument + +*McStas: SPLIT unittest* + +## Identification + +- **Site:** Tests_grammar +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 28th, 2021 + +## Description + +```text +SPLIT unittest. + +One unit of intensity is emitted from a 1x1 m. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| SPLITS | 1 | Number of SPLIT to do | 10 | +| Pp0 | 1 | Dummy input parameter used internally | 1 | + +## Links + +- [Source code](Unittest_SPLIT.instr) for `Unittest_SPLIT.instr`. +- [Additional information](Unittest_SPLIT.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_grammar/Unittest_SPLIT_sample/README.md b/mcstas-comps/examples/Tests_grammar/Unittest_SPLIT_sample/README.md new file mode 100644 index 0000000000..578f58e381 --- /dev/null +++ b/mcstas-comps/examples/Tests_grammar/Unittest_SPLIT_sample/README.md @@ -0,0 +1,38 @@ +# The `Unittest_SPLIT_sample` Instrument + +*McStas: SPLIT unittest including samples* + +## Identification + +- **Site:** Tests_grammar +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 28th, 2021 + +## Description + +```text +SPLIT unittest. + +One unit of intensity is emitted from a 1x1 m. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| SAMPLE | | | 1 | +| SPLITS | 1 | Number of SPLIT to do | 10 | +| Pp0 | 1 | Dummy input parameter used internally | 1 | + +## Links + +- [Source code](Unittest_SPLIT_sample.instr) for `Unittest_SPLIT_sample.instr`. +- [Additional information](Unittest_SPLIT_sample.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_monitors/Test_Cyl_monitors/README.md b/mcstas-comps/examples/Tests_monitors/Test_Cyl_monitors/README.md new file mode 100644 index 0000000000..fb9a9e691f --- /dev/null +++ b/mcstas-comps/examples/Tests_monitors/Test_Cyl_monitors/README.md @@ -0,0 +1,44 @@ +# The `Test_Cyl_monitors` Instrument + +*McStas: Test Monitor_nD against basic monitor* + +## Identification + +- **Site:** Tests_monitors +- **Author:** P. Willendrup +- **Origin:** DTU +- **Date:** 30. September 2020 + +## Description + +```text +A test instrument to compare Monitor_nD output against basic 1D and 2D monitors. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Wavelength at monochromator, computed from DM and THETA_M if left as 0. | 5 | +| L1 | m | Source-sample distance | 10 | +| bins | | Number of bins on monitors | 100 | +| omega | deg | Focusing angle wrt. sample | 90 | +| thmin | deg | Minimum angle mesured | -180 | +| thmax | deg | Maximum angle mesured | 180 | +| focus_aw | deg | Angular width of focusing from sample | 10 | +| focus_ah | deg | Angular height of focusing from sample | 2 | +| focus_xw | m | Width of focusing from sample | 0 | +| focus_yh | m | Height of focusing from sample | 0 | +| tx | | | 0 | +| tz | | | 0 | + +## Links + +- [Source code](Test_Cyl_monitors.instr) for `Test_Cyl_monitors.instr`. +- [Additional information](Test_Cyl_monitors.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_monitors/Test_Monitor_nD/README.md b/mcstas-comps/examples/Tests_monitors/Test_Monitor_nD/README.md new file mode 100644 index 0000000000..d413dc83d4 --- /dev/null +++ b/mcstas-comps/examples/Tests_monitors/Test_Monitor_nD/README.md @@ -0,0 +1,39 @@ +# The `Test_Monitor_nD` Instrument + +*McStas: Test Monitor_nD against basic monitor* + +## Identification + +- **Site:** Tests_monitors +- **Author:** P. Willendrup +- **Origin:** DTU +- **Date:** 30. September 2020 + +## Description + +```text +A test instrument to compare Monitor_nD output against basic 1D and 2D monitors. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Wavelength at monochromator, computed from DM and THETA_M if left as 0. | 1 | +| L1 | m | Source-sample distance | 10 | +| bins | | Number of bins on monitors | 100 | +| xw | m | Width of detector | 0.11 | +| yh | m | Height of detector | 0.16 | +| hdiv | deg | Horizontal divergence measured by detector | 2 | +| vdiv | deg | Vertical divergence measured by detector | 2 | + +## Links + +- [Source code](Test_Monitor_nD.instr) for `Test_Monitor_nD.instr`. +- [Additional information](Test_Monitor_nD.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_monitors/Test_TOF_PSDmonitor_toQ/README.md b/mcstas-comps/examples/Tests_monitors/Test_TOF_PSDmonitor_toQ/README.md new file mode 100644 index 0000000000..02397c7c67 --- /dev/null +++ b/mcstas-comps/examples/Tests_monitors/Test_TOF_PSDmonitor_toQ/README.md @@ -0,0 +1,37 @@ +# The `Test_TOF_PSDmonitor_toQ` Instrument + +*McStas: Test instrument for monitor TOF_PSDmonitor_toQ (Rob Dalgliesh)* + +## Identification + +- **Site:** Tests_monitors +- **Author:** Peter Willendrup +- **Origin:** ESS +- **Date:** 20251207 + +## Description + +```text +Rudimentary test-instrument for monitor TOF_PSDmonitor_toQ developed by Rob Dalgliesh, ISIS. + +The tested monitor is a 1-dimensional Q-monitor that calculates Q from "measured" time-of-flight, +i.e. not from particle velocity parameters. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| theta | degs | Scattering angle | 0.91 | + +## Links + +- [Source code](Test_TOF_PSDmonitor_toQ.instr) for `Test_TOF_PSDmonitor_toQ.instr`. +- [Additional information](Test_TOF_PSDmonitor_toQ.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Al_windows/README.md b/mcstas-comps/examples/Tests_optics/Test_Al_windows/README.md new file mode 100644 index 0000000000..ac0ae8ae8a --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Al_windows/README.md @@ -0,0 +1,46 @@ +# The `Test_Al_windows` Instrument + +*McStas: Small test instrument for studying Al-window performance* + +## Identification + +- **Site:** Tests_optics +- **Author:** Peter Willendrup +- **Origin:** ESS +- **Date:** 20260316 + +## Description + +```text +Test instrument for studying transmission through Al-windows. + +Includes 3 models of increasing complexity / sophistication: +1) Al_window(),: +- simple linear absorption + 4th order scattering model +- infinite-plane geometry +2) PowderN() +- Material specified from Al.laz input-file +- Parametrized for 80% statistics -> transmission +3) NCrystal() +- Material specified from local Al as .ncmat format input +(generated from CIF file COD / 1502689) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Window | 1 | Choice of Al_Window (1), PowderN (2) or NCrystal (3) model | 1 | +| thickness | m | Thickness of Al window | 0.005 | + +## Links + +- [Source code](Test_Al_windows.instr) for `Test_Al_windows.instr`. +- [Additional information](Test_Al_windows.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Collimator_Radial/README.md b/mcstas-comps/examples/Tests_optics/Test_Collimator_Radial/README.md new file mode 100644 index 0000000000..1da259fcf8 --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Collimator_Radial/README.md @@ -0,0 +1,37 @@ +# The `Test_Collimator_Radial` Instrument + +*McStas: Cross comparison of radial collimator components* + +## Identification + +- **Site:** Tests_optics +- **Author:** E. Farhi [farhi@ill.fr] +- **Origin:** ILL +- **Date:** Sept 1st, 2008 + +## Description + +```text +Cross comparison of radial collimator components, using McStas and +contributed components. It shows that all implementations are equivalent. +The Exact_radial_coll contributed component also takes into account the absorbing +blade thickness between slits, which decreases slightly intensity. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Collimator | 1 | Choice of radial collimator component to test, with 1=Collimator_Radial, 2=Collimator_ROC, 3=Exact_radial_coll. | 1 | +| Powder | string | Reflection list for powder-sample | "Na2Ca3Al2F14.laz" | + +## Links + +- [Source code](Test_Collimator_Radial.instr) for `Test_Collimator_Radial.instr`. +- [Additional information](Test_Collimator_Radial.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Conics_pairs/README.md b/mcstas-comps/examples/Tests_optics/Test_Conics_pairs/README.md new file mode 100644 index 0000000000..16f26b120a --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Conics_pairs/README.md @@ -0,0 +1,44 @@ +# The `Test_Conics_pairs` Instrument + +*McStas: Unit test instrument for Conics Pairs components* + +## Identification + +- **Site:** Tests_optics +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Dec '21 + +## Description + +```text +Example instrument that shows some ways of using Conics_Ph and Conics_EH +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| OPTIC | | Flag to choose between 0: no optic, 1: EH pair, 2: PH pair | 1 | +| ssize | m | Source radius | 1e-6 | +| fs | m | Distance betwee nsource and optic mid plane | 10 | +| fi | m | Distance between optics mid plane and focal point. | 10 | +| R0 | 1 | Mirror substrate reflectivity | 0.99 | +| m | 1 | m-value of supermirrors | 3 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | +| alpha | AA | Slope of reflectivity for reflectivity curve approximation | 6.07 | +| nshells | 1 | Number of Wolter-optic shells | 4 | +| rmin | | | 0.0031416 | +| rmax | | | 0.05236 | + +## Links + +- [Source code](Test_Conics_pairs.instr) for `Test_Conics_pairs.instr`. +- [Additional information](Test_Conics_pairs.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_DiskChoppers/README.md b/mcstas-comps/examples/Tests_optics/Test_DiskChoppers/README.md new file mode 100644 index 0000000000..5db4f686c9 --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_DiskChoppers/README.md @@ -0,0 +1,36 @@ +# The `Test_DiskChoppers` Instrument + +*McStas: Simple test instrument that compares the use of 2 DiskChoppers with one MultiDiskChopper* + +## Identification + +- **Site:** Tests_optics +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** September 2018 + +## Description + +```text +Simple test instrument that compares the use of 2 DiskChoppers with one MultiDiskChopper +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| chopper | int | chopper=0 selects two DiskChoppers, chopper=1 selects one MultiDiskChopper | 0 | +| lambda | AA | Mean wavelength produced from the source | 10 | +| dlambda | AA | Halfwidth of wavelenghts produced from the source | 9.9 | +| deltay | m | Vertical displacement of MultiDiskChopper vertical centre of rotation (default is to be positioned like DiskChopper) | -0.19 | + +## Links + +- [Source code](Test_DiskChoppers.instr) for `Test_DiskChoppers.instr`. +- [Additional information](Test_DiskChoppers.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_DiskChoppers2/README.md b/mcstas-comps/examples/Tests_optics/Test_DiskChoppers2/README.md new file mode 100644 index 0000000000..7d1a4fd9ea --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_DiskChoppers2/README.md @@ -0,0 +1,42 @@ +# The `Test_DiskChoppers2` Instrument + +*McStas: Simple test instrument that compares DiskChoppers with a simple, rotating Slit.* + +## Identification + +- **Site:** Tests_optics +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** September 2018 + +## Description + +```text +Simple test instrument that compares DiskChoppers with a simple, rotating Slit. +When ABSORBER is set, a slab of B4C is acts as absorbing medium. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| chopper | int | chopper=0 selects DiskChopper, chopper=1 selects a rotating Slit | 0 | +| lambda | AA | Mean wavelength produced from the source | 10 | +| dlambda | AA | Halfwidth of wavelenghts produced from the source | 9.9 | +| deltay | m | Position of centre of rotation vs. beam in slit case | 0.19 | +| dx | | | 0.016 | +| nu | Hz | Chopper frequency | 10 | +| phase | deg | Chopper phase | 0 | +| ABSORBER | 1 | Flag to indicate if slab is B4C(=1) or perfect(=0) | 0 | +| tz | m | Thickness of B4C slab | 0.001 | + +## Links + +- [Source code](Test_DiskChoppers2.instr) for `Test_DiskChoppers2.instr`. +- [Additional information](Test_DiskChoppers2.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Fermi/README.md b/mcstas-comps/examples/Tests_optics/Test_Fermi/README.md new file mode 100644 index 0000000000..8b570ad455 --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Fermi/README.md @@ -0,0 +1,47 @@ +# The `Test_Fermi` Instrument + +*McStas: Cross comparison of Fermi Chopper components* + +## Identification + +- **Site:** Tests_optics +- **Author:** E. Farhi [farhi@ill.fr] +- **Origin:** ILL +- **Date:** Sept 1st, 2008 + +## Description + +```text +Cross comparison of Fermi Chopper components, using McStas and +contributed components, as well as rotating collimator approximations. It +shows that all implementations are equivalent. However, approximating rotating +guide are 30% faster than McStas Fermi chopper. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Fermi | 1 | Choice of Fermi chopper component to test, with 1=FermiChopper, 3=FermiChopper_ILL, 4=rotating Guide_gravity, 5=rotating Guide_channeled | 1 | +| lambda | AA | Mean wavelength from source | 3.39 | +| width_FC | m | total slit pack width | 0.044 | +| height_FC | m | height of FC slit pack | 0.064 | +| length_FC | m | length of FC slit pack | 0.012 | +| FC_Hz | Hz | rotation speed. Omega=2*PI*nu in rad/s, nu*60 in rpm | 100 | +| Nslit_FC | | Number of slits in FC slit package | 120 | +| d_SF | m | distance from Source to FC center | 3 | +| d_FD | m | distance from FC center to Detector | 3 | +| phase | deg | FC phase. Use -0 for automatic | 271.92 | +| time_to_arrival | | | 0 | +| time_window_width | | | 0 | + +## Links + +- [Source code](Test_Fermi.instr) for `Test_Fermi.instr`. +- [Additional information](Test_Fermi.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_FocalisationMirrors/README.md b/mcstas-comps/examples/Tests_optics/Test_FocalisationMirrors/README.md new file mode 100644 index 0000000000..6f3273fc4d --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_FocalisationMirrors/README.md @@ -0,0 +1,45 @@ +# The `Test_FocalisationMirrors` Instrument + +*McStas: Test instrument for neutron focalisation with a set of supermirrors. +No guide / velocity selector +One parabolic SM converges the incoming beam to its focal point, then one +elliptic SM (with primary focal point at same location as parabolic SM focal point) +images the focal point onto the detector.* + +## Identification + +- **Site:** Tests_optics +- **Author:** Sylvain Desert +- **Origin:** LLB +- **Date:** 2007. + +## Description + +```text +Test instrument for the MirrorElli and MirrorPara components +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Qmin | AA^-1 | Minimum momentum transfer on the detector | .0001 | +| G | 1 | Ratio of the mirror focal length = increase in accepted divergence angle | 1 | +| H | m | Height of mirrors | .0001 | +| F | m | Parabolic focal | .00066 | +| DET | m | Distance between the two elliptic focal points | 8.2 | +| lambda | AA | Mean wavelength of neutrons | 14 | +| divergence | deg | Source divergence | .1 | +| BeamWidth | m | Length of the source to focalize | .05 | +| TetaMin | deg | Minimum angle that must be reflected by the device assuming m=3 SM (TetaMin=3 for 5A and above neutron) | 3 | + +## Links + +- [Source code](Test_FocalisationMirrors.instr) for `Test_FocalisationMirrors.instr`. +- [Additional information](Test_FocalisationMirrors.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Guides/README.md b/mcstas-comps/examples/Tests_optics/Test_Guides/README.md new file mode 100644 index 0000000000..7866a5f683 --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Guides/README.md @@ -0,0 +1,35 @@ +# The `Test_Guides` Instrument + +*McStas: Cross comparison of Guide components* + +## Identification + +- **Site:** Tests_optics +- **Author:** E. Farhi [farhi@ill.fr] +- **Origin:** ILL +- **Date:** Sept 1st, 2008 + +## Description + +```text +Cross comparison of Guide components, using McStas and +contributed components. It shows that all implementations are equivalent, +except the Guide_honeycomb which has a different geometry. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Guide | 1 | Choice of Guide component to test, with 1=Guide, 2=Guide_channeled, 3=Guide_gravity, 4=Guide_wavy, 5=Guide_curved 6=Elliptic_guide_gravity 7=Guide_honeycomb | 1 | + +## Links + +- [Source code](Test_Guides.instr) for `Test_Guides.instr`. +- [Additional information](Test_Guides.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Guides_Curved/README.md b/mcstas-comps/examples/Tests_optics/Test_Guides_Curved/README.md new file mode 100644 index 0000000000..c7d0664cfe --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Guides_Curved/README.md @@ -0,0 +1,36 @@ +# The `Test_Guides_Curved` Instrument + +*McStas: Cross comparison of curved Guide components* + +## Identification + +- **Site:** Tests_optics +- **Author:** P. Willendrup, DTU Fysik +- **Origin:** DTU Fysik +- **Date:** Nov 1st, 2013 + +## Description + +```text +Cross comparison of curved Guide components, using McStas and +contributed components. It shows that all implementations are to good approximation equivalent. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Guide | 1 | Choice of Guide component to test, with 1=Guide_curved 2=Elliptic_guide_gravity, 3=Pol_bender, 4=Bender. | 1 | +| curvature | m | Radius of curvature | 1000 | +| length | m | Length of the guide | 100 | + +## Links + +- [Source code](Test_Guides_Curved.instr) for `Test_Guides_Curved.instr`. +- [Additional information](Test_Guides_Curved.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Lens/README.md b/mcstas-comps/examples/Tests_optics/Test_Lens/README.md new file mode 100644 index 0000000000..75c4920ca1 --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Lens/README.md @@ -0,0 +1,36 @@ +# The `Test_Lens` Instrument + +*McStas: Demonstrate focusing effect of refractive lenses + +%Example: lambda=10 position_PSD=8.2 Detector: Last_PSD_I=2.6829e-19* + +## Identification + +- **Site:** Tests_optics +- **Author:** E. Farhi/C. Monzat +- **Origin:** ILL +- **Date:** Dec 2009. + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Source wavelength | 10 | +| position_PSD | m | Distance from last lens to first monitor | 8.2 | + +## Links + +- [Source code](Test_Lens.instr) for `Test_Lens.instr`. +- [Additional information](Test_Lens.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Monochromator_bent/README.md b/mcstas-comps/examples/Tests_optics/Test_Monochromator_bent/README.md new file mode 100644 index 0000000000..004fb1f775 --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Monochromator_bent/README.md @@ -0,0 +1,34 @@ +# The `Test_Monochromator_bent` Instrument + +*McStas: Basic test instrument for the Monochromator_bent component* + +## Identification + +- **Site:** Tests_optics +- **Author:** Daniel Lomholt Christensen +- **Origin:** ILL +- **Date:** 14:13:59 on January 23, 2024 + +## Description + +```text +Basic test instrument for the Monochromator_bent component +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| mono_rotation | deg | Rotation of the monochromator, relative to the z axis | 43.5337 | +| mono_mos | arcmin | Monochromator mosaicity | 0 | + +## Links + +- [Source code](Test_Monochromator_bent.instr) for `Test_Monochromator_bent.instr`. +- [Additional information](Test_Monochromator_bent.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Monochromator_bent_complex/README.md b/mcstas-comps/examples/Tests_optics/Test_Monochromator_bent_complex/README.md new file mode 100644 index 0000000000..040010abf9 --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Monochromator_bent_complex/README.md @@ -0,0 +1,44 @@ +# The `Test_Monochromator_bent_complex` Instrument + +*McStas: A test instrument that highlights Monochromator Bent complex's capabilities* + +## Identification + +- **Site:** Tests_optics +- **Author:** Jakob Lass (jakob.lass@psi.ch) and modified by Daniel Lomholt Christensen (daniel.lomholt.2000@gmail.com) +- **Origin:** PSI/LSN +- **Date:** 20250702 + +## Description + +```text +This is a first draft for the WARP instrument proposal, as created by +Daniel Gabriel Mazzone (daniel.mazzone@psi.ch) and Jakob Lass +(jakob.lass@psi.ch). This instrument introduces how to use the Monochromator_bent_complex +component in an instrument draft. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sample_x | m | Source horz illumination | 0.005 | +| sample_y | m | Source vert illumination | 0.015 | +| L0 | m | Z-displacement of detector wrt. rotation point | 1.38000 | +| L1 | m | Y-displacement of detector wrt. rotation point | 2.47143 | +| Ld | m | Detector width | 2 | +| det_rot | m | Detector rotation | -6.00000 | +| mos | arcmin | Monochromator mosaicity | 60 | +| extra | deg | Perturbation rotation angle | 0 | +| use_single_plane | flag | Flag indicating whether the crystal should be instantiated with a single plane of reflection, instead of 92 planes | 0 | + +## Links + +- [Source code](Test_Monochromator_bent_complex.instr) for `Test_Monochromator_bent_complex.instr`. +- [Additional information](Test_Monochromator_bent_complex.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Monochromators/README.md b/mcstas-comps/examples/Tests_optics/Test_Monochromators/README.md new file mode 100644 index 0000000000..4e31ab5f2a --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Monochromators/README.md @@ -0,0 +1,58 @@ +# The `Test_Monochromators` Instrument + +*McStas: Compares intensities of Monochromator components.* + +## Identification + +- **Site:** Tests_optics +- **Author:** Peter Christiansen +- **Origin:** RISOE. +- **Date:** July 2006. + +## Description + +```text +Very simple setup to compare intensities diffracted by Monochromators. +It shows that implementations are equivalent. + +PG 002 oriented examples: +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Mono | 1 | Choice of Monochromator component to use, with 1=Monochromator_flat 2=Monochromator_pol 3=Monochromator_pol (forcing 1% events to be reflected) 4=Monochromator_curved (in flat mode) 5=Monochromator_2foc (contrib, flat mode) 6=Single_crystal 7=NCrystal | 1 | +| lmin | Angs | Minimum wavelength produced from source | 1.6 | +| lmax | Angs | Maximum wavelength produced from source | 2.4 | +| Moz | arcmin | Mosaicity | 40 | +| reflections | str | input-file for Single_crystal (Mono=6) | "C_graphite.lau" | +| NXrefs | str | input-file for NCrystal (Mono=7) | "C_sg194_pyrolytic_graphite.ncmat" | +| DM | Angs | Mono lattice spacing (should be chosen compatible with file-unput when Mono=6/7 | 3.3539 | +| PG | 1 | PG-mode for Single_crystal (range 0-1) | 0 | +| powder | 1 | Powder-mode for Single_crystal | 0 | +| order | 1 | Maximum order of scattering in Single_crystal | 0 | +| ax | Angs or 1/Angs | x-coordinate of 1st direct/recip lattice unit cell vector (depends on recip setting) | 0 | +| ay | Angs or 1/Angs | y-coordinate of 1st direct/recip lattice unit cell vector (depends on recip setting) | 0 | +| az | Angs or 1/Angs | z-coordinate of 1st direct/recip lattice unit cell vector (depends on recip setting) | 0 | +| bx | Angs or 1/Angs | x-coordinate of 2nd direct/recip lattice unit cell vector (depends on recip setting) | 0 | +| by | Angs or 1/Angs | y-coordinate of 2nd direct/recip lattice unit cell vector (depends on recip setting) | 0 | +| bz | Angs or 1/Angs | z-coordinate of 2nd direct/recip lattice unit cell vector (depends on recip setting) | 0 | +| cx | Angs or 1/Angs | x-coordinate of 3rd direct/recip lattice unit cell vector (depends on recip setting) | 0 | +| cy | Angs or 1/Angs | y-coordinate of 3rd direct/recip lattice unit cell vector (depends on recip setting) | 0 | +| cz | Angs or 1/Angs | x-coordinate of 3rd direct/recip lattice unit cell vector (depends on recip setting) | 0 | +| recip | 1 | Flag to indicate if ax/y/z, bx/y/z, cx/y/z lattice corrdinates are in direct (=0) or reciprocal space units | 0 | +| dthick | m | Thickness of mono slab in Mono=6/7 cases | 0.0015 | +| p_transmit | 1 | Probability of transmission in Single_crystal Mono=6 case | 0.001 | +| lambda | Angs | Target mochromator wavelength | 2.0 | + +## Links + +- [Source code](Test_Monochromators.instr) for `Test_Monochromators.instr`. +- [Additional information](Test_Monochromators.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_NMO/README.md b/mcstas-comps/examples/Tests_optics/Test_NMO/README.md new file mode 100644 index 0000000000..47bf803337 --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_NMO/README.md @@ -0,0 +1,56 @@ +# The `Test_NMO` Instrument + +*McStas: Implements a test instrument for the component FlatEllipse_finite_mirror.* + +## Identification + +- **Site:** Tests_optics +- **Author:** Christoph Herb, TUM +- **Origin:** TUM +- **Date:** 2022-2023 + +## Description + +```text +Implements a test instrument for the component FlatEllipse_finite_mirror, +implementing Nested Mirror Optic (NMO) as suggested by Böni et al. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| det_width | m | Detector width | 0.218 | +| source_width | m | Source width | 0.03 | +| source_height | m | Source height | 0.00000001 | +| lam_source | AA | Central source wavelength | 5 | +| dL | AA | Source wavelength spread | 0.5 | +| v_divergence | deg | Source vertical divergence | 2.5 | +| h_divergence | deg | Source horizontal divergence | 0.000001 | +| b0 | m | Parameter r0 of mirrors (distance to the mirror at lStart) | 0.2076 | +| mf | 1 | M-value of the inner side of the coating | 100 | +| mb | 1 | M-value of the outer side of the coating | 0 | +| mirror_width | m | Width of mirrors | 0 | +| focal_length | m | Mirror focal-length | 6 | +| mirrors | 1 | Number of NMO mirrors | 29 | +| mirror_sidelength | m | Side-length of mirrors | 0.1 | +| lStart | m | Parameter lStart of the mirrors | -0.6 | +| lEnd | m | Parameter lEnd of the mirrors | 0.6 | +| pixels | 1 | Number of detector pixels | 100 | +| flux | n/s/cm^2/st/AA | Source flux | 1 | +| det_width_focus | m | Detector width at focusing pt. | 0.03 | +| rs_at_zero_str | str | Filename to specify mirror rfront_inner_file (e.g. "rs_at_lstart.txt") | "NULL" | +| activate_mirror | 1 | Flag to activate mirror | 1 | + +## Links + +- [Source code](Test_NMO.instr) for `Test_NMO.instr`. +- [Additional information](Test_NMO.md) (only if available!) +- P Böni presentation at PSI NFO workshop +- Christoph Herb et al., Nucl. Instrum. Meth. A 1040, 1671564 (1-18) 2022. + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_PSD_Detector/README.md b/mcstas-comps/examples/Tests_optics/Test_PSD_Detector/README.md new file mode 100644 index 0000000000..2342400e08 --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_PSD_Detector/README.md @@ -0,0 +1,35 @@ +# The `Test_PSD_Detector` Instrument + +*McStas: Test for PSD_Detector component* + +## Identification + +- **Site:** Tests_optics +- **Author:** Thorwald van Vuure +- **Origin:** ILL +- **Date:** Thorwald van Vuure + +## Description + +```text +Test for PSD_Detector component showing charge drift +and parallax effect when rotating detector with e.g. 'rot=10' +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rot | deg | rotation angle of detector | 0 | + +## Links + +- [Source code](Test_PSD_Detector.instr) for `Test_PSD_Detector.instr`. +- [Additional information](Test_PSD_Detector.md) (only if available!) +- The PSD_Detector component + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Pol_Bender_Vs_Guide_Curved/README.md b/mcstas-comps/examples/Tests_optics/Test_Pol_Bender_Vs_Guide_Curved/README.md new file mode 100644 index 0000000000..eef704e71d --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Pol_Bender_Vs_Guide_Curved/README.md @@ -0,0 +1,38 @@ +# The `Test_Pol_Bender_Vs_Guide_Curved` Instrument + +*McStas: Test that Pol_bender and Guide_curved intensities are the same.* + +## Identification + +- **Site:** Tests_optics +- **Author:** Peter Christiansen (peter.christiansen@risoe.dk) +- **Origin:** RISOE +- **Date:** July 2006 + +## Description + +```text +Using the WHEN keyword 2 Pol_bender (pos and neg radius) are +compared to a Pol_guide. +The intensity on the monitor should be roughly 0.000228 +with mean 8.65+-0.62 AA. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| guideLength | m | Bender/Guide length | 10.0 | +| guideRadius | m | Bender/Guide radius | 100.0 | + +## Links + +- [Source code](Test_Pol_Bender_Vs_Guide_Curved.instr) for `Test_Pol_Bender_Vs_Guide_Curved.instr`. +- [Additional information](Test_Pol_Bender_Vs_Guide_Curved.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Rotator/README.md b/mcstas-comps/examples/Tests_optics/Test_Rotator/README.md new file mode 100644 index 0000000000..a3d03f61e1 --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Rotator/README.md @@ -0,0 +1,38 @@ +# The `Test_Rotator` Instrument + +*McStas: Unittest for Rotator/Derotator* + +## Identification + +- **Site:** Tests_optics +- **Author:** Peter Willendrup +- **Origin:** ESS +- **Date:** October 2023 + +## Description + +```text +Unittest for Rotator/Derotator + +Example: mcrun test.instr +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nu | Hz | Rotation frequency | 10 | +| phase | deg | Rotatoion phase | 5 | +| dir | int | Rotation axis direction x=1, y=2, z=3 | 2 | + +## Links + +- [Source code](Test_Rotator.instr) for `Test_Rotator.instr`. +- [Additional information](Test_Rotator.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Selectors/README.md b/mcstas-comps/examples/Tests_optics/Test_Selectors/README.md new file mode 100644 index 0000000000..47bdc74ca2 --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Selectors/README.md @@ -0,0 +1,37 @@ +# The `Test_Selectors` Instrument + +*McStas: Cross comparison of velocity selector components* + +## Identification + +- **Site:** Tests_optics +- **Author:** E. Farhi [farhi@ill.fr] +- **Origin:** ILL +- **Date:** Sept 28th, 2010 + +## Description + +```text +Cross comparison of Selector components, using McStas and +contributed components. It shows that all implementations are equivalent. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| selector | 1 | Choice of the velocity selector to test, with | 1 | +| lambda | Angs | neutron wavelength selected by the velocity selector | 4 | +| phi | deg | velocity selector twist angle | 48.3 | +| d_vs | m | velocity selector rotating drum length | 0.25 | + +## Links + +- [Source code](Test_Selectors.instr) for `Test_Selectors.instr`. +- [Additional information](Test_Selectors.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Source_pulsed/README.md b/mcstas-comps/examples/Tests_optics/Test_Source_pulsed/README.md new file mode 100644 index 0000000000..731ac76f3a --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Source_pulsed/README.md @@ -0,0 +1,35 @@ +# The `Test_Source_pulsed` Instrument + +*McStas: A test instrument to check the component 'Source_pulsed'* + +## Identification + +- **Site:** Tests_optics +- **Author:** Klaus LIEUTENANT (k.lieutenant@fz-juelich.de) based on 'Test_9-Sources' by Emmanuel FARHI (farhi@ill.fr) +- **Origin:** FZJ +- **Date:** Mar 17, 2021 + +## Description + +```text +A test instrument to check if the component 'Source_pulsed' provides valid spectra and intensities. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| source | 1 | selection of the source to use in 1=Source_pulsed for HBS thermal, 2=Source_pulsed for HBS cold, 3=Source_pulsed for HBS bispectral | 1 | +| Lmin | Ang | Minimum wavelength produced at source | 0.1 | +| Lmax | Ang | Maximum wavelength produced at source | 10.1 | + +## Links + +- [Source code](Test_Source_pulsed.instr) for `Test_Source_pulsed.instr`. +- [Additional information](Test_Source_pulsed.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Sources/README.md b/mcstas-comps/examples/Tests_optics/Test_Sources/README.md new file mode 100644 index 0000000000..eb616a44b4 --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Sources/README.md @@ -0,0 +1,42 @@ +# The `Test_Sources` Instrument + +*McStas: A test instrument to compare sources* + +## Identification + +- **Site:** Tests_optics +- **Author:** FARHI Emmanuel (farhi@ill.fr) +- **Origin:** ILL +- **Date:** Aug 3, 2008 + +## Description + +```text +A test instrument to compare sources and check they provide the valid +sprectrum and intensity. It shows that the first 4 flat sources are equivalent, +the 2 Maxwellian sources as well. + +WARNING: Result of test no. 1 for Source_adapt.comp is not correct if MPI is used, as +that source component does not support MPI. + +Example: source=1 Detector: m1_I=9.97273e+11 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| source | 1 | selection of the source to use in 1=Source_adapt, 2=Source_div, 3=Source_simple, 4=Source_gen (simple), 5=Source_gen, 6=Source_Maxwell_3, 7=ESS_butterfly, 8=Moderator | 0 | +| Lmin | AA | Minimum wavelength produced at source | 1 | +| Lmax | AA | Maximum wavelength produced at source | 11 | + +## Links + +- [Source code](Test_Sources.instr) for `Test_Sources.instr`. +- [Additional information](Test_Sources.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_StatisticalChopper/README.md b/mcstas-comps/examples/Tests_optics/Test_StatisticalChopper/README.md new file mode 100644 index 0000000000..c54850ac20 --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_StatisticalChopper/README.md @@ -0,0 +1,35 @@ +# The `Test_StatisticalChopper` Instrument + +*McStas: An example using a statistical/correlation chopper and its de-correlation monitor* + +## Identification + +- **Site:** Tests_optics +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 1st Dec 2009. + +## Description + +```text +This instrument is a simple model of a kind of TOF instrument, with powder sample +and statistical chopper. The de-correlation is also performed in a dedicated monitor. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | source wavelength | 1 | + +## Links + +- [Source code](Test_StatisticalChopper.instr) for `Test_StatisticalChopper.instr`. +- [Additional information](Test_StatisticalChopper.md) (only if available!) +- R. Von Jan and R. Scherm. The statistical chopper for neutron time-of-flight spectroscopy. Nuclear Instruments and Methods, 80 (1970) 69-76. + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_Vertical_Bender/README.md b/mcstas-comps/examples/Tests_optics/Test_Vertical_Bender/README.md new file mode 100644 index 0000000000..11637507ed --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_Vertical_Bender/README.md @@ -0,0 +1,41 @@ +# The `Test_Vertical_Bender` Instrument + +*McStas: Quick and dirty test instrument write-up for Vertical_Bender.* + +## Identification + +- **Site:** Tests_optics +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** January 2023 + +## Description + +```text +Quick and dirty test instrument write-up for Vertical_Bender. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Lmin | AA | Minimum wavelength from source | 9.9 | +| Lmax | AA | Maximum wavelength from source | 10.1 | +| curvature | m | Radius of curvature of vertical bender | 10000 | +| length | m | Length of vertical bender | 10 | +| xwidth | m | Width of vertical bender | 0.1 | +| yheight | m | Height of vertical bender | 0.1 | +| nchan | 1 | Number of channels in vertical bender | 1 | +| d | m | Channel-spacer width | 0 | + +## Links + +- [Source code](Test_Vertical_Bender.instr) for `Test_Vertical_Bender.instr`. +- [Additional information](Test_Vertical_Bender.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_filters/README.md b/mcstas-comps/examples/Tests_optics/Test_filters/README.md new file mode 100644 index 0000000000..4770ab27f0 --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_filters/README.md @@ -0,0 +1,43 @@ +# The `Test_filters` Instrument + +*McStas: Test instrument for McStas components as Be-filters* + +## Identification + +- **Site:** PSI +- **Author:** Peter Willendrup +- **Origin:** ESS +- **Date:** March 2026 + +## Description + +```text +Test instrument for cross-checking McStas components for use as Be-filters. +Where applicable, the temperature is set to 80K (corresponding to the header +of the Be.trm file used in Filter_gen +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Lmin | Angs | Lowest wavelength from source | 0.5 | +| Lmax | Angs | Highest wavelength from source | 10 | +| Filter | 1 | Choice of filter 0: Filter_gen, 1: NCrystal, 2: PowderN, 3: Isotropic_Sqw | 0 | +| nL | 1 | Number of wavelength bins in [Lmin Lmax] interval | 101 | +| zdepth | m | Depth of Be-filter | 0.15 | +| T | K | Filter temperature (NCrystal only) | 80 | + +## Links + +- [Source code](Test_filters.instr) for `Test_filters.instr`. +- [Additional information](Test_filters.md) (only if available!) +- Acta Cryst. (1978). A34, 61-65 +- Rev. Sci. Instrum. 59, 380-381 (1988) +- Test instrument written by P Willendrup ESS, March 2026 + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_optics/Test_focus/README.md b/mcstas-comps/examples/Tests_optics/Test_focus/README.md new file mode 100644 index 0000000000..dada1125fd --- /dev/null +++ b/mcstas-comps/examples/Tests_optics/Test_focus/README.md @@ -0,0 +1,43 @@ +# The `Test_focus` Instrument + +*McStas: Focus testing, comparing Single_crystal and Monochromator_curved* + +## Identification + +- **Site:** Tests_optics +- **Author:** Tobias Weber (tweber@ill.fr) +- **Origin:** ILL +- **Date:** 3-Feb-2018 + +## Description + +```text +For mono_ideal=0 the Single_crystal component is used as monochromator, +for mono_ideal=1 Monochromator_curved is used with the same settings. + +The curvature of the monochromator can be set using mono_curvh and mono_curvv +for horizontal and vertical focusing, respectively. +For mono_curvh=0, mono_curvv=0 the monochromator is flat. +For mono_curvh=-1, mono_curvv=-1 optimal horizontal and vertical focusing is chosen. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| src_lam | AA | Source mean wavelength | 4.5 | +| src_dlam | AA | Source wavelength spread | 1.0 | +| mono_ideal | | Selection of mono-model 0=Single_crystal, 1=Monochromator_curved | 0 | +| mono_curvh | m | Monochromator horizontal curvature. -1: optimal, 0: flat | -1 | +| mono_curvv | m | Monochromator vertical curvature -1: optimal, 0: flat | -1 | + +## Links + +- [Source code](Test_focus.instr) for `Test_focus.instr`. +- [Additional information](Test_focus.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_other/test_File/README.md b/mcstas-comps/examples/Tests_other/test_File/README.md new file mode 100644 index 0000000000..7a6bad34aa --- /dev/null +++ b/mcstas-comps/examples/Tests_other/test_File/README.md @@ -0,0 +1,34 @@ +# The `test_File` Instrument + +*McStas: Demonstrates how to use the File.comp component for storing instrument +input-files as METADATA blocks* + +## Identification + +- **Site:** Tests_other +- **Author:** Greg Tucker +- **Origin:** ESS +- **Date:** 2024 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](test_File.instr) for `test_File.instr`. +- [Additional information](test_File.md) (only if available!) +- From https://github.com/g5t/mccode-file + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/He3_spin_filter/README.md b/mcstas-comps/examples/Tests_polarization/He3_spin_filter/README.md new file mode 100644 index 0000000000..3844d8af30 --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/He3_spin_filter/README.md @@ -0,0 +1,42 @@ +# The `He3_spin_filter` Instrument + +*McStas: Test instrument for He3_cell* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Pietro Tozzi and Erik B Knudsen +- **Origin:** DTU Physics et. +- **Date:** Nov 20 + +## Description + +```text +Simple instrument model serving as an example and unit tyest of the He3-cell model. +For the values POLHE=.8 and .5 results comply with "Batz, M et al. “(3) He Spin Filter for Neutrons.” +Journal of research of the National Institute of Standards and Technology vol. 110,3 293-8. 1 Jun. 2005, doi:10.6028/jres.110.042" +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| pol | | If "x","y", or "z" set polarization along that axis. If "0" use a zero polarization. | "y" | +| lamb_1 | AA | Lower wavelength limit to simulate | 1 | +| lamb_2 | AA | Upper wavelegnth limit to simulate | 10 | +| RANDOM | | Randomize polarization vector in the (ideal) polariser | 0 | +| polval | | Set polarization to (polval,polval,polval). Gets overridden by pol | 1 | +| POLHE | | Polarization of the 3He-gas in the cell. | 0.7 | +| box | | Flag to indicate if cell geometry is cylindrical (0) or box-shaped (1) | 0 | + +## Links + +- [Source code](He3_spin_filter.instr) for `He3_spin_filter.instr`. +- [Additional information](He3_spin_filter.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/SE_example/README.md b/mcstas-comps/examples/Tests_polarization/SE_example/README.md new file mode 100644 index 0000000000..5f50e12730 --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/SE_example/README.md @@ -0,0 +1,46 @@ +# The `SE_example` Instrument + +*McStas: Mockup of transmission Spin-Echo, written for PNCMI 2010 school in Delft.* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Erik Knudsen, Peter Willendrup +- **Origin:** Risoe +- **Date:** June 2010 + +## Description + +```text +This instrument shows the use of essential McStas polarisation components, including Pol_mirror, Pol_Bfield and MeanPolLambda_monitor. + +Pol_mirror is used to polarize and analyze the incoming and scattered beams. +Pol_Bfield is used to define guidefields and flippers. +MeanPolLambda_montior is used to monitor beam polarisation. + +Example: mcrun SE_example.instr dBz=-0.0001,0.0001 -N41 -n1e5 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| POL_ANGLE | deg | Reflection angle of polarizer/analyzer | 2 | +| SAMPLE | 1 | Flag to include (0) or exclude incoherent scatterer | 0 | +| Bguide | T | Field magnitude in guide fields | 0.1 | +| Bflip | T | Magnitude of flipper fields, | 3e-4 | +| dBz | T | Magnitude field perturbation in first guide field | 0 | +| Lam | Angstrom | Mean wavelength of neutrons emitted from source | 8 | +| dLam | Angstrom | Wavelength spread of neutrons emitted from source | 0.8 | + +## Links + +- [Source code](SE_example.instr) for `SE_example.instr`. +- [Additional information](SE_example.md) (only if available!) +- Requires mcstas 1.12b (or beta). PolLambda_monitor has been modified to work (nL->nlam) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/SE_example2/README.md b/mcstas-comps/examples/Tests_polarization/SE_example2/README.md new file mode 100644 index 0000000000..34c3697a2d --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/SE_example2/README.md @@ -0,0 +1,46 @@ +# The `SE_example2` Instrument + +*McStas: Mockup of transmission Spin-Echo, written for PNCMI 2010 school in Delft. This version uses Pol_FieldBox for description of the fields.* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Erik Knudsen, Peter Willendrup +- **Origin:** Risoe +- **Date:** June 2010 + +## Description + +```text +This instrument shows the use of essential McStas polarisation components, including Pol_mirror, Pol_FieldBox and MeanPolLambda_monitor. + +Pol_mirror is used to polarize and analyze the incoming and scattered beams. +Pol_FieldBox is used to define guidefields and flippers. +MeanPolLambda_montior is used to monitor beam polarisation. + +Example: mcrun SE_example2.instr dBz=-0.0001,0.0001 -N41 -n1e5 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| POL_ANGLE | deg | Reflection angle of polarizer/analyzer | 2 | +| SAMPLE | 1 | Flag to include (0) or exclude incoherent scatterer | 0 | +| Bguide | T | Field magnitude in guide fields | 0.1 | +| Bflip | T | Magnitude of flipper fields, | 3e-4 | +| dBz | T | Magnitude field perturbation in first guide field | 0 | +| Lam | Angstrom | Mean wavelength of neutrons emitted from source | 8 | +| dLam | Angstrom | Wavelength spread of neutrons emitted from source | 0.8 | + +## Links + +- [Source code](SE_example2.instr) for `SE_example2.instr`. +- [Additional information](SE_example2.md) (only if available!) +- Requires mcstas 1.12b (or beta). PolLambda_monitor has been modified to work (nL->nlam) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Supermirror_thin_substrate/README.md b/mcstas-comps/examples/Tests_polarization/Supermirror_thin_substrate/README.md new file mode 100644 index 0000000000..bae38918d8 --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Supermirror_thin_substrate/README.md @@ -0,0 +1,55 @@ +# The `Supermirror_thin_substrate` Instrument + +*McStas: Test instrument for a thin-substrate supermirrror (component SupermirrorFlat)* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Hal Lee +- **Origin:** ESS +- **Date:** 2024 + +## Description + +```text +Test instrument for a thin-substrate supermirrror (component SupermirrorFlat) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| src_x | m | Width of source | 0.01 | +| src_y | m | Height of source | 0.09 | +| W_Centre | AA | Central wavelength from source spectrum | 5 | +| W_Half_Width | AA | Source spectrum wavelength half-width | 3 | +| A_FWHM | deg | Angular divergence from source | 0.05 | +| Detector_Distance | m | End-of-supermirror to detector distance | 1 | +| Length | m | Supermirrror length,projection along z-axis | 4 | +| Thickness_In_mm | mm | Supermirror thickness in mm | 0.5 | +| Mirror_Coated_Side | str | Specification of coating type | "BothCoated" | +| Mirror_Plus | str | Specification of coating on positive mirror side | "FeSiPlus" | +| Mirror_Plus_m | 1 | Specification m value, positive mirror side | 3.5 | +| Mirror_Minus | str | Specification of coating on negative mirror side | "FeSiMinus" | +| Absorber_Coated_Side | str | Specification of coating type, absorber coated side | "BothNotCoated" | +| Absorber | str | Specification of absorber material | "Empty" | +| Absorber_Thickness_In_Micron | mu-m | Absorber thickness in mu-m | 0 | +| Substrate | str | Specification of substrate material | "GlassNoAttenuation" | +| Initial_Placement_At_Origin | str | Mirror orientation specifier ("TopFrontEdgeCentre","FrontSubstrateCentre","BottomFrontEdgeCentre") | "TopFrontEdgeCentre" | +| Tilt_Axis_Location | str | Mirror axis location specifier ("TopFrontEdge","TopMirrorCentre","TopBackEdge","FrontSubstrateCentre","SubstrateCentre","BackSubstrateCentre","BottomFrontEdge","BottomMirrorCentre","BottomBackEdge") | "TopMirrorCentre" | +| Tilt_Angle_First_In_Degree | deg | Mirror tilt angle (around global y) | 0.64 | +| Translation_Second_Y | m | Mirror translation (along global y) | 0 | +| Rot_Angle_Third_In_Degree | deg | Mirror rotation angle (around global z) | 0 | +| Tracking | str | Mirror event-tracking option specifier ("NoTracking", "DetailTracking") | "DetailTracking" | + +## Links + +- [Source code](Supermirror_thin_substrate.instr) for `Supermirror_thin_substrate.instr`. +- [Additional information](Supermirror_thin_substrate.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_Magnetic_Constant/README.md b/mcstas-comps/examples/Tests_polarization/Test_Magnetic_Constant/README.md new file mode 100644 index 0000000000..a0726a38ac --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_Magnetic_Constant/README.md @@ -0,0 +1,39 @@ +# The `Test_Magnetic_Constant` Instrument + +*McStas: This instrument demonstrates how to use the Pol_Bfield +component with a constant field.* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Peter Christiansen and Peter Willendrup +- **Origin:** RISOE +- **Date:** August 2006 + +## Description + +```text +This instrument demonstrates how to use the component +Pol_Bfield with a constant field to make a Mezei Spin flipper. + +This instrument matches the example: Test_Pol_MSF (under tests) +made with the old component: Pol_constBfield +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| ROT_ANGLE | deg | Angle that the spin of a 5AA neutron rotates in the 0.2 m magnet | 180 | +| ONOFF | | Should we use a window description (with a _stop comp) to turn the field on and off. | 0 | + +## Links + +- [Source code](Test_Magnetic_Constant.instr) for `Test_Magnetic_Constant.instr`. +- [Additional information](Test_Magnetic_Constant.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_Magnetic_Majorana/README.md b/mcstas-comps/examples/Tests_polarization/Test_Magnetic_Majorana/README.md new file mode 100644 index 0000000000..29121b2d9c --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_Magnetic_Majorana/README.md @@ -0,0 +1,42 @@ +# The `Test_Magnetic_Majorana` Instrument + +*McStas: This instrument demonstrates how to use the Pol_Bfield +component with a Majorana field.* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Peter Christiansen and Peter Willendrup +- **Origin:** RISOE +- **Date:** August 2006 + +## Description + +```text +This instrument demonstrates how to use the component +Pol_Bfield with a so called Majorana field. + +See: +Seeger et al. NIM A: Volume 457, Issues 1-2 , 11 January 2001, Pages 338-346 + +Note that there are some sytematic fluctuation with the current solution. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Blarge | T | Large linear decreasing field along x axis (+Blarge to -Blarge). | 1.0 | +| Bsmall | T | Constant small component of field along y axis. | 0.003 | +| magnetLength | m | Magnet length. | 1.0 | + +## Links + +- [Source code](Test_Magnetic_Majorana.instr) for `Test_Magnetic_Majorana.instr`. +- [Additional information](Test_Magnetic_Majorana.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_Magnetic_Rotation/README.md b/mcstas-comps/examples/Tests_polarization/Test_Magnetic_Rotation/README.md new file mode 100644 index 0000000000..d75a3bf2a4 --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_Magnetic_Rotation/README.md @@ -0,0 +1,38 @@ +# The `Test_Magnetic_Rotation` Instrument + +*McStas: This instrument demonstrates how to use the Pol_constBfield +component.* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Peter Christiansen and Peter Willendrup +- **Origin:** RISOE +- **Date:** August 2006 + +## Description + +```text +This instrument demonstrates how to use the component +Pol_constBfield to make a Mezei Spin flipper. + +See: +Seeger et al. NIM A: Volume 457, Issues 1-2 , 11 January 2001, Pages 338-346 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| RESTORENEUT | | RESTORE_NEUTRON flag for last monitor within field region. | 1 | + +## Links + +- [Source code](Test_Magnetic_Rotation.instr) for `Test_Magnetic_Rotation.instr`. +- [Additional information](Test_Magnetic_Rotation.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_Pol_Bender/README.md b/mcstas-comps/examples/Tests_polarization/Test_Pol_Bender/README.md new file mode 100644 index 0000000000..3cae231d02 --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_Pol_Bender/README.md @@ -0,0 +1,39 @@ +# The `Test_Pol_Bender` Instrument + +*McStas: Test Pol_bender.* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Peter Christiansen +- **Origin:** RISOE +- **Date:** July 2006 + +## Description + +```text +Test that Pol_bender polarizes an unpolarized beam, and allows one +to test the different options. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| GUIDELENGTH | m | Length of bender | 1.0 | +| GUIDERADIUS | m | Radius of curvature of bender | 10.0 | +| ENDOPTION | | Setting for parallel start/end planes of bender | 0 | +| NSLITS | | Number of channels in bender | 5 | +| WSPACER | m | Spacer dimension | 0.005 | +| DRAWOPTION | | Bender drawing option 1: fine(all slits/90 points per arc), 2: normal (max 20/40), 3: rough (max 5/10) | 1 | + +## Links + +- [Source code](Test_Pol_Bender.instr) for `Test_Pol_Bender.instr`. +- [Additional information](Test_Pol_Bender.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_Pol_FieldBox/README.md b/mcstas-comps/examples/Tests_polarization/Test_Pol_FieldBox/README.md new file mode 100644 index 0000000000..fcbd5f02e1 --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_Pol_FieldBox/README.md @@ -0,0 +1,36 @@ +# The `Test_Pol_FieldBox` Instrument + +*McStas: Unit test instrument for Pol_FieldBox* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Jan 20 + +## Description + +```text +An instrument with a single field box with a 1 mT magnetic field along the y-axis. +A neutron beam polarized aling the x-axis is emitted with central wavelength such +that the polarization is rotated pihalfturns radians in the field. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| pihalfturns | | beam polarization (for the cetral wavelength) is rotated pihalfturns by the field | 1 | +| BOX | | flag to select between 0:Pol_FieldBox and 1:Pol_constBfield | 0 | + +## Links + +- [Source code](Test_Pol_FieldBox.instr) for `Test_Pol_FieldBox.instr`. +- [Additional information](Test_Pol_FieldBox.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_Pol_Guide_Vmirror/README.md b/mcstas-comps/examples/Tests_polarization/Test_Pol_Guide_Vmirror/README.md new file mode 100644 index 0000000000..8afff02d82 --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_Pol_Guide_Vmirror/README.md @@ -0,0 +1,34 @@ +# The `Test_Pol_Guide_Vmirror` Instrument + +*McStas: Test Pol_guide_Vmirror.* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Peter Christiansen +- **Origin:** RISOE +- **Date:** July 2006 + +## Description + +```text +A simple description of the V4 instrument in Berlin as explained in: +NIM A 451 (2000) 474-479 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| polariserIn | | Flag to select between 1:POLguidevmirror and 2:POLguidemirror | 1 | + +## Links + +- [Source code](Test_Pol_Guide_Vmirror.instr) for `Test_Pol_Guide_Vmirror.instr`. +- [Additional information](Test_Pol_Guide_Vmirror.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_Pol_Guide_mirror/README.md b/mcstas-comps/examples/Tests_polarization/Test_Pol_Guide_mirror/README.md new file mode 100644 index 0000000000..42b9c21266 --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_Pol_Guide_mirror/README.md @@ -0,0 +1,35 @@ +# The `Test_Pol_Guide_mirror` Instrument + +*McStas: Test Pol_guide_mirror.* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Peter Christiansen +- **Origin:** RISOE +- **Date:** July 2006 + +## Description + +```text +Unit test for Pol_guide_mirror. In this unit test we use the Pol_guide_mirror +in a non-polarizing setting, with absorbing walls. This is how it would be set to be used +as a frame-overlap mirror. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| mirrorIn | | If zero the in-guide mirror is disabled | 1 | + +## Links + +- [Source code](Test_Pol_Guide_mirror.instr) for `Test_Pol_Guide_mirror.instr`. +- [Additional information](Test_Pol_Guide_mirror.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_Pol_MSF/README.md b/mcstas-comps/examples/Tests_polarization/Test_Pol_MSF/README.md new file mode 100644 index 0000000000..bc8f7abde3 --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_Pol_MSF/README.md @@ -0,0 +1,34 @@ +# The `Test_Pol_MSF` Instrument + +*McStas: This instrument demonstrates how to use the Pol_constBfield +component.* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Peter Christiansen +- **Origin:** RISOE +- **Date:** July 2006 + +## Description + +```text +This instrument demonstrates how to use the component +Pol_constBfield to make a Mezei Spin flipper. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Test_Pol_MSF.instr) for `Test_Pol_MSF.instr`. +- [Additional information](Test_Pol_MSF.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_Pol_Mirror/README.md b/mcstas-comps/examples/Tests_polarization/Test_Pol_Mirror/README.md new file mode 100644 index 0000000000..8d9bdf5d0f --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_Pol_Mirror/README.md @@ -0,0 +1,39 @@ +# The `Test_Pol_Mirror` Instrument + +*McStas: Test that Pol_mirror reflects, transmits, and polarizes.* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Peter Christiansen +- **Origin:** RISOE +- **Date:** July 2006 + +## Description + +```text +An unpolarized beam is shot into a polarizing mirror and the +intensity and polarization of the transmitted and reflected beam +is measured. + +The intensity on the first monitor should be the same as the sum +of the two polarization monitors. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| mirrorOption | 1 | Fraction of neutrons to reflect | 0.5 | +| polarize | | | 0 | + +## Links + +- [Source code](Test_Pol_Mirror.instr) for `Test_Pol_Mirror.instr`. +- [Additional information](Test_Pol_Mirror.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_Pol_SF_ideal/README.md b/mcstas-comps/examples/Tests_polarization/Test_Pol_SF_ideal/README.md new file mode 100644 index 0000000000..3ee0f3fb85 --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_Pol_SF_ideal/README.md @@ -0,0 +1,37 @@ +# The `Test_Pol_SF_ideal` Instrument + +*McStas: Unit test of the Pol_SF_ideal component* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Current Date + +## Description + +```text +Simply test the ideal spin flippers function + +Example: mcrun test.instr +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| SX | | x-component of initial polarization | 0 | +| SY | | y-component of initial polarization | 1 | +| SZ | | z-component of initial polarization | 0 | + +## Links + +- [Source code](Test_Pol_SF_ideal.instr) for `Test_Pol_SF_ideal.instr`. +- [Additional information](Test_Pol_SF_ideal.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_Pol_Set/README.md b/mcstas-comps/examples/Tests_polarization/Test_Pol_Set/README.md new file mode 100644 index 0000000000..60ca62d72b --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_Pol_Set/README.md @@ -0,0 +1,35 @@ +# The `Test_Pol_Set` Instrument + +*McStas: Tests Set_pol, Incoherent, and pol monitors.* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Peter Christiansen +- **Origin:** RISOE +- **Date:** July 2006 + +## Description + +```text +First check is that the randmly generated spin gives uniform (flat) +distributions on all 3 pol monitor. +Second check is that when the polarisation is hardcoded to (0, 1, 0) +after Incoherent it is (0, -1/3, 0). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Test_Pol_Set.instr) for `Test_Pol_Set.instr`. +- [Additional information](Test_Pol_Set.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_Pol_Tabled/README.md b/mcstas-comps/examples/Tests_polarization/Test_Pol_Tabled/README.md index 72d234d5cb..7b49c5e576 100644 --- a/mcstas-comps/examples/Tests_polarization/Test_Pol_Tabled/README.md +++ b/mcstas-comps/examples/Tests_polarization/Test_Pol_Tabled/README.md @@ -1,10 +1,38 @@ -# `Test_Pol_Tabled.instr` with inputs and tools -The instrument uses tabulated field-data for input, examples are: -* A flipping field `flipfield.dat` -* A constant field `constfield.dat` +# The `Test_Pol_Tabled` Instrument -Further, a couple of remeshing tools are provided, allowing to resample an existing field-file to 'regular' binning, both with positional inputs of `infile` for the input file and `xsiz`, `ysiz`, `zsiz` for the resampling dimensions -* `remesh.m` function for Matlab users -* `remesh.py` script for Python users +*McStas: Test the tabled magnetic field option* -When resampling for use with 'regular' interpolation (e.g. on GPU), esure that `xsiz`, `ysiz`, `zsiz` are equal. +## Identification + +- **Site:** Tests_polarization +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** 2024 + +## Description + +```text +A test instrument to check that supplying a magnetic field as a vector field point cloud +is working. The field referred to by the default input parameter MF is 10 \mu T along the z-axis +at entry and flips to l0 \mu T along the negative z-axis halfway through +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| MF | string | Field definition file | "flipfield.dat" | +| zdepth | m | Z-dimension of field | 1 | +| interpol_method | string | Choice of interpolation method "kdtree" (default on CPU) / "regular" (default on GPU) | "default" | + +## Links + +- [Source code](Test_Pol_Tabled.instr) for `Test_Pol_Tabled.instr`. +- [Additional information](Test_Pol_Tabled.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_Pol_Tabled/Test_Pol_Tabled.instr b/mcstas-comps/examples/Tests_polarization/Test_Pol_Tabled/Test_Pol_Tabled.instr index 232046a981..37c2a783ba 100644 --- a/mcstas-comps/examples/Tests_polarization/Test_Pol_Tabled/Test_Pol_Tabled.instr +++ b/mcstas-comps/examples/Tests_polarization/Test_Pol_Tabled/Test_Pol_Tabled.instr @@ -4,9 +4,9 @@ * Instrument: Test_Pol_Tabled (rename also the example and DEFINE lines below) * * %Identification -* Written by: Your name (email) -* Date: Current Date -* Origin: Your institution +* Written by: Peter Willendrup +* Date: 2024 +* Origin: DTU * %INSTRUMENT_SITE: Tests_polarization * * Test the tabled magnetic field option diff --git a/mcstas-comps/examples/Tests_polarization/Test_Pol_Tabled/Test_Pol_Tabled.md b/mcstas-comps/examples/Tests_polarization/Test_Pol_Tabled/Test_Pol_Tabled.md new file mode 100644 index 0000000000..72d234d5cb --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_Pol_Tabled/Test_Pol_Tabled.md @@ -0,0 +1,10 @@ +# `Test_Pol_Tabled.instr` with inputs and tools +The instrument uses tabulated field-data for input, examples are: +* A flipping field `flipfield.dat` +* A constant field `constfield.dat` + +Further, a couple of remeshing tools are provided, allowing to resample an existing field-file to 'regular' binning, both with positional inputs of `infile` for the input file and `xsiz`, `ysiz`, `zsiz` for the resampling dimensions +* `remesh.m` function for Matlab users +* `remesh.py` script for Python users + +When resampling for use with 'regular' interpolation (e.g. on GPU), esure that `xsiz`, `ysiz`, `zsiz` are equal. diff --git a/mcstas-comps/examples/Tests_polarization/Test_Pol_TripleAxis/README.md b/mcstas-comps/examples/Tests_polarization/Test_Pol_TripleAxis/README.md new file mode 100644 index 0000000000..50a88601cb --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_Pol_TripleAxis/README.md @@ -0,0 +1,44 @@ +# The `Test_Pol_TripleAxis` Instrument + +*McStas: Based on Emmanuel Farhi's thermal H8 triple-axis spectrometer from +Brookhaven reactor* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Peter Christiansen +- **Origin:** RISOE +- **Date:** July 2006. + +## Description + +```text +This instrument is a simple model of the thermal H8 triple-axis +spectrometer from former Brookhaven reactor. It has an (polarizing) +monochromator and a (polarizaing) analyzer. The sample is a vanadium +cylinder. +Three cases can be done: +-1) Spin flip (flipper is inserted): Up->Down +0) No polarization: Up/Down->Up/Down +1) No spin flip: Up->Up +The Vanadium sample should give I(0)=2*(I(-1)+I(1)) and I(-1)=2*I(1). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| OPTION | 1 | See above | 0 | +| LAMBDA | Angs | Source wavelength | 2.0 | +| MOZ | Arc minutes | Mosaicity | 40 | + +## Links + +- [Source code](Test_Pol_TripleAxis.instr) for `Test_Pol_TripleAxis.instr`. +- [Additional information](Test_Pol_TripleAxis.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_V_cavity_SNAG_double_side/README.md b/mcstas-comps/examples/Tests_polarization/Test_V_cavity_SNAG_double_side/README.md new file mode 100644 index 0000000000..477d7e376a --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_V_cavity_SNAG_double_side/README.md @@ -0,0 +1,47 @@ +# The `Test_V_cavity_SNAG_double_side` Instrument + +*McStas: Test instrument for Transmission_V_polarisator, double layer reflectivity.* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Michael Schneider (SNAG) +- **Origin:** SNAG +- **Date:** 2024 + +## Description + +```text +Test instrument for Transmission_V_polarisator, double layer reflectivity. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Lam | AA | Central wavelength produced at source | 7.0 | +| dLam | AA | Wavelength spread produced at source | 6.0 | +| l_guide0 | | | 2 | +| m_hori | 1 | m-value of feeding guide, horizontal mirrors | 1.0 | +| m_vert | 1 | m-value of feeding guide, vertical mirrors | 3.0 | +| m_pol_h | 1 | m-value of guide body, horizontal (m of FeSi is defined by data files) | 1.0 | +| m_pol_v | 1 | m-value of guide body, vertical (m of FeSi is defined by data files) | 3.0 | +| W | m | Width of guide and cavity | 0.024 | +| H | m | Height of guide and cavity | 0.058 | +| Length_C | m | Length of guide body | 1.300 | +| tap_ang | deg | Taper angle with respect to optical axis of V-cavity | 0.55 | +| distK | m | Distance between V-cavities (applicable, if 2 cavities are installed) | 1.23864 | +| d_Fe | m | Thickness of Fe in one supermirror coating | 6.95e-6 | +| d | m | Distance from source to guide entrance | 2.0 | + +## Links + +- [Source code](Test_V_cavity_SNAG_double_side.instr) for `Test_V_cavity_SNAG_double_side.instr`. +- [Additional information](Test_V_cavity_SNAG_double_side.md) (only if available!) +- P. Böni, W. Münzer and A. Ostermann: Physica B: Condensed Matter Volume 404, Issue 17, 1 September 2009, Pages 2620-2623 + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_V_cavity_SNAG_single_side/README.md b/mcstas-comps/examples/Tests_polarization/Test_V_cavity_SNAG_single_side/README.md new file mode 100644 index 0000000000..463d6178bb --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_V_cavity_SNAG_single_side/README.md @@ -0,0 +1,47 @@ +# The `Test_V_cavity_SNAG_single_side` Instrument + +*McStas: Test instrument for Transmission_V_polarisator, single layer reflectivity.* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Michael Schneider (SNAG) +- **Origin:** SNAG +- **Date:** 2024 + +## Description + +```text +Test instrument for Transmission_V_polarisator, single layer reflectivity. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Lam | AA | Central wavelength produced at source | 7.0 | +| dLam | AA | Wavelength spread produced at source | 6.0 | +| l_guide0 | | | 2 | +| m_hori | 1 | m-value of feeding guide, horizontal mirrors | 1.0 | +| m_vert | 1 | m-value of feeding guide, vertical mirrors | 3.0 | +| m_pol_h | 1 | m-value of guide body, horizontal (m of FeSi is defined by data files) | 1.0 | +| m_pol_v | 1 | m-value of guide body, vertical (m of FeSi is defined by data files) | 3.0 | +| W | m | Width of guide and cavity | 0.024 | +| H | m | Height of guide and cavity | 0.058 | +| Length_C | m | Length of guide body | 1.300 | +| tap_ang | deg | Taper angle with respect to optical axis of V-cavity | 0.55 | +| distK | m | Distance between V-cavities (applicable, if 2 cavities are installed) | 1.23864 | +| d_Fe | m | Thickness of Fe in one supermirror coating | 6.95e-6 | +| d | m | Distance from source to guide entrance | 2.0 | + +## Links + +- [Source code](Test_V_cavity_SNAG_single_side.instr) for `Test_V_cavity_SNAG_single_side.instr`. +- [Additional information](Test_V_cavity_SNAG_single_side.md) (only if available!) +- P. Böni, W. Münzer and A. Ostermann: Physica B: Condensed Matter Volume 404, Issue 17, 1 September 2009, Pages 2620-2623 + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_polarization/Test_pol_ideal/README.md b/mcstas-comps/examples/Tests_polarization/Test_pol_ideal/README.md new file mode 100644 index 0000000000..60504ca04a --- /dev/null +++ b/mcstas-comps/examples/Tests_polarization/Test_pol_ideal/README.md @@ -0,0 +1,33 @@ +# The `Test_pol_ideal` Instrument + +*McStas: Unit test instrument for Set_pol, PolAnalyser_ideal, and Pol_monitor* + +## Identification + +- **Site:** Tests_polarization +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Nov 20 + +## Description + +```text +Simply runs a short test to check that Set_pol, Pol_analyser_ideal, and Pol_monitor really do work +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xory | | 1:check polarisatoin along x, 0:check polarisation along y | 1 | + +## Links + +- [Source code](Test_pol_ideal.instr) for `Test_pol_ideal.instr`. +- [Additional information](Test_pol_ideal.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/GISANS_tests/README.md b/mcstas-comps/examples/Tests_samples/GISANS_tests/README.md new file mode 100644 index 0000000000..f243cb20db --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/GISANS_tests/README.md @@ -0,0 +1,37 @@ +# The `GISANS_tests` Instrument + +*McStas: Instrument to test features of newly developed sample model for GISANS from H. Frielinghaus.* + +## Identification + +- **Site:** Tests_samples +- **Author:** Peter Willendrup (DTU/ESS) and Henrich Frielinghaus (MLZ) +- **Origin:** MLZ +- **Date:** 2023-2024 + +## Description + +```text +Instrument to test features of newly developed sample model for GISANS from H. Frielinghaus, +developed to model the GISANS features described in M. S. Hellsing et. al [1] + +Test case 1, grazing incidence from front +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| mode | | | 1 | +| BEAMSTOP | | | 0 | + +## Links + +- [Source code](GISANS_tests.instr) for `GISANS_tests.instr`. +- [Additional information](GISANS_tests.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Samples_Incoherent/README.md b/mcstas-comps/examples/Tests_samples/Samples_Incoherent/README.md new file mode 100644 index 0000000000..aa97f3d9c3 --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Samples_Incoherent/README.md @@ -0,0 +1,77 @@ +# The `Samples_Incoherent` Instrument + +*McStas: This instrument allows to compare incoherent scattering from different McStas +sample components.* + +## Identification + +- **Site:** Tests_samples +- **Author:** Peter Willendrup, Erik Knudsen, Aziz Aziz Daoud-aladine +- **Origin:** RISOE +- **Date:** August 14th, 2007 + +## Description + +```text +This instrument allows to compare incoherent scattering from different McStas +sample components: + +* PowderN +Single_crystal +Isotropic_sqw +Incoherent + +Examples: + +Compare incoherent scattering from all sample comps, beamstop in place. + +mcrun Samples_Incoherent -d Some_directory -N5 SAMPLE=1,5 STOP=1 + +Compare incoherent scattering and direct beam attenuation for PowderN, Single_crystal +and Isotroic_sqw: + +mcrun Samples_Incoherent -d Some_other_directory -N4 SAMPLE=2,5 STOP=0 + +Have a closer look of direct beam attentuation for PowderN, Single_crystal +and Isotroic_sqw (has the side-effect that back-scattered neutrons are absorbed): + +mcrun Samples_Incoherent -d Some_third_directory -N4 SAMPLE=2,5 STOP=0 DB=1 + +The sample type selection is: +box: 1=Vanadium +2=PowderN +3=Single_Crystal +4=Isotropic_Sqw +5=Incoherent +10=Isotropic_Sqw with V.lau +cube.off: 6=PowderN, +7=Single_Crystal +8=Isotropic_Sqw +9=Incoherent +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| L_min | AA | Minimum wavelength of neutrons | 0.5 | +| L_max | AA | Maximum wavelength of neutrons | 7 | +| SAMPLE | | Sample choice, 1:Incoherent, 2:PowderN, 3:Single_crystal, 4:Isotropic_Sqw, 5:Incoherent with multiple scattering, 6:PowderN with OFF geometry, 7:Single_crystal with OFF geometry, 8:Isotropic_Sqw with OFF geometry, 9:Incoherent with OFF geometry, 10:Isotropic_Sqw with .laz input | 1 | +| STOP | 1 | Beamstop inserted? (Needed in case of comparison between V and SX/sqw). | 0 | +| Order | 1 | Maximum order of multiple scattering in SX/sqw | 0 | +| INC | barns | Incoherent scattering cross section | 5.08 | +| ABS | barns | Absorption cross section | 5.08 | +| DB | 1 | Direct Beam monitor inserted? (Side-effect: absorbs 'backscattered' neutrons). | 0 | +| ISISFACE | string | ISIS moderator face to look at | "hydrogen" | + +## Links + +- [Source code](Samples_Incoherent.instr) for `Samples_Incoherent.instr`. +- [Additional information](Samples_Incoherent.md) (only if available!) +- Validation of Single_crystal is now in progress! + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Samples_Incoherent_off/README.md b/mcstas-comps/examples/Tests_samples/Samples_Incoherent_off/README.md new file mode 100644 index 0000000000..90c47162d7 --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Samples_Incoherent_off/README.md @@ -0,0 +1,36 @@ +# The `Samples_Incoherent_off` Instrument + +*McStas: Instrument to demonstrate the usage of OFF shape samples with totally absorbing material.* + +## Identification + +- **Site:** Tests_samples +- **Author:** Reynald ARNERIN +- **Origin:** ILL +- **Date:** June 12th, 2008 + +## Description + +```text +Instrument to demonstrate the usage of OFF shape samples with totally absorbing material. +The Incoherent component is here used with a description file. The shape may be scaled +forcing the size of the bounding box. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| geometry | string | Name of the OFF file describing the sample shape | "socket.off" | + +## Links + +- [Source code](Samples_Incoherent_off.instr) for `Samples_Incoherent_off.instr`. +- [Additional information](Samples_Incoherent_off.md) (only if available!) +- http://shape.cs.princeton.edu/benchmark/documentation/off_format.html + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Samples_Isotropic_Sqw/README.md b/mcstas-comps/examples/Tests_samples/Samples_Isotropic_Sqw/README.md new file mode 100644 index 0000000000..7da9d2674e --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Samples_Isotropic_Sqw/README.md @@ -0,0 +1,38 @@ +# The `Samples_Isotropic_Sqw` Instrument + +*McStas: A test instrument for the S(q,w) sample* + +## Identification + +- **Site:** Tests_samples +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** Jan 2004 + +## Description + +```text +This instrument is a test instrument for the S(q,w) sample. +It produces a tof-angle and angle-energy detectors and also exports the +S(q,w) and S(q) data. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | source energy | 3.4 | +| sample_coh | str | name of coherent Sqw data file | "Rb_liq_coh.sqw" | +| sample_inc | str | name of incoherent Sqw data file | "Rb_liq_inc.sqw" | + +## Links + +- [Source code](Samples_Isotropic_Sqw.instr) for `Samples_Isotropic_Sqw.instr`. +- [Additional information](Samples_Isotropic_Sqw.md) (only if available!) +- The Isotropic_Sqw sample + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Samples_Phonon/README.md b/mcstas-comps/examples/Tests_samples/Samples_Phonon/README.md new file mode 100644 index 0000000000..a4802ff8ca --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Samples_Phonon/README.md @@ -0,0 +1,42 @@ +# The `Samples_Phonon` Instrument + +*McStas: Simple test instrument for the Phonon_simple component* + +## Identification + +- **Site:** Tests_samples +- **Author:** Kim Lefmann +- **Origin:** RISOE +- **Date:** Feb 2004 + +## Description + +```text +Simple test instrument for the Phonon_simple component. +Refer to the component documentation for further instructions. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E | meV | Mean energy at source | 10 | +| DE | meV | Energy spread at source | 0 | +| HDIV | deg | Horizontal divergence produced from source | 1e-4 | +| VDIV | deg | Vertical divergence produced from source | 1e-4 | +| TT | deg | Two-theta detetector-angle | 72.69 | +| OM | deg | Sample rotation angle | -43.3 | +| C | meV/AA^(-1) | Sample velocity of sound | 8 | +| focus_r | | | 0 | +| focus_a | | | 0 | + +## Links + +- [Source code](Samples_Phonon.instr) for `Samples_Phonon.instr`. +- [Additional information](Samples_Phonon.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Samples_vanadium/README.md b/mcstas-comps/examples/Tests_samples/Samples_vanadium/README.md new file mode 100644 index 0000000000..259c48a657 --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Samples_vanadium/README.md @@ -0,0 +1,36 @@ +# The `Samples_vanadium` Instrument + +*McStas: A test instrument using a vanadium cylinder* + +## Identification + +- **Site:** Tests_samples +- **Author:** Kristian Nielsen and Kim Lefmann +- **Origin:** Risoe +- **Date:** 1998 + +## Description + +```text +This instrument shows the vanadium sample scattering anisotropy. +This is an effect of attenuation of the beam in the cylindrical sample. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| ROT | deg | Rotation angle of the PSD monitor | 0 | + +## Links + +- [Source code](Samples_vanadium.instr) for `Samples_vanadium.instr`. +- [Additional information](Samples_vanadium.md) (only if available!) +- The McStas User manual +- The McStas tutorial + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_Incoherent/README.md b/mcstas-comps/examples/Tests_samples/Test_Incoherent/README.md new file mode 100644 index 0000000000..5a1a223289 --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_Incoherent/README.md @@ -0,0 +1,34 @@ +# The `Test_Incoherent` Instrument + +*McStas: Test output of Incoherent on two spherical monitor.* + +## Identification + +- **Site:** Tests_samples +- **Author:** P. Willendrup +- **Origin:** DTU +- **Date:** October 1st 2020 + +## Description + +```text +A test instrument for Incoherent output on spherical monitor. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Wavelength emitted from source, 1% wl-interval around. | 1 | +| L1 | m | Source-sample distance | 10 | + +## Links + +- [Source code](Test_Incoherent.instr) for `Test_Incoherent.instr`. +- [Additional information](Test_Incoherent.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_Incoherent_MS/README.md b/mcstas-comps/examples/Tests_samples/Test_Incoherent_MS/README.md new file mode 100644 index 0000000000..bb5c51f9bb --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_Incoherent_MS/README.md @@ -0,0 +1,67 @@ +# The `Test_Incoherent_MS` Instrument + +*McStas: Test instrument for validation of magnitude of multiple scattering in Incoherent.comp.* + +## Identification + +- **Site:** Tests_samples +- **Author:** Daniel Lomholt Christensen and Peter Willendrup +- **Origin:** NBI +- **Date:** 20250603 + +## Description + +```text +Test instrument for validation of magnitude of multiple scattering in Incoherent.comp. +The instrument considers "thin" and "thick" sample conditions. + + +For the thin sample conditions, the following analytical calulations find the +Neutron intensity at the detector to be 27.12: +
+$$ +\frac{dN_{\rm real}}{dt}= \Psi A \rho_{\rm c}\sigma_{\rm inc} +\frac{\Delta \Omega}{4 \pi} a_{\rm lin} l_{unscattered}. +$$ +Where $\Psi=1e7$, $A=1$, $\rho=0.0723$, $\sigma_{\rm inc}=\sigma_{\rm abs} = 5.08$, $\frac{\Delta \Omega}{4 \pi} = 10/99.95^2$ +and $a_{\rm lin}= \exp(-(\sigma_{\rm inc} + \sigma_{\rm abs}\lambda/1.7982)\rho l_{avg})$. +$l_{unscattered}=0.1cm$ and is the path through the sample eg. unscattered path length. +
+ + +For the thick sample condition, the general formula is the same, +But the attenuation is calculated using the effective length, instead of the actual +length: +
+\begin{equation} \label{eq:inc_layer_l} +l_{\rm app} = \int _{0}^{l_{\rm max}} a_{\rm lin}(z) dz += \int _{0}^{l_{\rm max}} e^{-2\mu z}dz += \frac{1-e^{-2\mu l_{\rm max}}}{2\mu }, +\end{equation} +
+ +By scanning across thickness values, one then finds a curve, that should fit the +analytical calculations. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| flux_mult | 1/(s*cm**2*st*meV) | Source flux x 1e14 multiplier for source | 0.5512 | +| thick | m | Sample thickness | 0.001 | +| total_scattering | 1 | Flag to indicate if sample focuses (=0) or not (=1) | 0 | +| sample | str | Sample state "thick", "thin", "none" supported | "thin" | +| order | 1 | Maximal order of multiple scattering | 1 | + +## Links + +- [Source code](Test_Incoherent_MS.instr) for `Test_Incoherent_MS.instr`. +- [Additional information](Test_Incoherent_MS.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_Magnon_bcc_2D/README.md b/mcstas-comps/examples/Tests_samples/Test_Magnon_bcc_2D/README.md new file mode 100644 index 0000000000..3f2073b1a1 --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_Magnon_bcc_2D/README.md @@ -0,0 +1,42 @@ +# The `Test_Magnon_bcc_2D` Instrument + +*McStas: Test instrument for the Sqq_w_monitor and Magnon_bcc components, derived from template_Laue* + +## Identification + +- **Site:** Tests_samples +- **Author:** P. Willendrup +- **Origin:** DTU +- **Date:** June, 2018 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Central wavelength of wavelength distribution | 10 | +| dlambda | AA | Width of wavelength distribution | 9.9 | +| Rotation | deg | Sample orientation | 0 | +| inelastic | in 0:1 | Fraction of statistics to scatter inelastically | 1 | +| aa | AA | BCC lattice constant | 6.283185307179586 | +| sample_J | meV | Magnitude of sample nearest-neighbour interaction | 2 | +| TT | K | Sample temperature | 300 | +| FerroMagnet | boolean | Flag to choose if sample is FM or AFM | 0 | +| Verbose | | | 0 | +| imultiplier | 1 | Parameter to rescale intensity-output from Magnon comp | 1 | + +## Links + +- [Source code](Test_Magnon_bcc_2D.instr) for `Test_Magnon_bcc_2D.instr`. +- [Additional information](Test_Magnon_bcc_2D.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_Magnon_bcc_TAS/README.md b/mcstas-comps/examples/Tests_samples/Test_Magnon_bcc_TAS/README.md new file mode 100644 index 0000000000..ee71797036 --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_Magnon_bcc_TAS/README.md @@ -0,0 +1,44 @@ +# The `Test_Magnon_bcc_TAS` Instrument + +*McStas: Generic TAS instrument for test of samples with dispersions.* + +## Identification + +- **Site:** Tests_samples +- **Author:** Kim Lefmann (lefmann@nbi.ku.dk) +- **Origin:** UCPH +- **Date:** 22.07.2018 + +## Description + +```text +Generic TAS instrument for test of samples with dispersions. Modeled over the RITA-2 instrument at PSI (one analyzer only). The instrument is able to position in q-space at q=(h 0 0) and fixed Ei and Ef. This can be used to longitudinal constant-E scans or constant-q scans. In addition, transverse constant-E scans can be made by scanning the sample orientation A3. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| hw | meV | Neutron energy transfer | 0.5 | +| Ef | meV | Final neutron energy | 5 | +| A3offset | deg | sample rotation around a vertical axis | 0 | +| A3auto | 1 | Flag for selecting automatic setting of A3 to have q-vector along [h 0 0] (0=manual; 1=auto) | 1 | +| aa | AA | lattice parameter for cubic system (passed on to the sample component) | 4.5 | +| qh | 1 | Length of the q-vector in r.l.u., sets the value of scattering angle A4. If A3auto=1, then A3 is set to q=[qh 0 0] | 1.1 | +| highres | 1 | Flag for setting unrealistic high resolution (used for fine testing) (0=standard TAS / RITA2; 1=high resolution TAS) | 0 | +| sample_J | meV | Nearest Neighbor magnetic interaction in sample | 0.2 | +| TT | K | temperature | 300 | +| FerroMagnet | | Flag: 1 if ferromagnet, 0 if AFM | 0 | +| Verbose | 1 | Flag for printing of test statements from magnon component (0=silent, 1=print) | 0 | + +## Links + +- [Source code](Test_Magnon_bcc_TAS.instr) for `Test_Magnon_bcc_TAS.instr`. +- [Additional information](Test_Magnon_bcc_TAS.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_PowderN/README.md b/mcstas-comps/examples/Tests_samples/Test_PowderN/README.md new file mode 100644 index 0000000000..c252260ad6 --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_PowderN/README.md @@ -0,0 +1,41 @@ +# The `Test_PowderN` Instrument + +*McStas: Test output of PowderN on a spherical monitor.* + +## Identification + +- **Site:** Tests_samples +- **Author:** P. Willendrup +- **Origin:** DTU +- **Date:** October 1st 2020 + +## Description + +```text +A test instrument for PowderN output on a spherical monitor. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Wavelength emitted from source, 1% wl-interval around. | 1 | +| L1 | m | Source-sample distance | 10 | +| directbeam | 1 | Suppress direct beam or not | 0 | +| reflections | str | List of powder reflections | "Fe.laz" | +| SPLITS | 1 | Number of SPLIT's before sample | 1 | +| frac_c | 1 | Fraction of stats assigned to coherent scattering | 0.8 | +| frac_i | 1 | Fraction of stats assigned to incoherent scattering | 0.1 | +| frac_t | 1 | Fraction of stats assigned to unscattered, "direct beam" | 0.1 | +| d_phi | deg | d_phi focusing setting in PowderN | 0 | + +## Links + +- [Source code](Test_PowderN.instr) for `Test_PowderN.instr`. +- [Additional information](Test_PowderN.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_PowderN_Res/README.md b/mcstas-comps/examples/Tests_samples/Test_PowderN_Res/README.md new file mode 100644 index 0000000000..bfc15904dc --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_PowderN_Res/README.md @@ -0,0 +1,47 @@ +# The `Test_PowderN_Res` Instrument + +*McStas: Idealized powder diffractometer, to illustrate the difference between 'banana,theta' and 'banana,divergence' in Monitor_nD.* + +## Identification + +- **Site:** Tests_samples +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** 20160309 + +## Description + +```text +Idealized powder diffractometer, to illustrate the difference between 'banana,theta' and 'banana,divergence' in Monitor_nD. Includes a Na2Ca3Al2F14 powder sample. + +The beam from the source is very low-divergent, to allow studying effects at the sample "only". + +By default, absorption in the sample is effectively suppressed. + +Example: Lambda0=2.5667 dLambda=0.01 radius=0.001,0.021 TT=71.8 D_PHI=6 SPLITS=117 Distance=30 sig_abs=1e-09 -N21 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Lambda0 | AA | Central wavelength of the source | 2.5667 | +| dLambda | AA | Width of wavelength band from the source | 0.01 | +| radius | m | Radius of cylindrical powder sample | 0.01 | +| TT | deg | Two-theta (scattering angle) of small banana detectors | 72 | +| D_PHI | deg | d_phi focusing around detector "plane" in degrees | 6 | +| SPLITS | 1 | SPLIT statistics booster at sample position | 117 | +| Distance | m | Distance between source and sample | 30 | +| sig_abs | barns | Absorption cross-section in the sample | 1e-9 | + +## Links + +- [Source code](Test_PowderN_Res.instr) for `Test_PowderN_Res.instr`. +- [Additional information](Test_PowderN_Res.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_PowderN_concentric/README.md b/mcstas-comps/examples/Tests_samples/Test_PowderN_concentric/README.md new file mode 100644 index 0000000000..3a68b9452d --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_PowderN_concentric/README.md @@ -0,0 +1,37 @@ +# The `Test_PowderN_concentric` Instrument + +*McStas: Test output of PowderN on a spherical monitor.* + +## Identification + +- **Site:** Tests_samples +- **Author:** P. Willendrup +- **Origin:** DTU +- **Date:** October 1st 2020 + +## Description + +```text +A test instrument for PowderN output on a spherical monitor. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Wavelength emitted from source, 1% wl-interval around. | 1 | +| L1 | m | Source-sample distance | 10 | +| directbeam | 1 | Suppress direct beam or not | 1 | +| reflections | str | List of powder reflections | "Fe.laz" | +| SPLITS | 1 | Number of SPLIT's before sample | 1 | + +## Links + +- [Source code](Test_PowderN_concentric.instr) for `Test_PowderN_concentric.instr`. +- [Additional information](Test_PowderN_concentric.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_Powders/README.md b/mcstas-comps/examples/Tests_samples/Test_Powders/README.md new file mode 100644 index 0000000000..2dd3879b3d --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_Powders/README.md @@ -0,0 +1,41 @@ +# The `Test_PowderN` Instrument + +*McStas: Test output of PowderN, NCrystal and Single_crystal on a spherical monitor / PSD.* + +## Identification + +- **Site:** Tests_samples +- **Author:** M. Bertelsen and P. Willendrup +- **Origin:** ESS DMSC +- **Date:** November 2024 + +## Description + +```text +A test instrument for Powder output from different sample components. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| comp | 1 | 1=PowderN, 2=Single_crystal, 3=NCrystal | 1 | +| lambda | Angs | Wavelength emitted from source, 1% wl-interval around. | 2.5 | +| L1 | m | Source-sample distance | 10 | +| directbeam | 1 | Suppress direct beam or not | 0 | +| material | str | Material string for picking up CIF (PowderN/Single_Crystal) and ncmat (NCrystal) | "Ge" | +| SPLITS | 1 | Number of SPLIT's before sample | 1 | +| frac_t | 1 | Fraction of stats assigned to unscattered, "direct beam" | 0.1 | +| sxmos | arcmin | Mosaicity to use in Single_crystal case | 60 | +| twotheta | deg | Angle for 2\theta detector for detailed view | 94 | + +## Links + +- [Source code](Test_Powders.instr) for `Test_Powders.instr`. +- [Additional information](Test_Powders.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_SANS/README.md b/mcstas-comps/examples/Tests_samples/Test_SANS/README.md new file mode 100644 index 0000000000..2d3a9f6d4e --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_SANS/README.md @@ -0,0 +1,55 @@ +# The `Test_SANS` Instrument + +*McStas: Toy model used for testing various sample components for solution-SANS.* + +## Identification + +- **Site:** Tests_samples +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) and Søren Kynde (kynde@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 29th, 2012 + +## Description + +```text +Toy model used for testing various sample components for solution-SANS. + +The following SANS samples are handled: +SANSSpheres SAMPLE=0 +SANSShells SAMPLE=1 +SANSCylinders SAMPLE=2 +SANSEllipticCylinders SAMPLE=3 +SANSLiposomes SAMPLE=4 +SANSNanodiscs SAMPLE=5 +SANSNanodiscsWithTags SAMPLE=6 +SANSPDB SAMPLE=7 (very slow, rather use SANSPDBFast) +SANSCurve SAMPLE=8 (inactivated) +SANSNanodiscsFast SAMPLE=9 +SANSNanodiscsWithTagsFast SAMPLE=10 +SANSPDBFast SAMPLE=11 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| DistanceFromSourceToFirstPinhole | m | Distance to first pinhole from source. | 1.0 | +| DistanceFromSourceToSecondPinhole | m | Distance to second pinhole - used for focusing rays. | 10.0 | +| DistanceFromSecondPinholeToSample | m | Collimation length. | 1.0 | +| DistanceFromSampleToDetector | m | Sample-detector-distance. | 10.0 | +| RadiusOfDetector | m | Radius of the circular detector. | 4.0 | +| Lambda | AA | Wavelength of the rays emitted from source. | 4.5 | +| DLambda | | Relative deviation of wavelength of the rays emitted from source. | 0.1 | +| SAMPLE | | Index of sample model, see above. | 0 | +| Ncount | 1 | Override the number of rays to simulate. | 0 | + +## Links + +- [Source code](Test_SANS.instr) for `Test_SANS.instr`. +- [Additional information](Test_SANS.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_SX/README.md b/mcstas-comps/examples/Tests_samples/Test_SX/README.md new file mode 100644 index 0000000000..a3110fd29a --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_SX/README.md @@ -0,0 +1,43 @@ +# The `Test_SX` Instrument + +*McStas: Test output of Single Crystal on a spherical monitor.* + +## Identification + +- **Site:** Tests_samples +- **Author:** P. Willendrup +- **Origin:** DTU +- **Date:** October 1st 2020 + +## Description + +```text +A test instrument to compare Monitor_nD output against basic 1D and 2D monitors. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Central wavelength emitted from source | 5 | +| dlambda | Angs | Witdth of wavelength spectrom emitted from source | 9.8 | +| L1 | m | Source-sample distance | 30 | +| directbeam | 1 | Suppress direct beam or not | 0 | +| beamstop | | Toggle beamstop | 0 | +| reflections | str | File name for reflection list | "YBaCuO.lau" | +| SPLITS | 1 | Number of SPLIT's before sample | 1 | +| order | | Maximum order of multiple scattering, Single_crystal | 0 | +| inc | barns | Incoherent cross-section | 0 | +| trans | | Fraction of statistics assigned to transmitted beam | 0.001 | +| omega | deg | Rotation angle of sample | 0 | + +## Links + +- [Source code](Test_SX.instr) for `Test_SX.instr`. +- [Additional information](Test_SX.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_Single_crystal_inelastic/README.md b/mcstas-comps/examples/Tests_samples/Test_Single_crystal_inelastic/README.md new file mode 100644 index 0000000000..497ac1a3a7 --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_Single_crystal_inelastic/README.md @@ -0,0 +1,50 @@ +# The `Test_Single_crystal_inelastic` Instrument + +*McStas: Test instrument for the Single_crystal_inelastic component.* + +## Identification + +- **Site:** Tests_samples +- **Author:** Duc Le +- **Origin:** ISIS +- **Date:** Feb 2015 + +## Description + +```text +Simple test instrument for Single_crystal_inelastic in Horace mode + +Example: mcrun Test_Single_crystal_inelastic.instr + +once your instrument is written and functional: +- replace INSTRUMENT_SITE entry above with your Institution name as a single word +- rename the instrument name after DEFINE INSTRUMENT below +- update the parameter help in the following Parameters section +- update the instrument description, and better add a usage example with a +sensible parameter set. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E | meV | Mean energy produced at the source | 10 | +| DE | meV | Energy spread produced at the source | 0.1 | +| HDIV | deg | Horizontal divergence from the source | 0.5 | +| VDIV | deg | Vertical divergence from the source | 0.5 | +| OM | deg | Sample orientation around y | 0 | +| TH | deg | Sample orientation around x | 0 | +| FI | deg | Sample orientation around z | 0 | +| SQW | str | 4D Sqw input file | "example.sqw4" | + +## Links + +- [Source code](Test_Single_crystal_inelastic.instr) for `Test_Single_crystal_inelastic.instr`. +- [Additional information](Test_Single_crystal_inelastic.md) (only if available!) +- Duc Le (2015) - duc.le@stfc.ac.uk + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_Sqw/README.md b/mcstas-comps/examples/Tests_samples/Test_Sqw/README.md new file mode 100644 index 0000000000..8fad9b8474 --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_Sqw/README.md @@ -0,0 +1,37 @@ +# The `Test_Sqw` Instrument + +*McStas: Test output of Isotropic_Sqw on a spherical monitor.* + +## Identification + +- **Site:** Tests_samples +- **Author:** P. Willendrup +- **Origin:** DTU +- **Date:** October 1st 2020 + +## Description + +```text +A test instrument for testing Isotropic_Sqw output on a spherical monitor. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | Angs | Wavelength emitted from source, 1% wl-interval around. | 1 | +| L1 | m | Source-sample distance | 10 | +| directbeam | 1 | Suppress direct beam or not | 0 | +| sqw_coh | str | Sqw material definition | "Rb_liq_tot.sqw" | +| SPLITS | 1 | Number of SPLIT's before sample | 1 | + +## Links + +- [Source code](Test_Sqw.instr) for `Test_Sqw.instr`. +- [Additional information](Test_Sqw.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_Sqw_monitor/README.md b/mcstas-comps/examples/Tests_samples/Test_Sqw_monitor/README.md new file mode 100644 index 0000000000..b49682c51a --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_Sqw_monitor/README.md @@ -0,0 +1,117 @@ +# The `Test_Sqw_monitor` Instrument + +*McStas: A simple ToF with cylindrical/spherical sample, and furnace/cryostat/container. The sample can be hollow.* + +## Identification + +- **Site:** Tests_samples +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** Feb 2014 + +## Description + +```text +This instrument models a generic, tunable, neutron time-of-flight spectrometer. + +The incoming flux at the sample brings neutrons with 'beam_wavelength_Angs' wavelength. +The energy resolution at the sample is given as 'beam_resolution_meV'. +The beam size at the sample is set to the sample cross section (e.g. ~2 x 5 cm). + +The sample geometry is either cylindrical ('sample_radius_m' and 'sample_height_m') +or spherical ('sample_height_m=0'). The sample can be hollow when given a thickness +'sample_thickness_m', or filled ('sample_thickness_m=0'). When in cylindrical geometry, +it is surrounded by a container with thickness 'container_thickness_m'. The container +material is specified as a powder file name 'container' in the McStas Sqw or PowderN format, +e.g. 'Al.laz' or 'Nb.laz'. Setting 'container=0' removes the container. + +The sample scattering is characterised by its coherent and incoherent contributions +given as 'sample_coh' and 'sample_inc' file names in McStas Sqw or PowderN format. +Setting the 'sample_coh=sample_inc=0' removes the sample, e.g. to study the container or +environment only contribution. + +The sample and its container are located inside a cylindrical shield with radius +'environment_radius_m' and thickness 'environment_thickness_m'. The material is set from +the 'environment' file name in the McStas Sqw or PowderN format (e.g. 'Al.laz'). +This way, it is possible to estimate the contribution of a cryostat or furnace. +Setting 'environment=0' removes the environment. + +The detector has a cylindrical geometry, with a radius 'sample_detector_distance_m' +and tubes with height 'detector_height_m'. The detector covers a -30 to 140 deg angular range +with 2.54 cm diameter tubes (the number of tubes is computed from the distance). +The direct beam (non scattered neutrons) is discarded. + +The detector produces both (angle,tof) and (q,w) data sets, for: +total scattering +coherent single scattering from sample +incoherent single scattering from sample +multiple scattering from sample +scattering from the container and sample environment +The (angle,tof) results are corrected for the parallax effect from the detector height. + +Known configurations: +ILL_IN4: +beam_wavelength_Angs=2, beam_resolution_meV=0.5, +sample_detector_distance_m=2.0, detector_height_m=0.3 +ILL_IN5: +beam_wavelength_Angs=5, beam_resolution_meV=0.1, +sample_detector_distance_m=4.0, detector_height_m=3.0 +ILL_IN6: +beam_wavelength_Angs=4.1, beam_resolution_meV=0.1, +sample_detector_distance_m=2.48, detector_height_m=1.2 +PSI_Focus: +beam_wavelength_Angs=4.1, beam_resolution_meV=0.1, +sample_detector_distance_m=2.5, detector_height_m=1.2 +FRM2_TOFTOF: +beam_wavelength_Angs=3.0, beam_resolution_meV=0.3, +sample_detector_distance_m=4.0, detector_height_m=2.0 +SNS_SEQUOIA: +beam_wavelength_Angs=1.0, beam_resolution_meV=3.0, +sample_detector_distance_m=5.5, detector_height_m=1.2 +SNS_ARCS: +beam_wavelength_Angs=0.3, beam_resolution_meV=20.0, +sample_detector_distance_m=3.0, detector_height_m=1.46 +NIST_DCS: +beam_wavelength_Angs=3.0, beam_resolution_meV=0.2, +sample_detector_distance_m=4.0, detector_height_m=1.2 +ISIS_MERLIN: +beam_wavelength_Angs=1.0, beam_resolution_meV=2.4, +sample_detector_distance_m=2.5, detector_height_m=3.0 +ISIS_LET: +beam_wavelength_Angs=4.0, beam_resolution_meV=0.1, +sample_detector_distance_m=3.5, detector_height_m=4.0 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| beam_wavelength_Angs | Angs | incident neutron beam wavelength | 2 | +| beam_resolution_meV | meV | incident energy range full width | 0.1 | +| sample_coh | str | sample coherent Sqw data file or NULL | "Rb_liq_coh.sqw" | +| sample_inc | str | sample incoherent Sqw data file or NULL | "Rb_liq_inc.sqw" | +| sample_thickness_m | m | thickness of sample. 0=filled | 1e-3 | +| sample_height_m | m | height of sample. 0=sphere | 0.03 | +| sample_radius_m | m | radius of sample (outer) | 0.005 | +| container | str | container material or NULL | "Al.laz" | +| container_thickness_m | m | container thickness | 50e-6 | +| environment | str | sample environment material or NULL | "Al.laz" | +| environment_radius_m | m | sample environment outer radius | 0.025 | +| environment_thickness_m | m | sample environment thickness | 2e-3 | +| detector_height_m | m | detector tubes height | 3 | +| sample_detector_distance_m | m | distance from sample to detector | 4.0 | + +## Links + +- [Source code](Test_Sqw_monitor.instr) for `Test_Sqw_monitor.instr`. +- [Additional information](Test_Sqw_monitor.md) (only if available!) +- The Isotropic_Sqw sample +- The PowderN sample +- The Samples_Isotropic_Sqw example instrument +- The nMoldyn package to create Sqw data sets from MD trajectories + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_TOFRes_sample/README.md b/mcstas-comps/examples/Tests_samples/Test_TOFRes_sample/README.md new file mode 100644 index 0000000000..cd5388a31a --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_TOFRes_sample/README.md @@ -0,0 +1,43 @@ +# The `Test_TOFRes_sample` Instrument + +*McStas: Testing resolution of a TOF spectrometer, use "reso.dat" output with mcresplot.py* + +## Identification + +- **Site:** Tests_samples +- **Author:** Peter Willendrup (adapted from ancient Kim Lefmann instrument) +- **Origin:** DTU +- **Date:** 25-Oct-2023 + +## Description + +```text +Testing resolution of a TOF spectrometer, use "reso.dat" output with mcresplot.py + +TOF resolution test instrument. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Chop_W1 | m | Width of 1st chopper slit | 0.1 | +| Chop_ph1 | s | Temporal phase of 1st chopper | 0.0009 | +| Chop_W2 | m | Width of 2nd chopper slit | 0.2 | +| Chop_ph2 | s | Temporal phase of 2nd chopper | 0.003 | +| Chop_W3 | m | Width of 3rd chopper slit | 0.1 | +| Chop_ph3 | s | Temporal phase of 3rd chopper | 0.006 | +| TIME_BIN | us | Target detection time | 10000 | +| BIN_WIDTH | us | Width of detection times | 10 | +| TWOTHETA | deg | Scattering angle | 60 | + +## Links + +- [Source code](Test_TOFRes_sample.instr) for `Test_TOFRes_sample.instr`. +- [Additional information](Test_TOFRes_sample.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_TasReso/README.md b/mcstas-comps/examples/Tests_samples/Test_TasReso/README.md new file mode 100644 index 0000000000..4b78fafb05 --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_TasReso/README.md @@ -0,0 +1,60 @@ +# The `Test_TasReso` Instrument + +*McStas: Testing the triple-axis resolution, use "reso.dat" output with mcresplot.py* + +## Identification + +- **Site:** Tests_samples +- **Author:** Tobias Weber (tweber@ill.fr) +- **Origin:** ILL +- **Date:** 30-Mar-2019 + +## Description + +```text +Testing the triple-axis resolution, use "reso.dat" output with mcresplot.py + +Triple-axis resolution test instrument, +forked from the Hercules McStas course: +https://code.ill.fr/tweber/hercules + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 3 of the License. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see http://www.gnu.org/licenses/. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| src_lam | AA | Source mean wavelength | 4.5 | +| src_dlam | AA | Source wavelength spread | 1.0 | +| ki | AA^-1 | Monochromator ki | -1 | +| kf | AA^-1 | Analyser kf | -1 | +| sample_num | | Selection of sample-model 0=vanadium, 1=single crystal, 2=resolution | 2 | +| mono_curvh | m | Monochromator horizontal curvature. -1: optimal, 0: flat | -1 | +| mono_curvv | m | Monochromator vertical curvature -1: optimal, 0: flat | -1 | +| ana_curvh | m | Analyzer horizontal curvature. -1: optimal, 0: flat | -1 | +| ana_curvv | m | Analyzer vertical curvature -1: optimal, 0: flat | -1 | +| coll_presample_div | arcmin | Collimation before sample | 30.0 | +| coll_postsample_div | arcmin | Collimation after sample | 30.0 | +| k_filter_cutoff | AA^-1 | Filter cutoff | 1.6 | + +## Links + +- [Source code](Test_TasReso.instr) for `Test_TasReso.instr`. +- [Additional information](Test_TasReso.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Test_single_magnetic_crystal/README.md b/mcstas-comps/examples/Tests_samples/Test_single_magnetic_crystal/README.md new file mode 100644 index 0000000000..784aab2707 --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Test_single_magnetic_crystal/README.md @@ -0,0 +1,45 @@ +# The `Test_single_magnetic_crystal` Instrument + +*McStas: Unit test instrument for magnetic single crystal* + +## Identification + +- **Site:** Tests_samples +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Jan 2020 + +## Description + +```text +A very simple unit test/example instrument for the experimental Single_magnetic_crystal +component. It is a very simple implementation of a Laue camera using 4PI spherical +monitors. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| L0 | AA | Centre wavelength to simulate | 4 | +| dL | AA | Half wavelength spread to sample | 3.91 | +| OM | deg | Sample rotation | 0 | +| TT | deg | Rotation of detector arm | 0 | +| PX | | x-component of initial polarization | 0 | +| PY | | y-component of initial polarization | 1 | +| PZ | | z-component of initial polarization | 0 | +| MOS | arcmin | Isotropic mosaic of the crystal. | 100 | +| QMIN | AA^-1 | lower boundary of momentum transfer range to generate hkls in | 0.1 | +| QMAX | AA^-1 | upper boundary of momentum transfer range to generate hkls in | 5 | + +## Links + +- [Source code](Test_single_magnetic_crystal.instr) for `Test_single_magnetic_crystal.instr`. +- [Additional information](Test_single_magnetic_crystal.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_samples/Unittest_SANS_benchmark2/README.md b/mcstas-comps/examples/Tests_samples/Unittest_SANS_benchmark2/README.md new file mode 100644 index 0000000000..42ee76a8a8 --- /dev/null +++ b/mcstas-comps/examples/Tests_samples/Unittest_SANS_benchmark2/README.md @@ -0,0 +1,40 @@ +# The `Unittest_SANS_benchmark2` Instrument + +*McStas: Test instrument for the SANS_benchmark2 component. No guide / velocity selector.* + +## Identification + +- **Site:** Tests_samples +- **Author:** Peter Willendrup +- **Origin:** ESS +- **Date:** April 2023 + +## Description + +```text +Very simple test instrument for the SANS_benchmark2 component from H. Frielinghaus. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Mean wavelength of neutrons | 6 | +| dlambda | AA | Wavelength spread of neutrons | 0.05 | +| r | AA | Radius of scattering hard spheres | 150 | +| PHI | 1 | Particle volume fraction | 1e-3 | +| Delta_Rho | cm^-2 | Scattering length density | 6e10 | +| frac_dir | 1 | Fraction of statistics for direct beam | 0.03 | +| frac_inc | 1 | Fraction of statistics for incoherent scattering in scattered beam | 0.01 | +| modnum | int | Sample "modle number" from SANS_benchmark2 | 1 | + +## Links + +- [Source code](Unittest_SANS_benchmark2.instr) for `Unittest_SANS_benchmark2.instr`. +- [Additional information](Unittest_SANS_benchmark2.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_sources/Test_Source_custom/README.md b/mcstas-comps/examples/Tests_sources/Test_Source_custom/README.md new file mode 100644 index 0000000000..f3baf82952 --- /dev/null +++ b/mcstas-comps/examples/Tests_sources/Test_Source_custom/README.md @@ -0,0 +1,33 @@ +# The `test_Source_custom` Instrument + +*McStas: Test instrument for the Source_custom component* + +## Identification + +- **Site:** Tests_sources +- **Author:** Pablo Gila-Herranz +- **Origin:** Materials Physics Center (CFM-MPC), CSIC-UPV/EHU +- **Date:** 15:36:54 on April 04, 2025 + +## Description + +```text +This is a test file for the Source_custom component +Using the parameters for the HBS bi-spectral source +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](test_Source_custom.instr) for `test_Source_custom.instr`. +- [Additional information](test_Source_custom.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_sources/Test_Source_quasi/README.md b/mcstas-comps/examples/Tests_sources/Test_Source_quasi/README.md new file mode 100644 index 0000000000..26c95792d3 --- /dev/null +++ b/mcstas-comps/examples/Tests_sources/Test_Source_quasi/README.md @@ -0,0 +1,33 @@ +# The `Test_Source_quasi` Instrument + +*McStas: Test instrument to show that the quasi-stcohastic source component works* + +## Identification + +- **Site:** Tests_sources +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Fysik +- **Date:** Feb 1st 2013 + +## Description + +```text +This instrument is a unit test for the quasi-stochastic source component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| SRC | | Integer parameter picks a source model. 0 normal Source_div, Quasi-stochastic | 1 | + +## Links + +- [Source code](Test_Source_quasi.instr) for `Test_Source_quasi.instr`. +- [Additional information](Test_Source_quasi.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Conditional_test/README.md b/mcstas-comps/examples/Tests_union/Conditional_test/README.md new file mode 100644 index 0000000000..8d6e7c51f2 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Conditional_test/README.md @@ -0,0 +1,33 @@ +# The `Conditional_test` Instrument + +*McStas: Test of all Union conditional components* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +Use of all conditional components in one instrument file +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dummy | | Dummy input parameter | 1 | + +## Links + +- [Source code](Conditional_test.instr) for `Conditional_test.instr`. +- [Additional information](Conditional_test.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/External_component_test/README.md b/mcstas-comps/examples/Tests_union/External_component_test/README.md new file mode 100644 index 0000000000..3c44501c10 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/External_component_test/README.md @@ -0,0 +1,33 @@ +# The `External_component_test` Instrument + +*McStas: Inserts external component in Union system with exit volumes and number_of_activations* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +Demonstration of the use of "number_of_activations" and exit volumes to +include a regular McStas component in an ensemble of Union components. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](External_component_test.instr) for `External_component_test.instr`. +- [Additional information](External_component_test.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Geometry_test/README.md b/mcstas-comps/examples/Tests_union/Geometry_test/README.md new file mode 100644 index 0000000000..9abe28b04c --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Geometry_test/README.md @@ -0,0 +1,33 @@ +# The `Geometry_test` Instrument + +*McStas: Test of all Union geometry components in one file* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +Use of all basic geometries, mesh(as a torus), sphere, cylinder, cone and box +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| meshfile | | | "torus.STL" | + +## Links + +- [Source code](Geometry_test.instr) for `Geometry_test.instr`. +- [Additional information](Geometry_test.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Hidden_Cylinder/README.md b/mcstas-comps/examples/Tests_union/Hidden_Cylinder/README.md new file mode 100644 index 0000000000..17b5c98843 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Hidden_Cylinder/README.md @@ -0,0 +1,42 @@ +# The `Hidden_Cylinder` Instrument + +*McStas: Small test instrument testing placement of low-priority Union cylinder within higher-priority Union cylinder.* + +## Identification + +- **Site:** Tests_union +- **Author:** Daniel Lomholt Christensen +- **Origin:** UCPH@NBI, Funded by ACTNXT +- **Date:** 15:54:48 on January 20, 2026 + +## Description + +```text +A small test instrument testing the placement of one cylinder with a low priority +fully inside another cylinder with a higher priority. This was added to test +for an mcdisplay error that used to occur, when a cylinder is completely +enclosed in another cylinder. +To test this simply do +a "mcdisplay Hidden_Cylinder.instr -c -y" +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| pin_rad | m | Radius of source | 0.0025 | +| d | m | Distance between source and sample center | 10 | +| detector_x | m | Detector Width | 0.01 | +| detector_y | m | Detector Height | 0.04 | +| det_dist | m | Distance between detector and sample center | 0.005 | + +## Links + +- [Source code](Hidden_Cylinder.instr) for `Hidden_Cylinder.instr`. +- [Additional information](Hidden_Cylinder.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/IncoherentPhonon_test/README.md b/mcstas-comps/examples/Tests_union/IncoherentPhonon_test/README.md new file mode 100644 index 0000000000..e88996979c --- /dev/null +++ b/mcstas-comps/examples/Tests_union/IncoherentPhonon_test/README.md @@ -0,0 +1,57 @@ +# The `IncoherentPhonon_test` Instrument + +*McStas: Test of IncoherentPhonon_process* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** Johns Hopkins University, Baltimore +- **Date:** May 2016 + +## Description + +```text +Test instrument for the IncoherentPhonon_process physics process from +V. Laliena, Uni Zaragoza. + +Example: comp_select=1 Detector: energy_mon_2_I=1156.84 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| comp_select | | 1: Union components, 2: Incoherent | 1 | +| sample_radius | m | Radius of sample | 0.01 | +| sample_height | m | Height of sample | 0.03 | +| pack | | Packing factor | 1 | +| sigma_inc_vanadium | barns | Incoherent cross-section | 5.08 | +| sigma_abs_vanadium | barns | Absorption cross-section | 5.08 | +| Vc_vanadium | AA^3 | Unit cell volume | 13.827 | +| geometry_interact | | p_interact for the Union sample | 0.5 | +| nphe_exact | | | 1 | +| nphe_approx | | | 0 | +| approx | | | 0 | +| mph_resum | | | 0 | +| T | | | 294 | +| density | | | 6.0 | +| M | | | 50.94 | +| sigmaCoh | | | 0.0184 | +| sigmaInc | | | 5.08 | +| dosfn | | | "dos_meV.txt" | +| nxs | | | 1000 | +| kabsmin | | | 0.1 | +| kabsmax | | | 25 | +| interact_fraction | | | -1 | + +## Links + +- [Source code](IncoherentPhonon_test.instr) for `IncoherentPhonon_test.instr`. +- [Additional information](IncoherentPhonon_test.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Logger_test/README.md b/mcstas-comps/examples/Tests_union/Logger_test/README.md new file mode 100644 index 0000000000..0614053475 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Logger_test/README.md @@ -0,0 +1,34 @@ +# The `Logger_test` Instrument + +*McStas: Test of all Union loggers* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +Reconstruction of a sample holder from picture. +All arms are 30 cm below the actual center point in order to avoid arms +in the mcdisplay picture. Uses all Union loggers. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Logger_test.instr) for `Logger_test.instr`. +- [Additional information](Logger_test.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Many_meshes/README.md b/mcstas-comps/examples/Tests_union/Many_meshes/README.md new file mode 100644 index 0000000000..b5b3dd408a --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Many_meshes/README.md @@ -0,0 +1,41 @@ +# The `Many_meshes` Instrument + +*McStas: Instrument testing placement of overlapping mesh components.* + +## Identification + +- **Site:** Tests_union +- **Author:** Daniel Lomholt Christensen +- **Origin:** UCPH@NBI, Funded by ACTNXT +- **Date:** 15:54:48 on January 20, 2026 + +## Description + +```text +A small test instrument testing the placement of many overlapping +mesh components. +Test with: +mcdisplay -y -c +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| pin_rad | m | Radius of source | 0.0025 | +| d | m | Distance between source and sample center | 10 | +| detector_x | m | Detector Width | 0.01 | +| detector_y | m | Detector Height | 0.04 | +| det_dist | m | Distance between detector and sample center | 0.005 | +| crack_width | m | Height masking crack should be raised from the original crack | 0.003 | + +## Links + +- [Source code](Many_meshes.instr) for `Many_meshes.instr`. +- [Additional information](Many_meshes.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Test_absorption/README.md b/mcstas-comps/examples/Tests_union/Test_absorption/README.md new file mode 100644 index 0000000000..55f04e4eeb --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Test_absorption/README.md @@ -0,0 +1,34 @@ +# The `Test_absorption` Instrument + +*McStas: Test of Union material with only absorption* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +Testing an absorber made using the Union components. An absorber is made +without processes and just the make_material component, and requires +a few special cases. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Test_absorption.instr) for `Test_absorption.instr`. +- [Additional information](Test_absorption.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Test_absorption_image/README.md b/mcstas-comps/examples/Tests_union/Test_absorption_image/README.md new file mode 100644 index 0000000000..3935ff876d --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Test_absorption_image/README.md @@ -0,0 +1,34 @@ +# The `Test_absorption_image` Instrument + +*McStas: Image of cryostat with sample* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +Simple test instrument showing absorption image of a cryostat with vanadium +sample using the Union components. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| stick_displacement | m | Displacement of sample stick | 0 | + +## Links + +- [Source code](Test_absorption_image.instr) for `Test_absorption_image.instr`. +- [Additional information](Test_absorption_image.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Test_box/README.md b/mcstas-comps/examples/Tests_union/Test_box/README.md new file mode 100644 index 0000000000..e982634431 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Test_box/README.md @@ -0,0 +1,35 @@ +# The `Test_box` Instrument + +*McStas: Simple test instrument for Union box component.* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +One of the union geometries that can be used in conjuction +with the others to create a complex geometry. The priority needs to +be set, and when two or more geometries overlap, the one with highest +priority determines what material is simulated in that region. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Test_box.instr) for `Test_box.instr`. +- [Additional information](Test_box.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Test_mask/README.md b/mcstas-comps/examples/Tests_union/Test_mask/README.md new file mode 100644 index 0000000000..4303079ba7 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Test_mask/README.md @@ -0,0 +1,33 @@ +# The `Test_mask` Instrument + +*McStas: Simple test instrument for mask functionality in Union framework.* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +Masks allow restricing some geometry to the internal part of a mask +geometry. All Union geometry components can be used as masks. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Test_mask.instr) for `Test_mask.instr`. +- [Additional information](Test_mask.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Test_powder/README.md b/mcstas-comps/examples/Tests_union/Test_powder/README.md new file mode 100644 index 0000000000..0ae8300120 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Test_powder/README.md @@ -0,0 +1,32 @@ +# The `Test_powder` Instrument + +*McStas: Simple test instrument for powder process in Union framework.* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +Simple test instrument for powder sample simulated using Union components. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Test_powder.instr) for `Test_powder.instr`. +- [Additional information](Test_powder.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Test_texture/README.md b/mcstas-comps/examples/Tests_union/Test_texture/README.md new file mode 100644 index 0000000000..11fb60d32a --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Test_texture/README.md @@ -0,0 +1,38 @@ +# The `Test_texture` Instrument + +*McStas: Simple test instrument for Texture functionality in Union framework.* + +## Identification + +- **Site:** Tests_union +- **Author:** +- **Origin:** +- **Date:** + +## Description + +```text +Simple test instrument for texture sample component. + +Example: lmax=0 Detector: monitor_I=8.08899e-05 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lmax | AA | Maximum wavelength treated by texture process | 0 | +| crystal_fn | string | Crystal structure file name | "Zr.laz" | +| fcoef_fn | string | Fourier component file name | "coef_Four_L2.txt" | +| barns | | Flag to indicate if \|F 2\| from "crystal_fn" is in barns or fm2 (barns = 1 for laz, barns = 0 for lau type files). | 1 | + +## Links + +- [Source code](Test_texture.instr) for `Test_texture.instr`. +- [Additional information](Test_texture.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_1D_space/README.md b/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_1D_space/README.md new file mode 100644 index 0000000000..b776498931 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_1D_space/README.md @@ -0,0 +1,34 @@ +# The `Unit_test_abs_logger_1D_space` Instrument + +*McStas: Test of the 1 dimensional spatial absorption logger* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text +Test of the 1 dimensional spatial absorption logger that investigates +the amount of absorbed intensity projected onto a axis along its y coordinate. +Often used for detectors. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_abs_logger_1D_space.instr) for `Unit_test_abs_logger_1D_space.instr`. +- [Additional information](Unit_test_abs_logger_1D_space.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_1D_space_event/README.md b/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_1D_space_event/README.md new file mode 100644 index 0000000000..6d6e1c1d6c --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_1D_space_event/README.md @@ -0,0 +1,32 @@ +# The `Unit_test_abs_logger_1D_space_event` Instrument + +*McStas: Test of Union_abs_logger_1D_space_event* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_abs_logger_1D_space_event.instr) for `Unit_test_abs_logger_1D_space_event.instr`. +- [Additional information](Unit_test_abs_logger_1D_space_event.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_1D_space_tof/README.md b/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_1D_space_tof/README.md new file mode 100644 index 0000000000..c6887abf93 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_1D_space_tof/README.md @@ -0,0 +1,33 @@ +# The `Unit_test_abs_logger_1D_space_tof` Instrument + +*McStas: Test of abs_logger_1D_space_tof* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text +Tests absorption logger measuring position projected onto a line and the +time of absorption in a histogram. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_abs_logger_1D_space_tof.instr) for `Unit_test_abs_logger_1D_space_tof.instr`. +- [Additional information](Unit_test_abs_logger_1D_space_tof.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_1D_space_tof_to_lambda/README.md b/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_1D_space_tof_to_lambda/README.md new file mode 100644 index 0000000000..dccd73072c --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_1D_space_tof_to_lambda/README.md @@ -0,0 +1,40 @@ +# The `Unit_test_abs_logger_1D_space_tof_to_lambda` Instrument + +*McStas: Test of abs_logger_1D_space_tof_to_lambda that calculates wavelength from tof* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text +This component works as other absorption loggers, but converts the tof and +position data to wavelength, which is then compared to the actual wavelength +calculated from the neutron state. The neutron position used to calculate +the wavelength is pixelated while the time of flight is continous. The +distance from source to sample is an input parameter, and the distance from +sample to a detector pixel is calculated using the reference component position +which should be specified with a relative component index. This test checks +both the standard view with measured and true wavelength on each axis, and the +relative where they have been normalized and a value of 1 is expected. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_abs_logger_1D_space_tof_to_lambda.instr) for `Unit_test_abs_logger_1D_space_tof_to_lambda.instr`. +- [Additional information](Unit_test_abs_logger_1D_space_tof_to_lambda.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_2D_space/README.md b/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_2D_space/README.md new file mode 100644 index 0000000000..ed85d30376 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_2D_space/README.md @@ -0,0 +1,32 @@ +# The `Unit_test_abs_logger_2D_space` Instrument + +*McStas: Test for Union_abs_logger_2D_space* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text +Test of absorption logger with basic geometry from Unit_test_loggers_base. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_abs_logger_2D_space.instr) for `Unit_test_abs_logger_2D_space.instr`. +- [Additional information](Unit_test_abs_logger_2D_space.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_event/README.md b/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_event/README.md new file mode 100644 index 0000000000..f1cb69a54a --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_event/README.md @@ -0,0 +1,32 @@ +# The `Unit_test_abs_logger_event` Instrument + +*McStas: Test of Union_abs_logger_event* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_abs_logger_event.instr) for `Unit_test_abs_logger_event.instr`. +- [Additional information](Unit_test_abs_logger_event.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_nD/README.md b/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_nD/README.md new file mode 100644 index 0000000000..69932486da --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_abs_logger_nD/README.md @@ -0,0 +1,34 @@ +# The `Unit_test_abs_logger_1D_space` Instrument + +*McStas: Test of the monitor_nD like absorption logger* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** November 2025 + +## Description + +```text +Test of the monitor_nD like absorption logger that investigates the amount +of absorbed intensity as with a monitor_nD that use the previous keyword for +geometry, leaving the ray positions where they were. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_abs_logger_nD.instr) for `Unit_test_abs_logger_nD.instr`. +- [Additional information](Unit_test_abs_logger_nD.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_conditional_PSD/README.md b/mcstas-comps/examples/Tests_union/Unit_test_conditional_PSD/README.md new file mode 100644 index 0000000000..406875a07a --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_conditional_PSD/README.md @@ -0,0 +1,34 @@ +# The `Unit_test_conditional_PSD` Instrument + +*McStas: Test of conditional_PSD* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text +Test of conditional_PSD component that attaches to a logger and reduces +its output to neutrons that reached the conditional_PSD area in specified +time interval. This is used to investigate origin of interesting signals. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_conditional_PSD.instr) for `Unit_test_conditional_PSD.instr`. +- [Additional information](Unit_test_conditional_PSD.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_conditional_standard/README.md b/mcstas-comps/examples/Tests_union/Unit_test_conditional_standard/README.md new file mode 100644 index 0000000000..b1cb253672 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_conditional_standard/README.md @@ -0,0 +1,34 @@ +# The `Unit_test_conditional_standard` Instrument + +*McStas: Test of Union_conditional_standard* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text +Union_conditional_standard can limit loggers to only record rays that end +their trace in Union_master within certain set limits. Here two loggers +are modified by a single conditional component that requires a final time. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_conditional_standard.instr) for `Unit_test_conditional_standard.instr`. +- [Additional information](Unit_test_conditional_standard.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_logger_1D/README.md b/mcstas-comps/examples/Tests_union/Unit_test_logger_1D/README.md new file mode 100644 index 0000000000..ecd50a353c --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_logger_1D/README.md @@ -0,0 +1,32 @@ +# The `Unit_test_logger_1D` Instrument + +*McStas: Test of Union 1D logger* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_logger_1D.instr) for `Unit_test_logger_1D.instr`. +- [Additional information](Unit_test_logger_1D.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_logger_2DQ/README.md b/mcstas-comps/examples/Tests_union/Unit_test_logger_2DQ/README.md new file mode 100644 index 0000000000..85a7807bbb --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_logger_2DQ/README.md @@ -0,0 +1,32 @@ +# The `Unit_test_logger_2DQ` Instrument + +*McStas: Test of the Union 2DQ logger that shows scattering vector projected onto 2D plane* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_logger_2DQ.instr) for `Unit_test_logger_2DQ.instr`. +- [Additional information](Unit_test_logger_2DQ.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_logger_2D_kf/README.md b/mcstas-comps/examples/Tests_union/Unit_test_logger_2D_kf/README.md new file mode 100644 index 0000000000..176bf9f406 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_logger_2D_kf/README.md @@ -0,0 +1,32 @@ +# The `Unit_test_logger_2D_kf` Instrument + +*McStas: Test of Union logger 2D kf that records the final wavevector* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_logger_2D_kf.instr) for `Unit_test_logger_2D_kf.instr`. +- [Additional information](Unit_test_logger_2D_kf.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_logger_2D_kf_time/README.md b/mcstas-comps/examples/Tests_union/Unit_test_logger_2D_kf_time/README.md new file mode 100644 index 0000000000..7738bf7fb3 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_logger_2D_kf_time/README.md @@ -0,0 +1,32 @@ +# The `Unit_test_logger_2D_kf_time` Instrument + +*McStas: Tests Logger_2D_kf_time that records final wavevector in several time steps* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_logger_2D_kf_time.instr) for `Unit_test_logger_2D_kf_time.instr`. +- [Additional information](Unit_test_logger_2D_kf_time.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_logger_2D_space/README.md b/mcstas-comps/examples/Tests_union/Unit_test_logger_2D_space/README.md new file mode 100644 index 0000000000..fc48a52504 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_logger_2D_space/README.md @@ -0,0 +1,34 @@ +# The `Unit_test_logger_2D_space` Instrument + +*McStas: Test of 2 dimensional spatial logger* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text +Test of 2 dimensional spatial logger that shows scattered intensity +projected onto a plane spanned by two of the coordinate axis, for +example z and x. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_logger_2D_space.instr) for `Unit_test_logger_2D_space.instr`. +- [Additional information](Unit_test_logger_2D_space.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_logger_2D_space_time/README.md b/mcstas-comps/examples/Tests_union/Unit_test_logger_2D_space_time/README.md new file mode 100644 index 0000000000..475d1fd8f9 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_logger_2D_space_time/README.md @@ -0,0 +1,32 @@ +# The `Unit_test_logger_2D_space_time` Instrument + +*McStas: Test of Union logger 2D space time that records spatial distribution of scattering in time steps* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_logger_2D_space_time.instr) for `Unit_test_logger_2D_space_time.instr`. +- [Additional information](Unit_test_logger_2D_space_time.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_logger_3D_space/README.md b/mcstas-comps/examples/Tests_union/Unit_test_logger_3D_space/README.md new file mode 100644 index 0000000000..0a3af62062 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_logger_3D_space/README.md @@ -0,0 +1,32 @@ +# The `Unit_test_logger_3D_space` Instrument + +*McStas: Test of the Union_logger_3D_space* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_logger_3D_space.instr) for `Unit_test_logger_3D_space.instr`. +- [Additional information](Unit_test_logger_3D_space.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tests_union/Unit_test_loggers_base/README.md b/mcstas-comps/examples/Tests_union/Unit_test_loggers_base/README.md new file mode 100644 index 0000000000..0010375b63 --- /dev/null +++ b/mcstas-comps/examples/Tests_union/Unit_test_loggers_base/README.md @@ -0,0 +1,32 @@ +# The `Unit_test_loggers_base` Instrument + +*McStas: Base instrument for logger unit tests* + +## Identification + +- **Site:** Tests_union +- **Author:** Mads Bertelsen +- **Origin:** ESS +- **Date:** June 2020 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Unit_test_loggers_base.instr) for `Unit_test_loggers_base.instr`. +- [Additional information](Unit_test_loggers_base.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tools/Histogrammer/README.md b/mcstas-comps/examples/Tools/Histogrammer/README.md new file mode 100644 index 0000000000..652926e2f8 --- /dev/null +++ b/mcstas-comps/examples/Tools/Histogrammer/README.md @@ -0,0 +1,59 @@ +# The `Histogrammer` Instrument + +*McStas: Takes eventfile input (Virtual_input/Vitess/MCNP/Tripoli4/MCPL formats) and applies Monitor_nD to generate +histograms. Histograms can be chosen freely using the options string, see mcdoc Monitor_nD.comp* + +## Identification + +- **Site:** Tools +- **Author:** Peter Willendrup (peter.willendrup@risoe.dk) +- **Origin:** Risoe +- **Date:** 2007-03-19 + +## Description + +```text +Takes any possible McStas eventfile inputs (Virtual_input/Vitess/MCNP/Tripoli4 formats) and applies +Monitor_nD to generate user-selectable neutron histograms. + +The 'options' parameter allows to customize the type of histogram to generate. +We suggest: +"sphere theta phi outgoing previous" (this is the default) +"previous, multiple, auto, x, y, z, vx, vy, vz, hdiv, vdiv, tof, lambda" +"previous, auto, x, y" +"previous, auto, tof, lambda" + +Example: mcrun Histogrammer.instr MODE=0 +- Gives information on the input parameters + +Example: mcrun Histogrammer.instr filename="events.dat" MODE=1 options="sphere theta phi outgoing previous" +- Reads a Virtual_output generated event file and applies a spherical PSD +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | string | Specifies input event file | 0 | +| MODE | int | Input file mode/format - 0 for help on usage 1=McStas,2=Vitess,3=MCNP,4=Tripoli4,5=MCPL | 0 | +| options | string | Specifies the histogramming rules used by Monitor_nD. | "sphere theta phi outgoing previous" | +| bufsize | int | Vitess_input 'buffersize' parameter - see mcdoc Vitess_input | 10000 | +| xwidth | m | Horizontal width of detector, or diameter for banana,cylinder and shpere geometry | 0.1 | +| yheight | m | Vertical height of detector, for plate, cylinder, banana shape | 0.1 | + +## Links + +- [Source code](Histogrammer.instr) for `Histogrammer.instr`. +- [Additional information](Histogrammer.md) (only if available!) +- Virtual_input component (McStas event file) +- Vitess_input component (Vitess event file) +- Virtual_mcnp_input component (MCNP PTRAC event file) +- Virtual_tripoli4_input component (Tripoli4 BATCH event file) +- Monitor_nD component (detector/histogrammer) +- MCPL_input component (MCPL event file) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tools/MCPL2Mantid_flat/README.md b/mcstas-comps/examples/Tools/MCPL2Mantid_flat/README.md new file mode 100644 index 0000000000..b8850dafd6 --- /dev/null +++ b/mcstas-comps/examples/Tools/MCPL2Mantid_flat/README.md @@ -0,0 +1,59 @@ +# The `MCPL2Mantid_flat` Instrument + +*McStas: Instrument taking MCPL input giving Mantid-compatible NeXus output.* + +## Identification + +- **Site:** Tools +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** 2019-03 + +## Description + +```text +Instrument taking MCPL input giving Mantid-compatible NeXus output. + +1) The instrument coordintate system coincides with the MCPL-file coordinates. +2) The sourceMantid position is freely positionable in that space +3) The sampleMantid position is freely positionable in that space +4) The detector is a single, flat pixellated panel freely positionable in that space + +An example mcpl input file corresponding to the default geometry can be generated using +templateSANS_MCPL +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| MCPLfile | str | Defines the MCPL input file to process | "my.mcpl.gz" | +| sourceX | m | sourceMantid x-position wrt. MCPL coords | 0 | +| sourceY | m | sourceMantid y-position wrt. MCPL coords | 0 | +| sourceZ | m | sourceMantid z-position wrt. MCPL coords | -10 | +| sampleX | m | sampleMantid x-position wrt. MCPL coords | 0 | +| sampleY | m | sampleMantid y-position wrt. MCPL coords | 0 | +| sampleZ | m | sampleMantid z-position wrt. MCPL coords | 0 | +| detectorX | m | nD_Mantid_0 x-position wrt. MCPL coords | 0 | +| detectorY | m | nD_Mantid_0 y-position wrt. MCPL coords | 0 | +| detectorZ | m | nD_Mantid_0 z-position wrt. MCPL coords | 6 | +| detrotX | m | nD_Mantid_0 x-rotation wrt. MCPL coords | 0 | +| detrotY | m | nD_Mantid_0 y-rotation wrt. MCPL coords | 0 | +| detrotZ | m | nD_Mantid_0 z-rotation wrt. MCPL coords | 0 | +| xwidth | m | nD_Mantid_0 xwidth | 0.6 | +| yheight | m | nD_Mantid_0 yheight | 0.6 | +| xbins | 1 | nD_Mantid_0 x-bins | 128 | +| ybins | 1 | nD_Mantid_0 y-bins | 128 | + +## Links + +- [Source code](MCPL2Mantid_flat.instr) for `MCPL2Mantid_flat.instr`. +- [Additional information](MCPL2Mantid_flat.md) (only if available!) +- +- MCPL website at https://mctools.github.io/mcpl/ + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tools/MCPL2hist/README.md b/mcstas-comps/examples/Tools/MCPL2hist/README.md new file mode 100644 index 0000000000..d51d71a906 --- /dev/null +++ b/mcstas-comps/examples/Tools/MCPL2hist/README.md @@ -0,0 +1,45 @@ +# The `MCPL2hist` Instrument + +*McStas: Flexible histogramming instrument file for processing MCPL input files using Monitor_nD* + +## Identification + +- **Site:** Tools +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** 2017-04 + +## Description + +```text +Flexible histogramming instrument file for processing MCPL input files using Monitor_nD. + +Example1: Multiple 1D histograms of position, velocity, divergence, time and wavelength, use +NDoptions=1 defines options="previous, multiple, auto, x, y, z, vx, vy, vz, hdiv, vdiv, tof, lambda" + +Example2: 2D x-y plot of beam cross section: +NDoptions=2 defines options="previous, auto, x, y" + +Example3: 2D TOF-lambda plot of beam: +NDoptions=3 defines options="previous, auto, tof, lambda" +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| MCPLfile | str | Defines the MCPL input file to process | "my.mcpl.gz" | +| NDoptions | int | Defines what Monitor_nD measures, see example list | 1 | + +## Links + +- [Source code](MCPL2hist.instr) for `MCPL2hist.instr`. +- [Additional information](MCPL2hist.md) (only if available!) +- +- MCPL website at https://mctools.github.io/mcpl/ + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tools/MCPL_filter_energy/README.md b/mcstas-comps/examples/Tools/MCPL_filter_energy/README.md new file mode 100644 index 0000000000..49d3beb664 --- /dev/null +++ b/mcstas-comps/examples/Tools/MCPL_filter_energy/README.md @@ -0,0 +1,40 @@ +# The `MCPL_filter_energy` Instrument + +*McStas: Filtering-by-energy instrument file for processing MCPL input files* + +## Identification + +- **Site:** Tools +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** 2019-03 + +## Description + +```text +Example: Split an MCPL file at an energy of 0.5 meV +mcrun MCPL_filter_energy MCPLfile=my.mcpl.gz energy=0.5 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| MCPLfile | str | Defines the MCPL input file to process | "my.mcpl.gz" | +| energy | meV | Defines a threshold energy to split the MCPLfile at | 40 | +| max | meV | Maximum energy in Monitor_nD plots | 100 | +| min | meV | Minimum energy in Monitor_nD plots | 0 | +| bins | 1 | Number of bins in Monitor_nD plots | 100 | + +## Links + +- [Source code](MCPL_filter_energy.instr) for `MCPL_filter_energy.instr`. +- [Additional information](MCPL_filter_energy.md) (only if available!) +- +- MCPL website at https://mctools.github.io/mcpl/ + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tools/MCPL_filter_radius/README.md b/mcstas-comps/examples/Tools/MCPL_filter_radius/README.md new file mode 100644 index 0000000000..a149342d07 --- /dev/null +++ b/mcstas-comps/examples/Tools/MCPL_filter_radius/README.md @@ -0,0 +1,37 @@ +# The `MCPL_filter_radius` Instrument + +*McStas: Filtering-by-radius instrument file for processing MCPL input files* + +## Identification + +- **Site:** Tools +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** 2019-03 + +## Description + +```text +Example: Split an MCPL file at a radius of 2.5 m from the origin +mcrun MCPL_filter_radius MCPLfile=my.mcpl.gz radius=2.5 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| MCPLfile | str | Defines the MCPL input file to process | "my.mcpl.gz" | +| radius | m | Defines a threshold distance to split the MCPLfile at | 2.5 | + +## Links + +- [Source code](MCPL_filter_radius.instr) for `MCPL_filter_radius.instr`. +- [Additional information](MCPL_filter_radius.md) (only if available!) +- +- MCPL website at https://mctools.github.io/mcpl/ + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tools/MCPL_filter_wavelength/README.md b/mcstas-comps/examples/Tools/MCPL_filter_wavelength/README.md new file mode 100644 index 0000000000..ce9f8737ec --- /dev/null +++ b/mcstas-comps/examples/Tools/MCPL_filter_wavelength/README.md @@ -0,0 +1,40 @@ +# The `MCPL_filter_wavelength` Instrument + +*McStas: Filtering-by-wavelength instrument file for processing MCPL input files* + +## Identification + +- **Site:** Tools +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** 2019-03 + +## Description + +```text +Example: Split an MCPL file at a wavelength of 0.5 AA +mcrun MCPL_filter_wavelength MCPLfile=my.mcpl.gz wavelength=0.5 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| MCPLfile | str | Defines the MCPL input file to process | "my.mcpl.gz" | +| wavelength | AA | Defines a threshold wavelength to split the MCPLfile at | 0.5 | +| max | AA | Maximum wavelength in Monitor_nD plots | 20 | +| min | AA | Minimum wavelength in Monitor_nD plots | 0 | +| bins | 1 | Number of bins in Monitor_nD plots | 100 | + +## Links + +- [Source code](MCPL_filter_wavelength.instr) for `MCPL_filter_wavelength.instr`. +- [Additional information](MCPL_filter_wavelength.md) (only if available!) +- +- MCPL website at https://mctools.github.io/mcpl/ + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Tools/vinput2mcpl/README.md b/mcstas-comps/examples/Tools/vinput2mcpl/README.md new file mode 100644 index 0000000000..2ab9216aca --- /dev/null +++ b/mcstas-comps/examples/Tools/vinput2mcpl/README.md @@ -0,0 +1,37 @@ +# The `vinput2mcpl` Instrument + +*McStas: Instrument for conversion of Virtual input files to MCPL.* + +## Identification + +- **Site:** Tools +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Jan 7th 2023 + +## Description + +```text +Instrument for conversion of Virtual input files to MCPL. + +Example: vinput2mcpl inputfile=C8_L214.dat outputfile=C8_L214.mcpl,gz +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| inputfile | | | "input" | +| outputfile | | | "output" | + +## Links + +- [Source code](vinput2mcpl.instr) for `vinput2mcpl.instr`. +- [Additional information](vinput2mcpl.md) (only if available!) +- + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Union_demos/Bispectral/README.md b/mcstas-comps/examples/Union_demos/Bispectral/README.md new file mode 100644 index 0000000000..ebd62cd6e5 --- /dev/null +++ b/mcstas-comps/examples/Union_demos/Bispectral/README.md @@ -0,0 +1,38 @@ +# The `Bispectral` Instrument + +*McStas: Example of bispectral extraction on ESS Butterfly moderator using Union components* + +## Identification + +- **Site:** ESS +- **Author:** Mads Bertelsen (mads.bertelsen@ess.eu) +- **Origin:** ESS +- **Date:** October 2025 + +## Description + +```text +Bispectral switch conisting of Si blades with supermirror coating and Cu walls, +with different coatings. Materials are simulated using NCrystal. + +Example: mcrun Bispectral.instr l_min=0.5 l_max=6.0 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| l_min | AA | Shortest simulated wavelength | 0.5 | +| l_max | AA | Longest simulated wavelength | 6.0 | + +## Links + +- [Source code](Bispectral.instr) for `Bispectral.instr`. +- [Additional information](Bispectral.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Union_demos/Demonstration/README.md b/mcstas-comps/examples/Union_demos/Demonstration/README.md new file mode 100644 index 0000000000..383a4a718d --- /dev/null +++ b/mcstas-comps/examples/Union_demos/Demonstration/README.md @@ -0,0 +1,40 @@ +# The `Demonstration` Instrument + +*McStas: General demonstration of Union* + +## Identification + +- **Site:** Union_demos +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +Demonstration of Union components. Here four different powder samples are +placed in a can each connected to a weird sample holder and contained in +a cryostat. This unrealistic example is meant to show the syntax and the +new possibilities when using the Union components. +With the standard source only two of the samples are illuminated, yet +multiple scattering occur and events are thus taking place in the last +two samples. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| stick_displacement | m | height displacement of sample stick | 0 | +| transmission_picture | 1 | if 1, a transmission image of the entire cryostat is made instead of a scattering experiment | 0 | + +## Links + +- [Source code](Demonstration.instr) for `Demonstration.instr`. +- [Additional information](Demonstration.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Union_demos/External_component/README.md b/mcstas-comps/examples/Union_demos/External_component/README.md new file mode 100644 index 0000000000..4c389b55f1 --- /dev/null +++ b/mcstas-comps/examples/Union_demos/External_component/README.md @@ -0,0 +1,36 @@ +# The `External_component` Instrument + +*McStas: Union example: External_component* + +## Identification + +- **Site:** Union_demos +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +Example showing the use of the "number_of_activations" parameter to include +an external component into an ensamle of Union components + +Example: stick_displacement=0 Detector: detector_I=189.144 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| stick_displacement | m | height displacement of sample stick | 0 | + +## Links + +- [Source code](External_component.instr) for `External_component.instr`. +- [Additional information](External_component.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Union_demos/Laue_camera/README.md b/mcstas-comps/examples/Union_demos/Laue_camera/README.md new file mode 100644 index 0000000000..50d2b7679c --- /dev/null +++ b/mcstas-comps/examples/Union_demos/Laue_camera/README.md @@ -0,0 +1,46 @@ +# The `Laue_camera` Instrument + +*McStas: Union example: Laue camera* + +## Identification + +- **Site:** Union_demos +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +Laue camera using Union components for the sample +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| delta_d_d | | Lattice spacing variation in sample | 1e-4 | +| mosaic | arcmin | Sample mosaicity | 5 | +| lam0 | AA | Source mean wavelength | 7 | +| dlam | AA | Source wavelength spread | 5 | +| radius | m | Sample radius | 0.01 | +| height | m | Sample height | 0.01 | +| x_rotation_geometry | deg | Rotates union geometry component around x | 0 | +| y_rotation_geometry | deg | Rotates union geometry component around y | 0 | +| x_rotation_geometry_ref | deg | Rotates reference component around x | 0 | +| y_rotation_geometry_ref | deg | Rotates reference component around y | 0 | +| x_rotation_process | deg | Rotates crystal process (crystal orientation), x | 0 | +| y_rotation_process | deg | Rotates crystal process (crystal orientation), y | 0 | +| z_rotation_process | deg | Rotates crystal process (crystal orientation), z | 0 | +| geometry_interact | | p_interact of Union sample | 0 | + +## Links + +- [Source code](Laue_camera.instr) for `Laue_camera.instr`. +- [Additional information](Laue_camera.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Union_demos/Manual_example/README.md b/mcstas-comps/examples/Union_demos/Manual_example/README.md new file mode 100644 index 0000000000..8563d0334e --- /dev/null +++ b/mcstas-comps/examples/Union_demos/Manual_example/README.md @@ -0,0 +1,34 @@ +# The `Manual_example` Instrument + +*McStas: Union example from Union project manual* + +## Identification + +- **Site:** Union_demos +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +Example on using Union components from the Union project manual + +Example: Detector: Banana_monitor_I=3.823e-05 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Manual_example.instr) for `Manual_example.instr`. +- [Additional information](Manual_example.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Union_demos/Sample_picture_replica/README.md b/mcstas-comps/examples/Union_demos/Sample_picture_replica/README.md new file mode 100644 index 0000000000..6425363ea9 --- /dev/null +++ b/mcstas-comps/examples/Union_demos/Sample_picture_replica/README.md @@ -0,0 +1,34 @@ +# The `Sample_picture_replica` Instrument + +*McStas: Union demo: Reconstruction of a sample holder from picture.* + +## Identification + +- **Site:** Union_demos +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +Reconstruction of a sample holder from picture. +All arms are 30 cm below the actual center point in order to avoid arms +in the mcdisplay picture. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Sample_picture_replica.instr) for `Sample_picture_replica.instr`. +- [Additional information](Sample_picture_replica.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Union_demos/Tagging_demo/README.md b/mcstas-comps/examples/Union_demos/Tagging_demo/README.md new file mode 100644 index 0000000000..a3b9880f69 --- /dev/null +++ b/mcstas-comps/examples/Union_demos/Tagging_demo/README.md @@ -0,0 +1,45 @@ +# The `Tagging_demo` Instrument + +*McStas: Union demo: How to use tagging* + +## Identification + +- **Site:** Union_demos +- **Author:** Mads Bertelsen +- **Origin:** Johns Hopkins University, Baltimore +- **Date:** May 2016 + +## Description + +```text +Powder in Al can + +Example: Detector: Banana_monitor_I=9.84391e-09 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| material_data_file | string | Name of data file for powder sample | "Cu.laz" | +| E0 | meV | Source mean energy | 100 | +| dE | meV | Source energy spread | 2 | +| sample_radius | m | Sample radius | 0.01 | +| sample_height | m | Sample height | 0.01 | +| pack | 1 | Packing factor, 1 is full density | 1 | +| sigma_inc | barns | Incoherent cross section for powder sample | 2.2 | +| sigma_abs | barns | Absorption cross section for powder sample | 15.12 | +| Vc | AA | Unit cell volume for powder sample | 47.22 | +| geometry_interact | 1 | Fraction of beam to interact with geometry | 0.5 | +| incoherent_fraction | 1 | Fraction of scattered events that select the powder process | 0.2 | + +## Links + +- [Source code](Tagging_demo.instr) for `Tagging_demo.instr`. +- [Additional information](Tagging_demo.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Union_demos/Time_of_flight/README.md b/mcstas-comps/examples/Union_demos/Time_of_flight/README.md new file mode 100644 index 0000000000..b698742f87 --- /dev/null +++ b/mcstas-comps/examples/Union_demos/Time_of_flight/README.md @@ -0,0 +1,35 @@ +# The `Time_of_flight` Instrument + +*McStas: Simple test instrument for sample component.* + +## Identification + +- **Site:** Union_demos +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** September 2015 + +## Description + +```text +simple test instrument for sample component. + +Example: stick_displacement=0 Detector: banana_detector_tof_I=566.295 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| stick_displacement | m | Displacement of sample stick | 0 | + +## Links + +- [Source code](Time_of_flight.instr) for `Time_of_flight.instr`. +- [Additional information](Time_of_flight.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Union_sample_environments/SE_usage_example/README.md b/mcstas-comps/examples/Union_sample_environments/SE_usage_example/README.md new file mode 100644 index 0000000000..158f5e5a24 --- /dev/null +++ b/mcstas-comps/examples/Union_sample_environments/SE_usage_example/README.md @@ -0,0 +1,35 @@ +# The `SE_usage_example` Instrument + +*McStas: Sample in cryostat included from other instrument file* + +## Identification + +- **Site:** Union_sample_environments +- **Author:** Mads Bertelsen +- **Origin:** ESS DMSC +- **Date:** July 2024 + +## Description + +```text +This instrument demonstrates how to include a sample environment +from another instrument file and add a sample to the Union system. +See the cryostat_example.instr file for details on the used sample +environment. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](SE_usage_example.instr) for `SE_usage_example.instr`. +- [Additional information](SE_usage_example.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Union_sample_environments/cryostat_example/README.md b/mcstas-comps/examples/Union_sample_environments/cryostat_example/README.md new file mode 100644 index 0000000000..48ecc54e0d --- /dev/null +++ b/mcstas-comps/examples/Union_sample_environments/cryostat_example/README.md @@ -0,0 +1,41 @@ +# The `Cryostat_example` Instrument + +*McStas: Cryostat model made with Union components that can be included in other instruments* + +## Identification + +- **Site:** Union_sample_environments +- **Author:** Mads Bertelsen +- **Origin:** ESS DMSC +- **Date:** July 2024 + +## Description + +```text +Model of a cryostat made using Union components that can be included in another +instrument or executed on its own. Several components are marked with the +removable keyword, meaning these are not included when this instrument is included +in another McStas instrument. This includes the source, but also the Union components +init, master and stop, which the instrument including this sample environment will need +to supply. This is done such that a sample can easily be added. +Only a simple model of Al is used for this cryostat, and it has been named Al_cryostat +to avoid conflicting with existing models of Al in the instrument file that includes this +sample environment. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| stick_displacement | m | height displacement of sample stick | 0 | + +## Links + +- [Source code](cryostat_example.instr) for `cryostat_example.instr`. +- [Additional information](cryostat_example.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Union_validation/Incoherent_validation/README.md b/mcstas-comps/examples/Union_validation/Incoherent_validation/README.md new file mode 100644 index 0000000000..f814fe01c3 --- /dev/null +++ b/mcstas-comps/examples/Union_validation/Incoherent_validation/README.md @@ -0,0 +1,40 @@ +# The `Incoherent_validation` Instrument + +*McStas: Validation of Union components against incoherent scattering component* + +## Identification + +- **Site:** Union_validation +- **Author:** Mads Bertelsen +- **Origin:** Johns Hopkins University, Baltimore +- **Date:** May 2016 + +## Description + +```text +Validation of Union components against incoherent scattering component +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| comp_select | | 1: Union components, 2: Incoherent | 1 | +| sample_radius | m | Radius of sample | 0.01 | +| sample_height | m | Height of sample | 0.01 | +| pack | | Packing factor | 1 | +| sigma_inc_vanadium | barns | Incoherent cross-section | 5.08 | +| sigma_abs_vanadium | barns | Absorption cross-section | 5.08 | +| Vc_vanadium | AA^3 | Unit cell volume | 13.827 | +| geometry_interact | | p_interact for the Union sample | 0.5 | + +## Links + +- [Source code](Incoherent_validation.instr) for `Incoherent_validation.instr`. +- [Additional information](Incoherent_validation.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Union_validation/Mirror_validation/README.md b/mcstas-comps/examples/Union_validation/Mirror_validation/README.md new file mode 100644 index 0000000000..ff6efee0f2 --- /dev/null +++ b/mcstas-comps/examples/Union_validation/Mirror_validation/README.md @@ -0,0 +1,50 @@ +# The `Mirror_validation` Instrument + +*McStas: Comparison of Mirror component and Union version* + +## Identification + +- **Site:** ESS +- **Author:** Mads Bertelsen (mads.bertelsen@ess.eu) +- **Origin:** ESS +- **Date:** October 2025 + +## Description + +```text +Comparison of Mirror component and a similar system made with Union components +though with a key difference that a substrate is simulated which results in two +effects: At large angles where no reflection occur, there will be some intensity +from the scattering in the substrate. At very small angles, the reflectivity can +exceed the R0 of the mirror coating, as the ray can be reflected by the Ni +substrate. NCrystal is used to simulate the Ni substrate. +The instrument includes a detector that ignores scattered rays, which should +produce identical results for large angles, though there can still be a tiny +discrepancy at small angles especially if R0 of the mirror coating is lowered. + +Example: mcrun Mirror_validation.instr angle=0.7 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| angle | deg | Rotation of sample | 0.4 | +| ref_component | 1 | 0 to use Union components, 1 for reference Mirror component | 0 | +| R0_value | 1 | Low-angle reflectivity | 0.99 | +| m_value | 1 | m-value of material | 3 | +| Qc_value | AA-1 | Critical scattering vector | 0.0219 | +| alpha_value | AA | Slope of reflectivity | 6.07 | +| W_value | AA-1 | Width of supermirror cut-off | 0.003 | + +## Links + +- [Source code](Mirror_validation.instr) for `Mirror_validation.instr`. +- [Additional information](Mirror_validation.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Union_validation/Powder_validation/README.md b/mcstas-comps/examples/Union_validation/Powder_validation/README.md new file mode 100644 index 0000000000..2f6de0705a --- /dev/null +++ b/mcstas-comps/examples/Union_validation/Powder_validation/README.md @@ -0,0 +1,46 @@ +# The `Powder_validation` Instrument + +*McStas: Validation of Union powder against standard PowderN component.* + +## Identification + +- **Site:** Union_validation +- **Author:** Mads Bertelsen +- **Origin:** Johns Hopkins University, Baltimore +- **Date:** May 2016 + +## Description + +```text +Validation of Union powder against standard PowderN component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| comp_select | 1 | 1=Union components, 2=PowderN | 1 | +| material_data_file | string | Powder sample definition | "Al.laz" | +| E0 | meV | Source mean energy | 100 | +| dE | meV | Source energy spread | 2 | +| sample_radius | m | Sample radius | 0.01 | +| sample_height | m | Sample height | 0.01 | +| pack | | Sample packing factor | 1 | +| sigma_inc | barns | Sample incoherent cross-section | 0.0328 | +| sigma_abs | barns | Sample absorption cross-section | 0.924 | +| Vc | AA | Sample unit cell volume | 66.4 | +| geometry_interact | | p_interact for the sample | 0.5 | +| incoherent_fraction | | Fraction of statistics assigned for incoherent scattering | 0.2 | +| div | deg | Source divergence (angular w and h) | 1.5 | +| d_phi | deg | Restriction of Debye-Scherrer cones around scattering plane 0=full illumination | 30 | + +## Links + +- [Source code](Powder_validation.instr) for `Powder_validation.instr`. +- [Additional information](Powder_validation.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/Union_validation/Single_crystal_validation/README.md b/mcstas-comps/examples/Union_validation/Single_crystal_validation/README.md new file mode 100644 index 0000000000..7d148ccfcf --- /dev/null +++ b/mcstas-comps/examples/Union_validation/Single_crystal_validation/README.md @@ -0,0 +1,54 @@ +# The `Single_crystal_validation` Instrument + +*McStas: Validation of Union single crystal against standard single_crystal.* + +## Identification + +- **Site:** Union_validation +- **Author:** Mads Bertelsen +- **Origin:** Johns Hopkins University, Baltimore +- **Date:** May 2016 + +## Description + +```text +Validation of Union single crystal against standard single_crystal. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| comp_select | 1 | 1: Union components, 2: Single crystal | 1 | +| material_data_file | string | Sample material defintion | "YBaCuO.lau" | +| sigma_inc | barns | Sample incoherent cross-section | 2.105 | +| my_absorption_union | m^-1 | Sample mass-absorption coefficient | 8.55 | +| sigma_abs_sc | banrs | Sample absorption cross-section | 0 | +| delta_d_d | | Sample latttice spacing variation | 1e-4 | +| mosaic | arcmin | Sample mosaicity | 5 | +| unit_cell_volume | AA | Sample unit cell volume | 173.28 | +| lam0 | AA | Source mean wavelength | 7 | +| dlam | AA | Source wavelength spread | 5 | +| xwidth | m | Sample x-dimension | 0.01 | +| yheight | m | Sample y-dimension | 0.01 | +| zdepth | m | Sample z-dimension | 0.01 | +| x_rotation_geometry | deg | Rotates union geometry component around x | 0 | +| y_rotation_geometry | deg | Rotates union geometry component around y | 0 | +| x_rotation_geometry_ref | deg | Rotates reference component around x | 0 | +| y_rotation_geometry_ref | deg | Rotates reference component around y | 0 | +| x_rotation_process | deg | Rotates crystal process (crystal orientation), x | 0 | +| y_rotation_process | deg | Rotates crystal process (crystal orientation), y | 0 | +| geometry_interact | deg | Rotates crystal process (crystal orientation), z | 0 | +| PG | | Sample PG-mode | 0 | +| powder | | Sample powder-mode | 0 | + +## Links + +- [Source code](Single_crystal_validation.instr) for `Single_crystal_validation.instr`. +- [Additional information](Single_crystal_validation.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/elearning/Radiography_absorbing_edge/README.md b/mcstas-comps/examples/elearning/Radiography_absorbing_edge/README.md new file mode 100644 index 0000000000..9fd5796df5 --- /dev/null +++ b/mcstas-comps/examples/elearning/Radiography_absorbing_edge/README.md @@ -0,0 +1,43 @@ +# The `Radiography_absorbing_edge` Instrument + +*McStas: Instrument to study radiographic imaging of an absobing edge sample used for "Spacial resolution in neutron imaging" Moodle quiz in the Virtual Neutrons for Teaching project +http://vnt.nmi3.org/moodle/mod/quiz/view.php?id=56* + +## Identification + +- **Site:** elearning +- **Author:** Linda Udby and Peter Willendrup +- **Origin:** University of Copenhagen +- **Date:** July 4th, 2014 + +## Description + +```text +Instrument to study radiographic imaging of an absobing edge sample used for "Spacial resolution in neutron imaging" Moodle quiz in the Virtual Neutrons for Teaching project +http://vnt.nmi3.org/moodle/mod/quiz/view.php?id=56 + +Example: mcrun Radiography_absorbing_edge.instr -n5e8 l=0.2 -d EdgeImaging +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| D | m | Diameter of pinhole before sample | 0.01 | +| L | m | Distance between pinhole and sample | 5 | +| l | m | Distance between sample and detector | 0.10 | +| sigma_abs | barns | Absorption cross-section of the sample | 5.08 | +| Vc | AA^3 | Unit cell volume in the sample | 13.827 | +| sample_z | | | 0.01 | + +## Links + +- [Source code](Radiography_absorbing_edge.instr) for `Radiography_absorbing_edge.instr`. +- [Additional information](Radiography_absorbing_edge.md) (only if available!) +- http://vnt.nmi3.org/mcstas-web + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/elearning/Reflectometer/README.md b/mcstas-comps/examples/elearning/Reflectometer/README.md new file mode 100644 index 0000000000..e0ca64b470 --- /dev/null +++ b/mcstas-comps/examples/elearning/Reflectometer/README.md @@ -0,0 +1,56 @@ +# The `Reflectometer` Instrument + +*McStas: Simple reflectometer with two slits, a sample (either none, mirror or multilayer), +and a detector. For use in the OMIC summer school 2012.* + +## Identification + +- **Site:** elearning +- **Author:** Pia Jensen (bozack@bozack.dk) +- **Origin:** Niels Bohr Instute, University of Copenhagen +- **Date:** 13.08.2012 + +## Description + +```text +This simple reflectometer consists of a source (using the standard PSI parameters +for three Maxwellian distributions), on which the user can control the bandwidth +by simply choosing a minumum and maximum value. Two slits handle the divergence +distribution on the sample. The sample itself can either be an empty spot, a simple +mirror, or a multilayer. A simple PSD detector is used for detecting the scattered +beam. The scattering is in the horizontal plane. + +Example: mcrun reflectometer.instr +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda_min | AA | Minimum wavelength from source | 5.3 | +| lambda_max | AA | Maximum wavelength from source | 5.45 | +| slittranslation | m | Translation of slit (horizontal) | 0 | +| sampletranslation | m | Sample translation (horizontal) | 0 | +| slitwidth | m | Width of slit pinholes | 0.001 | +| slitheight | m | Height of slit pinholes | 0.002 | +| dist_source2slit | m | Distance between source and first slit | 1 | +| dist_slit2slit | m | Distance between slits | 3.2 | +| dist_slit2sample | m | Distance between second slit and sample | 0.18 | +| dist_sample2detector | m | Distance between sample and detector | 2 | +| sampletype | 1 | Sample type: 0 none, 1 mirror, 2+ multilayer | 1 | +| samplesize | m | Side-length of the (quadratic) sample plate | 0.15 | +| substratethickness | m | Thickness of the substrate | 0.003 | +| MR_Qc | AA | Critical Q-vector length of mirror sample | 0.15 | +| sampleangle | deg | Rotation angle of sample (theta) | 2.5 | +| detectorangle | deg | Rotation angle of detector (2 theta) | 5 | + +## Links + +- [Source code](Reflectometer.instr) for `Reflectometer.instr`. +- [Additional information](Reflectometer.md) (only if available!) + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/elearning/SANSsimple/README.md b/mcstas-comps/examples/elearning/SANSsimple/README.md new file mode 100644 index 0000000000..9b1aa6aa66 --- /dev/null +++ b/mcstas-comps/examples/elearning/SANSsimple/README.md @@ -0,0 +1,49 @@ +# The `SANS2_liposomes` Instrument + +*McStas: SANSsimple from e-neutrons.org* + +## Identification + +- **Site:** elearning +- **Author:** Linda +- **Origin:** Copenhagen +- **Date:** 05.09.10 + +## Description + +```text +Instrument longer description (type, elements, usage...) + +Example: mcrun SANSsimple.instr +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| pinhole_rad | m | radius of the collimating pinholes | 0.004 | +| LC | m | length of the collimator - distance between pinholes | 3 | +| LD | m | distance between the last pinhole slit and detector | 3 | +| Lambda | AA | Average wavelength traced from source | 6 | +| DLambda | AA | Wavelength band +/- traced from source | 0.6 | +| R | AA | radius of the hard, monodisperse spheres in the sample | 400 | +| dR | AA | Normal variance of Radius | 0 | +| dbilayer | AA | Thickness of spherical shell, only relevant when SAMPLE==2 | 35 | +| PHI | 1 | Volumefraction of the hard, monodisperse spheres in the sample | 1e-2 | +| Delta_Rho | fm/AA^3 | Volume specific scattering length density contrast of the hard, monodisperse spheres in the sample as compared to the solution | 0.6 | +| Qmax | AA^-1 | Maximum scattering vector allowed by geometry to hit the detector area | 0.3 | +| BEAMSTOP | 0/1 | If set, the beamstop is inserted in front of the detector in order to block the transmitted beam | 1 | +| SAMPLE | 0/1/2 | When SAMPLE==0, no sample is used, SAMPLE==1 sample is composed of hard spheres, if SAMPLE==2 sample is composed ofspherical shells. | 1 | +| Sigma_a | barn | Absorption crossection of the sample | 0 | + +## Links + +- [Source code](SANSsimple.instr) for `SANSsimple.instr`. +- [Additional information](SANSsimple.md) (only if available!) +- A reference/HTML link for more information + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/elearning/SANSsimpleSpheres/README.md b/mcstas-comps/examples/elearning/SANSsimpleSpheres/README.md new file mode 100644 index 0000000000..2b9fa77517 --- /dev/null +++ b/mcstas-comps/examples/elearning/SANSsimpleSpheres/README.md @@ -0,0 +1,47 @@ +# The `SANSsimpleSpheres` Instrument + +*McStas: SANS_simple from e-neutrons.org, including polydisperse hard spheres.* + +## Identification + +- **Site:** elearning +- **Author:** Linda Udby (udby@nbi.dk) +- **Origin:** Niels Bohr Institute +- **Date:** 20.09.2016 + +## Description + +```text +Instrument longer description (type, elements, usage...) +This simple SANS instrument is used for the SANS simulation quiz on th e-learning platform www.e-neutrons.org + +Example: mcrun SANSsimple.instr Lambda=10 DLambda=0 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| pinhole_rad | m | radius of the collimating pinholes. Also used to optimise the sample size. | 0.004 | +| LC | m | length of the collimator - distance between pinholes | 3 | +| LD | m | distance between the last pinhole slit and detector | 3 | +| Lambda | Angs | Average wavelength traced from source | 6 | +| DLambda | Angs | Wavelength band +/- traced from source | 0.001 | +| R | m | average radius of the monodisperse spheres in the sample | 400 | +| dR | AA | Normal variance of the radius of spheres in the sample. If zero the sample is monodisperse. | 0 | +| PHI | 1 | Volumefraction of the hard spheres in the sample | 1e-2 | +| Delta_Rho | fm/Angs^3 | Volume specific scattering length density contrast of the hard, monodisperse spheres in the sample as compared to the solution | 0.6 | +| BEAMSTOP | 0/1 | If set, the beamstop is inserted in front of the detector in order to block the transmitted beam | 1 | +| SAMPLE | 0/1 | If set, a sample of spheres or spherical shells is inserted | 1 | + +## Links + +- [Source code](SANSsimpleSpheres.instr) for `SANSsimpleSpheres.instr`. +- [Additional information](SANSsimpleSpheres.md) (only if available!) +- https://sim.e-neutrons.org/instrument/intro-ns/SANSsimple + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/examples/elearning/SimplePowderDiffractometer/README.md b/mcstas-comps/examples/elearning/SimplePowderDiffractometer/README.md new file mode 100644 index 0000000000..f5792be3a3 --- /dev/null +++ b/mcstas-comps/examples/elearning/SimplePowderDiffractometer/README.md @@ -0,0 +1,42 @@ +# The `SimplePowderDIffractometer` Instrument + +*McStas: SimplePowderDIffractometer from e-neutrons.org: A simple monochromatic powder diffractometer with variable bandwidth, aluminium sample container with powder sample (default nickel powder).* + +## Identification + +- **Site:** elearning +- **Author:** Linda Udby +- **Origin:** Your institution +- **Date:** 26/02/2015 + +## Description + +```text +A simple monochromatic powder diffractometer with variable bandwidth, collimation, aluminium sample container and powder sample. +The sample container (Al can) is optional. +A banana detector records scattering agles [20,100] + +Example: mcrun SimplePowderDIffractometer.instr coll=40, container=1 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda0 | AA | The mean value of incoming wavelegths (Gaussian distribution) | 1 | +| dlambda | AA | Gaussian sigma of incoming wavelength distribution | 0.005 | +| coll | arcmin | horizontal collimation | 120 | +| container | 1 | When >0 a 2mm thick Al pressed powder can is inserted around the sample | 0 | +| sample | 1 | 0=Ni, 1=Fe, 2=SiO2, 3=C_diamond, otherwise empty | 0 | + +## Links + +- [Source code](SimplePowderDiffractometer.instr) for `SimplePowderDiffractometer.instr`. +- [Additional information](SimplePowderDiffractometer.md) (only if available!) +- http://vnt.nmi3.org/mcstas-web + +--- + +*Generated for mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/misc/Annulus.md b/mcstas-comps/misc/Annulus.md new file mode 100644 index 0000000000..8870bba19a --- /dev/null +++ b/mcstas-comps/misc/Annulus.md @@ -0,0 +1,41 @@ +# The `Annulus` Component + +*McStas: A geometric shape without effect on neutron, for instrument display purpose.* + +## Identification + +- **Site:** +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** June 23rd 2009 + +## Description + +```text +An inactive geometrical shape (annulus), for drawing purposes only. +Derived from the Shape component + +Example: Annulus(radius=0.05, yheight=0.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| outer_radius | m | Outer radius of geometry in (x,z) plane | 0 | +| inner_radius | m | Inner radius of geometry in (x,z) plane | 0 | +| radius | m | Outer radius of geometry in (x,z) plane | 0 | +| xwidth | m | Horiz. dimension of geometry as a width | 0 | +| yheight | m | Vert. | 0 | +| zdepth | m | Depth dimension of geometry | 0 | + +## Links + +- [Source code](Annulus.comp) for `Annulus.comp`. +- mcdoc page of Shape component + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/misc/Circle.md b/mcstas-comps/misc/Circle.md new file mode 100644 index 0000000000..7b2d5f821b --- /dev/null +++ b/mcstas-comps/misc/Circle.md @@ -0,0 +1,39 @@ +# The `Circle` Component + +*McStas: A geometric shape without effect on neutron, for instrument display purpose.* + +## Identification + +- **Site:** +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** June 23rd 2009 + +## Description + +```text +An inactive geometrical shape (circle), for drawing purposes only. +Derived from the Shape component + +Example: Circle(radius=0.05, yheight=0.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Outer radius of geometry in (x,z) plane | 0 | +| xwidth | m | Horiz. dimension of geometry | 0 | +| yheight | m | Vert. dimension of geometry | 0 | +| zdepth | m | Depth dimension of geometry | 0 | + +## Links + +- [Source code](Circle.comp) for `Circle.comp`. +- mcdoc page of Shape component + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/misc/Cone.md b/mcstas-comps/misc/Cone.md new file mode 100644 index 0000000000..f5ba7b2e4c --- /dev/null +++ b/mcstas-comps/misc/Cone.md @@ -0,0 +1,39 @@ +# The `Cone` Component + +*McStas: An inactive geometrical shape (cone), for drawing purposes only. +Derived from the Shape component + +Example: Cone(radius=0.05, yheight=0.1)* + +## Identification + +- **Site:** +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** June 23rd 2009 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Outer radius of geometry in (x,z) plane | 0 | +| xwidth | m | Horiz. dimension of geometry as a width | 0 | +| yheight | m | Vert. | 0 | +| zdepth | m | Depth dimension of geometry | 0 | + +## Links + +- [Source code](Cone.comp) for `Cone.comp`. +- mcdoc page of Shape component + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/misc/Disc.md b/mcstas-comps/misc/Disc.md new file mode 100644 index 0000000000..b86f2c430f --- /dev/null +++ b/mcstas-comps/misc/Disc.md @@ -0,0 +1,42 @@ +# The `Disc` Component + +*McStas: A geometric shape without effect on neutron, for instrument display purpose.* + +## Identification + +- **Site:** +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** June 23rd 2009 + +## Description + +```text +An inactive geometrical shape (annulus), for drawing purposes only. +Derived from the Shape component + +Example: Annulus(radius=0.05, yheight=0.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Outer radius of geometry in (x,z) plane | 0 | +| xwidth | m | Horiz. dimension of geometry | 0 | +| yheight | m | Vert. dimensuon of geometry | 0 | +| zdepth | m | Depth dimension of geometry | 0 | +| nx | 1 | x-comp of orientation vector | 0 | +| ny | 1 | y-comp of orientation vector | 1 | +| nz | 1 | z-comp of orientation vector | 0 | + +## Links + +- [Source code](Disc.comp) for `Disc.comp`. +- mcdoc page of Shape component + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/misc/File.md b/mcstas-comps/misc/File.md new file mode 100644 index 0000000000..1340e51188 --- /dev/null +++ b/mcstas-comps/misc/File.md @@ -0,0 +1,36 @@ +# The `File` Component + +*McStas: File.comp - allows to generate instrument/component input-files +from METADATA blocks* + +## Identification + +- **Site:** +- **Author:** Greg Tucker +- **Origin:** ESS +- **Date:** 2024 + +## Description + +```text +File.comp - allows to generate instrument/component input-files +from METADATA blocks - see test_File.instr for an example. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | string | Filename for output-file generated from metadata block | 0 | +| **metadatakey** | string | METADATA-key for looking up file content (may belong to File instance or another comp) | | +| keep | 1 | Flag to indicate if file should be kept post-simulation | 0 | + +## Links + +- [Source code](File.comp) for `File.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/misc/Legacy_circle.md b/mcstas-comps/misc/Legacy_circle.md new file mode 100644 index 0000000000..8e46348c73 --- /dev/null +++ b/mcstas-comps/misc/Legacy_circle.md @@ -0,0 +1,56 @@ +# The `Legacy_circle` Component + +*McStas: A geometric shape without effect on neutron, for instrument display purpose.* + +## Identification + +- **Site:** +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** June 23rd 2009 + +## Description + +```text +An inactive geometrical shape, for drawing purposes only. +It does not propagate neutron, nor interact. +Shape: +Geometric shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using qhull/powercrust, and +viewed with geomview +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Example: Shape(radius=0.05, yheight=0.1) +Shape(geometry="socket.off") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Outer radius of sample in (x,z) plane | 0 | + +## Links + +- [Source code](Legacy_circle.comp) for `Legacy_circle.comp`. +- Geomview and Object File Format (OFF) +- Powercrust/qhull + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/misc/MCPL_input.md b/mcstas-comps/misc/MCPL_input.md new file mode 100644 index 0000000000..7023866768 --- /dev/null +++ b/mcstas-comps/misc/MCPL_input.md @@ -0,0 +1,49 @@ +# The `MCPL_input` Component + +*McStas: Source-like component that reads neutron state parameters from an mcpl-file.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Mar 2016 + +## Description + +```text +Source-like component that reads neutron state parameters from a binary mcpl-file. + +MCPL is short for Monte Carlo Particle List, and is a new format for sharing events +between e.g. MCNP(X), Geant4 and McStas. + +When used with MPI, the --ncount given on the commandline is overwritten by +#MPI nodes x #events in the file. + +Example: MCPL_input(filename=voutput,verbose=1,repeat_count=1,v_smear=0.1,pos_smear=0.001,dir_smear=0.01) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of neutron mcpl file to read | 0 | +| polarisationuse | | If !=0 read polarisation vectors from file | 1 | +| verbose | | Print debugging information for first 10 particles read | 1 | +| Emin | meV | Lower energy bound. Particles found in the MCPL-file below the limit are skipped | 0 | +| Emax | meV | Upper energy bound. Particles found in the MCPL-file above the limit are skipped | FLT_MAX | +| repeat_count | 1 | Repeat contents of the MCPL file this number of times. NB: When running MPI, repeating is implicit and is taken into account by integer division. MUST be combined with _smear options! | 1 | +| v_smear | 1 | When repeating events, make a Gaussian MC choice within v_smear*V around particle velocity V | 0 | +| pos_smear | m | When repeating events, make a flat MC choice of position within pos_smear around particle starting position | 0 | +| dir_smear | deg | When repeating events, make a Gaussian MC choice of direction within dir_smear around particle direction | 0 | +| preload | | Load particles during INITIALIZE. On GPU preload is forced | 0 | + +## Links + +- [Source code](MCPL_input.comp) for `MCPL_input.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/misc/MCPL_input_once.md b/mcstas-comps/misc/MCPL_input_once.md new file mode 100644 index 0000000000..3f58bf2189 --- /dev/null +++ b/mcstas-comps/misc/MCPL_input_once.md @@ -0,0 +1,49 @@ +# The `MCPL_input_once` Component + +*McStas: Source-like component that reads neutron state parameters from a MCPL-file one time.* + +## Identification + +- **Site:** +- **Author:** Gregory S Tucker +- **Origin:** European Spallation Source ERIC +- **Date:** Sep 2024 + +## Description + +```text +Source-like component that reads neutron state parameters from a MCPL-file one time. + +MCPL is short for Monte Carlo Particle List, and is a format for sharing events +between e.g. MCNP(X), Geant4 and McStas. + +When used with MPI, the file contents are shared between workers with each accessing +approximately (#events in the file) / (#MPI nodes) + +%BUGS +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of neutron mcpl file to read. | 0 | +| polarisationuse | | If !=0 read polarisation vectors from file. | 1 | +| Emin | meV | Lower energy bound. Particles found in the MCPL-file below the limit are skipped. | 0 | +| Emax | meV | Upper energy bound. Particles found in the MCPL-file above the limit are skipped. | FLT_MAX | +| v_smear | 1 | Relative fraction for randomness in replayed particle velocity v *= (1 + v_smear * randpm1()) | 0 | +| pos_smear | m | Maximum extent of random position for replayed particles | 0 | +| dir_smear | deg | Maximum deviation of random direction for replayed particles | 0 | +| always_smear | | Finite values force particle property smearing for all particles | 0 | +| preload | | Load particles during INITIALIZE. On GPU preload is forced. | 0 | +| verbose | | Finite values may cause extra output (at some point in the future) | 0 | + +## Links + +- [Source code](MCPL_input_once.comp) for `MCPL_input_once.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/misc/MCPL_output.md b/mcstas-comps/misc/MCPL_output.md new file mode 100644 index 0000000000..d8ef1f5224 --- /dev/null +++ b/mcstas-comps/misc/MCPL_output.md @@ -0,0 +1,58 @@ +# The `MCPL_output` Component + +*McStas: Detector-like component that writes neutron state parameters into an mcpl-format +binary, virtual-source neutron file.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Mar 2016 + +## Description + +```text +Detector-like component that writes neutron state parameters into an mcpl-format +binary, virtual-source neutron file. + +MCPL is short for Monte Carlo Particle List, and is a new format for sharing events +between e.g. MCNP(X), Geant4 and McStas. + +When used with MPI, the component will output #MPI nodes individual MCPL files that +can be merged using the mcpltool. + +MCPL_output allows a few flags to tweak the output files: +1. If use_polarisation is unset (default) the polarisation vector will not be stored (saving space) +2. If doubleprec is unset (default) data will be stored as 32 bit floating points, effectively cutting the output file size in half. +3. Extra information may be attached to each ray in the form of a userflag, a user-defined variable wich is packed into 32 bits. If +the user variable does not fit in 32 bits the value will be truncated and likely garbage. If more than one variable is to be attached to +each neutron this must be packed into the 32 bits. + +These features are set this way to keep file sizes as manageable as possible. + +Example: MCPL_output( filename="voutput", verbose=1, userflag="flag", userflagcomment="Neutron Id" ) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of neutron file to write. If not given, the component name will be used. | 0 | +| weight_mode | 1 | weight_mode=1: record initial ray count in MCPL stat:sum entry and rescale particle weights. weight_mode=2: classical (deprecated) mode of outputting particle weights directly. | -1 | +| verbose | 1 | If 1) Print summary information for created MCPL file. 2) Also print summary of first 10 particles information stored in the MCPL file. >2) Also print information for first 10 particles as they are being stored by McStas | 0 | +| polarisationuse | 1 | Enable storing the polarisation state of the neutron. | 0 | +| doubleprec | 1 | Use double precision storage | 0 | +| userflag | 1 | Extra variable to attach to each neutron. The value of this variable will be packed into a 32 bit integer. | "" | +| userflagcomment | str | String variable to describe the userflag. If this string is empty (the default) no userflags will be stored. | "" | +| buffermax | 1 | Maximal number of events to save ( <= MAXINT), GPU/OpenACC only | 0 | + +## Links + +- [Source code](MCPL_output.comp) for `MCPL_output.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/misc/MCPL_output_noacc.md b/mcstas-comps/misc/MCPL_output_noacc.md new file mode 100644 index 0000000000..0cd102e464 --- /dev/null +++ b/mcstas-comps/misc/MCPL_output_noacc.md @@ -0,0 +1,58 @@ +# The `MCPL_output_noacc` Component + +*McStas: Detector-like component that writes neutron state parameters into an mcpl-format +binary, virtual-source neutron file.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Mar 2016 + +## Description + +```text +Detector-like component that writes neutron state parameters into an mcpl-format +binary, virtual-source neutron file. + +MCPL is short for Monte Carlo Particle List, and is a new format for sharing events +between e.g. MCNP(X), Geant4 and McStas. + +When used with MPI, the component will output #MPI nodes individual MCPL files that +can be merged using the mcpltool. + +MCPL_output allows a few flags to tweak the output files: +1. If use_polarisation is unset (default) the polarisation vector will not be stored (saving space) +2. If doubleprec is unset (default) data will be stored as 32 bit floating points, effectively cutting the output file size in half. +3. Extra information may be attached to each ray in the form of a userflag, a user-defined variable wich is packed into 32 bits. If +the user variable does not fit in 32 bits the value will be truncated and likely garbage. If more than one variable is to be attached to +each neutron this must be packed into the 32 bits. + +These features are set this way to keep file sizes as manageable as possible. + +%BUGS +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of neutron file to write. If not given, the component name will be used. | 0 | +| weight_mode | 1 | weight_mode=1: record initial ray count in MCPL stat:sum entry and rescale particle weights. weight_mode=2: classical (deprecated) mode of outputting particle weights directly. | -1 | +| verbose | 1 | If 1) Print summary information for created MCPL file. 2) Also print summary of first 10 particles information stored in the MCPL file. >2) Also print information for first 10 particles as they are being stored by McStas | 0 | +| polarisationuse | 1 | Enable storing the polarisation state of the neutron. | 0 | +| doubleprec | 1 | Use double precision storage | 0 | +| userflag | 1 | Extra variable to attach to each neutron. The value of this variable will be packed into a 32 bit integer. | "" | +| userflagcomment | str | String variable to describe the userflag. If this string is empty (the default) no userflags will be stored. | "" | +| buffermax | 1 | Maximal number of events to save ( <= MAXINT), GPU/OpenACC only | 0 | + +## Links + +- [Source code](MCPL_output_noacc.comp) for `MCPL_output_noacc.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/misc/Progress_bar.md b/mcstas-comps/misc/Progress_bar.md new file mode 100644 index 0000000000..01b42d3250 --- /dev/null +++ b/mcstas-comps/misc/Progress_bar.md @@ -0,0 +1,42 @@ +# The `Progress_bar` Component + +*McStas: A simulation progress bar* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi +- **Origin:** ILL +- **Date:** 2002 + +## Description + +```text +An indicator of the progress of the simulation, monitoring +the Init, Trace with the achieved percentage, and the Finally section. +Intermediate savings (e.g. triggered by USR2 signal) are also shown. +This component should be positioned at the very begining of the instrument +The profile option will save the intensity and number of events for each +component It may be used to evaluate the simulation efficiency. + +Example: Progress_bar(percent=10,flag_save=1) AT (0,0,0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| profile | str | file name to save the simulation profile if set to "", it is set to the name of the instrument. | "NULL" | +| percent | 0-100 | percentage interval between updates. Default is 10%. | 10 | +| flag_save | 0\|1 | flag to enable intermediate saving for all monitors | 0 | +| minutes | min | time in minutes between updates (Overrides percent flag). | 0 | + +## Links + +- [Source code](Progress_bar.comp) for `Progress_bar.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/misc/Shape.md b/mcstas-comps/misc/Shape.md new file mode 100644 index 0000000000..3c16ee70ea --- /dev/null +++ b/mcstas-comps/misc/Shape.md @@ -0,0 +1,65 @@ +# The `Shape` Component + +*McStas: A geometric shape without effect on neutron, for instrument display purpose.* + +## Identification + +- **Site:** +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** June 23rd 2009 + +## Description + +```text +An inactive geometrical shape, for drawing purposes only. +It does not propagate neutron, nor interact. +Shape: +Geometric shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using qhull/powercrust, and +viewed with geomview +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Example: Shape(radius=0.05, yheight=0.1) +Shape(geometry="socket.off") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| geometry | str | Name of an Object File Format (OFF) file for complex geometry. The OFF file may be generated from XYZ coordinates using qhull/powercrust | 0 | +| radius | m | Outer radius of sample in (x,z) plane | 0 | +| xwidth | m | Horiz. dimension of sample (bounding box if off file), as a width | 0 | +| yheight | m | Vert. dimension of sample (bounding box if off file), as a height. A sphere shape is used when 0 and radius is set | 0 | +| zdepth | m | Depth of sample (bounding box if off file) | 0 | +| thickness | m | Thickness of hollow sample | 0 | +| nx | 1 | x-comp of orientation vector | 0 | +| ny | 1 | y-comp of orientation vector | 1 | +| nz | 1 | z-comp of orientation vector | 0 | +| center | 1 | Flag to determine if OFF object is centered on its centre of mass. | 1 | + +## Links + +- [Source code](Shape.comp) for `Shape.comp`. +- Geomview and Object File Format (OFF) +- Powercrust/qhull + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/misc/Shape_simple.md b/mcstas-comps/misc/Shape_simple.md new file mode 100644 index 0000000000..4257b4fe7b --- /dev/null +++ b/mcstas-comps/misc/Shape_simple.md @@ -0,0 +1,62 @@ +# The `Shape_simple` Component + +*McStas: A geometric shape without effect on neutron, for instrument display purpose.* + +## Identification + +- **Site:** +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** June 23rd 2009 + +## Description + +```text +An inactive geometrical shape, for drawing purposes only. +It does not propagate neutron, nor interact. +Shape: +Geometric shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using qhull/powercrust, and +viewed with geomview +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Example: Shape(radius=0.05, yheight=0.1) +Shape(geometry="socket.off") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| geometry | str | Name of an Object File Format (OFF) file for complex geometry. The OFF file may be generated from XYZ coordinates using qhull/powercrust | 0 | +| radius | m | Outer radius of sample in (x,z) plane | 0 | +| xwidth | m | Horiz. dimension of sample (bounding box if off file), as a width | 0 | +| yheight | m | Vert. dimension of sample (bounding box if off file), as a height. A sphere shape is used when 0 and radius is set | 0 | +| zdepth | m | Depth of sample (bounding box if off file) | 0 | +| thickness | m | Thickness of hollow sample | 0 | +| center | 1 | Flag to determine if OFF object is centered on its centre of mass. | 1 | + +## Links + +- [Source code](Shape_simple.comp) for `Shape_simple.comp`. +- Geomview and Object File Format (OFF) +- Powercrust/qhull + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Brilliance_monitor.md b/mcstas-comps/monitors/Brilliance_monitor.md new file mode 100644 index 0000000000..02438b5ef5 --- /dev/null +++ b/mcstas-comps/monitors/Brilliance_monitor.md @@ -0,0 +1,69 @@ +# The `Brilliance_monitor` Component + +*McStas: Special "Brilliance" monitor.* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup, derived from TOF_lambda_monitor.comp +- **Origin:** DTU Physics +- **Date:** May 23, 2012 + +## Description + +```text +If used in the right setting, will output "instantaneous" and "mean" brilliances in units of Neutrons/cm^2/ster/AA/s. Conditions for proper units: +
    +
  • Use a with a source of area 1x1cm +
  • The source must illuminate/focus to an area of 1x1cm a 1m distance +
  • Parametrise the Brilliance_monitor with the frequency of the source +
  • To not change the source TOF distribution, place the Brilliance monitor close to the source! +
+ +with a source of area 1x1cm illuminating/focusing to an area of 1x1cm a 1m distance, this monitor will output "instantaneous" and "mean" brilliances in units of Neutrons/cm^2/ster/AA/s + +Here is an example of the use of the component. Note how the mentioned Unit conditions are implemented in instrument code. + +COMPONENT Source = ESS_moderator_long( +l_low = lambdamin, l_high = lambdamax, dist = 1, xw = 0.01, yh = 0.01, +freq = 14, T=50, tau=287e-6, tau1=0, tau2=20e-6, +n=20, n2=5, d=0.00286, chi2=0.9, I0=6.9e11, I2=27.6e10, +branch1=0, branch2=0.5, twopulses=0, size=0.01) +AT (0, 0, 0) RELATIVE Origin + +COMPONENT BRIL = Brilliance_monitor(nlam=196,nt=401,filename="bril.sim", +t_0=0,t_1=4000,lambda_0=lambdamin, +lambda_1=lambdamax, Freq=14) +AT (0,0,0.000001) RELATIVE Source +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nlam | 1 | Number of bins in wavelength | 101 | +| nt | 1 | Number of bins in TOF | 1001 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| lambda_0 | AA | Minimum wavelength detected | 0 | +| lambda_1 | AA | Maximum wavelength detected | 20 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| **Freq** | Hz | Source frequency. Use freq=1 for reactor source | | +| tofcuts | 1 | Flag to generate TOF-distributions as function of wavelength | 0 | +| toflambda | 1 | Flag to generate TOF-lambda distribution output | 0 | +| xwidth | m | width of monitor | 0.01 | +| yheight | m | height of monitor | 0.01 | +| source_dist | m | Distance from source. Beware when transporting through neutron optics! | 1 | +| filename | string | Defines filenames for the detector images. Stored as:
Peak_<filename> and Mean_<filename> | 0 | +| t_0 | us | Minimum time | 0 | +| t_1 | us | Maximum time | 20000 | +| srcarea | cm^2 | Source area | 1 | + +## Links + +- [Source code](Brilliance_monitor.comp) for `Brilliance_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Cyl_monitor.md b/mcstas-comps/monitors/Cyl_monitor.md new file mode 100644 index 0000000000..e1f270f9e7 --- /dev/null +++ b/mcstas-comps/monitors/Cyl_monitor.md @@ -0,0 +1,43 @@ +# The `Cyl_monitor` Component + +*McStas: A 2D Position-sensitive monitor. The shape is cylindrical with +the axis vertical. The monitor covers the whole cylinder (360 degrees).* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** October 26, 2000 + +## Description + +```text +An (n times m) pixel PSD monitor with cylinder shape, +vertical axis, centered at (0,0,0). + +Example: PSDcyl_monitor(nr=20, ny=20, filename="Output.cyl", yheight=0.2, radius=0.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nr | 1 | Number of pixel (radial) columns | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| yheight | m | Height of detector | 10 | +| radius | m | Radius of detector | 1 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| thmin | deg | Minimum angle covered/measured | -180 | +| thmax | deg | Maximum angle covered/measured | 180 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | + +## Links + +- [Source code](Cyl_monitor.comp) for `Cyl_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Cyl_monitor_PSD.md b/mcstas-comps/monitors/Cyl_monitor_PSD.md new file mode 100644 index 0000000000..b1bf439f5b --- /dev/null +++ b/mcstas-comps/monitors/Cyl_monitor_PSD.md @@ -0,0 +1,44 @@ +# The `Cyl_monitor_PSD` Component + +*McStas: A 2D Position-sensitive monitor. The shape is cylindrical with +the axis vertical. The monitor covers the whole cylinder (360 degrees).* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** October 26, 2000 + +## Description + +```text +An (n times m) pixel PSD monitor with cylinder shape, +vertical axis, centered at (0,0,0). + +Example: PSDcyl_monitor(nr=20, ny=20, filename="Output.cyl", yheight=0.2, radius=0.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nr | 1 | Number of pixel (radial) columns | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| yheight | m | Height of detector | 10 | +| radius | m | Radius of detector | 1 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| thmin | deg | Minimum angle covered/measured | -180 | +| thmax | deg | Maximum angle covered/measured | 180 | +| ny | 1 | Number of pixel rows | 100 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | + +## Links + +- [Source code](Cyl_monitor_PSD.comp) for `Cyl_monitor_PSD.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Cyl_monitor_TOF.md b/mcstas-comps/monitors/Cyl_monitor_TOF.md new file mode 100644 index 0000000000..33e32a924a --- /dev/null +++ b/mcstas-comps/monitors/Cyl_monitor_TOF.md @@ -0,0 +1,46 @@ +# The `Cyl_monitor_TOF` Component + +*McStas: A 2D Position-sensitive monitor. The shape is cylindrical with +the axis vertical. The monitor covers the whole cylinder (360 degrees).* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** October 26, 2000 + +## Description + +```text +An (n times m) pixel PSD monitor with cylinder shape, +vertical axis, centered at (0,0,0). + +Example: PSDcyl_monitor(nr=20, ny=20, filename="Output.cyl", yheight=0.2, radius=0.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nr | 1 | Number of pixel (radial) columns | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| yheight | m | Height of detector | 10 | +| radius | m | Radius of detector | 1 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| thmin | deg | Minimum angle covered/measured | -180 | +| thmax | deg | Maximum angle covered/measured | 180 | +| nt | 1 | Number of t-bins | 100 | +| **tmin** | s | Minimum time measured | | +| **tmax** | s | Maximum time measured | | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | + +## Links + +- [Source code](Cyl_monitor_TOF.comp) for `Cyl_monitor_TOF.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Div1D_monitor.md b/mcstas-comps/monitors/Div1D_monitor.md new file mode 100644 index 0000000000..22bb63b8a1 --- /dev/null +++ b/mcstas-comps/monitors/Div1D_monitor.md @@ -0,0 +1,46 @@ +# The `Div1D_monitor` Component + +*McStas: A 1D divergence sensitive monitor.* + +## Identification + +- **Site:** +- **Author:** KL, +- **Origin:** Risoe +- **Date:** Nov. 11, 1998 + +## Description + +```text +A divergence sensitive monitor. The counts are distributed in +ndiv pixels along either the horizontal axis x (default) or the vertical y. + +Example: Div1D_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, ndiv=20, filename="Output.hd", maxdiv=2) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| ndiv | 1 | Number of pixel rows | 20 | +| filename | str | Name of file in which to store the detector image | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| xwidth | m | Width of detector. Overrides xmin,xmax. | 0 | +| yheight | m | Height of detector. Overrides ymin,ymax. | 0 | +| maxdiv | deg | Maximal divergence detected | 2 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| vertical | 1 | If set, measure vertical divergence instead of horizontal. | 0 | + +## Links + +- [Source code](Div1D_monitor.comp) for `Div1D_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/DivLambda_monitor.md b/mcstas-comps/monitors/DivLambda_monitor.md new file mode 100644 index 0000000000..79a57e8841 --- /dev/null +++ b/mcstas-comps/monitors/DivLambda_monitor.md @@ -0,0 +1,53 @@ +# The `DivLambda_monitor` Component + +*McStas: Divergence/wavelength monitor.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** 1999 + +## Description + +```text +2D detector for intensity as a function of both horizontal divergence +and wavelength. + +Example: DivLambda_monitor(nL=20, nh=20, filename="Output.div", +xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, +maxdiv_h=2, Lmin=2, Lmax=10) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nL | 1 | Number of bins in wavelength | 20 | +| nh | 1 | Number of bins in divergence | 20 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| filename | string | Name of file in which to store the detector image | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| xwidth | m | Width of detector. Overrides xmin,xmax. | 0 | +| yheight | m | Height of detector. Overrides ymin,ymax. | 0 | +| maxdiv_h | degrees | Maximal horizontal divergence detected | 2 | +| **Lmin** | AA | Minimum wavelength detected | | +| **Lmax** | AA | Maximum wavelength detected | | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| nx | 1 | | 0 | +| ny | 1 | Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane. | 0 | +| nz | 1 | | 1 | + +## Links + +- [Source code](DivLambda_monitor.comp) for `DivLambda_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/DivPos_monitor.md b/mcstas-comps/monitors/DivPos_monitor.md new file mode 100644 index 0000000000..6fbc4bde3a --- /dev/null +++ b/mcstas-comps/monitors/DivPos_monitor.md @@ -0,0 +1,53 @@ +# The `DivPos_monitor` Component + +*McStas: Divergence/position monitor (acceptance diagram).* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** 1999 + +## Description + +```text +2D detector for intensity as a function of position +and divergence, either horizontally or vertically (depending on the flag vertical). +This gives information similar to an aceptance diagram used +eg. to investigate beam profiles in neutron guides. + +Example: DivPos_monitor(nh=20, ndiv=20, filename="Output.dip", +xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, maxdiv_h=2) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nb | 1 | Number of bins in position. | 20 | +| ndiv | 1 | Number of bins in divergence. | 20 | +| filename | string | Name of file in which to store the detector image. | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| xwidth | m | Width of detector. Overrides xmin,xmax. | 0 | +| yheight | m | Height of detector. Overrides ymin,ymax. | 0 | +| maxdiv | degrees | Maximal divergence detected. | 2 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state. | 0 | +| nx | 1 | | 0 | +| ny | 1 | Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane | 0 | +| nz | 1 | | 1 | +| vertical | 1 | Monitor intensity as a function of vertical divergence and position. | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | + +## Links + +- [Source code](DivPos_monitor.comp) for `DivPos_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Divergence_monitor.md b/mcstas-comps/monitors/Divergence_monitor.md new file mode 100644 index 0000000000..0f40cf32c0 --- /dev/null +++ b/mcstas-comps/monitors/Divergence_monitor.md @@ -0,0 +1,52 @@ +# The `Divergence_monitor` Component + +*McStas: Horizontal+vertical divergence monitor.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** Nov. 11, 1998 + +## Description + +```text +A divergence sensitive monitor. The counts are distributed in +(n times m) pixels. + +Example: Divergence_monitor(nh=20, nv=20, filename="Output.pos", +xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, +maxdiv_h=2, maxdiv_v=2) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nh | 1 | Number of pixel rows | 20 | +| nv | 1 | Number of pixel columns | 20 | +| filename | str | Name of file in which to store the detector image text | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| xwidth | m | Width of detector. Overrides xmin, xmax | 0 | +| yheight | m | Height of detector. Overrides ymin, ymax | 0 | +| maxdiv_h | degrees | Maximal vertical divergence detected | 2 | +| maxdiv_v | degrees | Maximal vertical divergence detected | 2 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| nx | 1 | | 0 | +| ny | 1 | Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane | 0 | +| nz | 1 | | 1 | + +## Links + +- [Source code](Divergence_monitor.comp) for `Divergence_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/EPSD_monitor.md b/mcstas-comps/monitors/EPSD_monitor.md new file mode 100644 index 0000000000..b2f0ddbc07 --- /dev/null +++ b/mcstas-comps/monitors/EPSD_monitor.md @@ -0,0 +1,47 @@ +# The `EPSD_monitor` Component + +*McStas: A monitor measuring neutron intensity vs. position, x, and neutron energy, E* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** 16.4.00 + +## Description + +```text +A monitor measuring neutron intensity vs. position, x, and neutron energy, E + +Example: EPSD_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, +Emin=1, Emax=50, nx=20, nE=20, filename="Output.poe") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of pixel columns in scattering plane | 20 | +| nE | 1 | Number of energy bins | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| xwidth | m | Width of detector. Overrides xmin,xmax. | 0 | +| yheight | m | Height of detector. Overrides ymin,ymax. | 0 | +| **Emin** | meV | Lower bound of energy | | +| **Emax** | meV | Upper bound of energy | | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | + +## Links + +- [Source code](EPSD_monitor.comp) for `EPSD_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/E_monitor.md b/mcstas-comps/monitors/E_monitor.md new file mode 100644 index 0000000000..26b76f7568 --- /dev/null +++ b/mcstas-comps/monitors/E_monitor.md @@ -0,0 +1,46 @@ +# The `E_monitor` Component + +*McStas: Energy-sensitive monitor.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen and Kim Lefmann +- **Origin:** Risoe +- **Date:** April 20, 1998 + +## Description + +```text +A square single monitor that measures the energy of the incoming neutrons. + +Example: E_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, +Emin=1, Emax=50, nE=20, filename="Output.nrj") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nE | 1 | Number of energy channels | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| xwidth | m | Width of detector. Overrides xmin, xmax. | 0 | +| yheight | m | Height of detector. Overrides ymin, ymax. | 0 | +| **Emin** | meV | Minimum energy to detect | | +| **Emax** | meV | Maximum energy to detect | | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | + +## Links + +- [Source code](E_monitor.comp) for `E_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Event_monitor_simple.md b/mcstas-comps/monitors/Event_monitor_simple.md new file mode 100644 index 0000000000..6bbed9a4e6 --- /dev/null +++ b/mcstas-comps/monitors/Event_monitor_simple.md @@ -0,0 +1,34 @@ +# The `Event_monitor_simple` Component + +*McStas: Low-key event-monitor for debugging purposes.* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 3rd, 2020 + +## Description + +```text +Simple, low-key event-monitor for debugging purposes. No propagation, +no MPI support. Simply prints the event list to a log file in the SAVE section. +The filename is "comp-instance".log +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nevents | 1 | Number of events to store and print | 1e6 | + +## Links + +- [Source code](Event_monitor_simple.comp) for `Event_monitor_simple.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Flex_monitor_1D.md b/mcstas-comps/monitors/Flex_monitor_1D.md new file mode 100644 index 0000000000..30858dea0f --- /dev/null +++ b/mcstas-comps/monitors/Flex_monitor_1D.md @@ -0,0 +1,42 @@ +# The `Flex_monitor_1D` Component + +*McStas: Flexible monitor.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen & Peter Willendrup +- **Origin:** DTU Physics +- **Date:** Oct '20 + +## Description + +```text +A square 1D single monitor that measures intensity (or something else) as a function of some variable or parameter. + +Example: Flex_monitor_1D(nU=20, filename="Output", ustring="x", Umin=-.1, Umax=.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nU | 1 | Number of U channels | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| **Umin** | | Minimum U to detect | | +| **Umax** | | Maximum U to detect | | +| uid | 1 | Integer index of uservar to be monitored. Overrides ustring. | -1 | +| ustring | string | Name of variable (user or neutron state parameter as a string) to be monitored. | "" | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| signal | string | Name of variable to be used as an additive signal to be monitored. Default is intensity. | "p" | +| nowritefile | 1 | Flag to indicate if monitor should not save any data. | 0 | + +## Links + +- [Source code](Flex_monitor_1D.comp) for `Flex_monitor_1D.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Flex_monitor_2D.md b/mcstas-comps/monitors/Flex_monitor_2D.md new file mode 100644 index 0000000000..db610ab036 --- /dev/null +++ b/mcstas-comps/monitors/Flex_monitor_2D.md @@ -0,0 +1,47 @@ +# The `Flex_monitor_2D` Component + +*McStas: Flexible monitor.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen & Peter Willendrup +- **Origin:** DTU Physics +- **Date:** Oct '20 + +## Description + +```text +A square 2D single monitor that measures intensity (or something else) as a function of two selectable variables or parameters. + +Example: Flex_monitor_2D(nU1=20, nU2=20, filename="Output", ustring1="x", ustring2="y", Umin1=-.1, Umax1=.1, Umin2=-.1, Umax2=.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nU1 | 1 | Number of U1 channels | 20 | +| nU2 | 1 | Number of U1 channels | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| **Umin1** | | Minimum U1 to detect | | +| **Umax1** | | Maximum U1 to detect | | +| uid1 | 1 | Integer index of uservar to be monitored. Overrides ustring1. | -1 | +| ustring1 | string | Name of variable U1 (user or neutron state parameter as a string) to be monitored. | "" | +| **Umin2** | | Minimum U1 to detect | | +| **Umax2** | | Maximum U1 to detect | | +| uid2 | 1 | Integer index of uservar to be monitored. Overrides ustring2. | -1 | +| ustring2 | string | Name of variable U2 (user or neutron state parameter as a string) to be monitored. | "" | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| signal | string | Name of variable to be used as an additive signal to be monitored. Default is intensity. | "p" | +| nowritefile | 1 | Flag to indicate if monitor should not save any data. | 0 | + +## Links + +- [Source code](Flex_monitor_2D.comp) for `Flex_monitor_2D.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Flex_monitor_3D.md b/mcstas-comps/monitors/Flex_monitor_3D.md new file mode 100644 index 0000000000..99fa3c33a8 --- /dev/null +++ b/mcstas-comps/monitors/Flex_monitor_3D.md @@ -0,0 +1,52 @@ +# The `Flex_monitor_3D` Component + +*McStas: Flexible monitor.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen & Peter Willendrup +- **Origin:** DTU Physics +- **Date:** Oct '20 + +## Description + +```text +A square 3D single monitor that measures intensity (or something else) as a function of two selectable variables or parameters. + +Example: Flex_monitor_3D(nU1=20, nU2=20, nU3=20, filename="Output", ustring1="x", ustring2="y", ustring1="z", Umin1=-.1, Umax1=.1, Umin2=-.1, Umax2=.1, Umin3=-.1, Umax3=.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nU1 | 1 | Number of U1 channels | 20 | +| nU2 | 1 | Number of U1 channels | 20 | +| nU3 | 1 | Number of U3 channels | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| **Umin1** | | Minimum U1 to detect | | +| **Umax1** | | Maximum U1 to detect | | +| uid1 | 1 | Integer index of uservar to be monitored. Overrides ustring1. | -1 | +| ustring1 | string | Name of variable U1 (user or neutron state parameter as a string) to be monitored. | "" | +| **Umin2** | | Minimum U1 to detect | | +| **Umax2** | | Maximum U1 to detect | | +| uid2 | 1 | Integer index of uservar to be monitored. Overrides ustring2. | -1 | +| ustring2 | string | Name of variable U2 (user or neutron state parameter as a string) to be monitored. | "" | +| **Umin3** | | Minimum U3 to detect | | +| **Umax3** | | Maximum U3 to detect | | +| uid3 | 1 | Integer index of uservar to be monitored. Overrides ustring3. | -1 | +| ustring3 | string | Name of variable U3 (user or neutron state parameter as a string) to be monitored. | "" | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| signal | string | Name of variable to be used as an additive signal to be monitored. Default is intensity. | "p" | +| nowritefile | 1 | Flag to indicate if monitor should not save any data. | 0 | + +## Links + +- [Source code](Flex_monitor_3D.comp) for `Flex_monitor_3D.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/L_monitor.md b/mcstas-comps/monitors/L_monitor.md new file mode 100644 index 0000000000..2b061bb5a7 --- /dev/null +++ b/mcstas-comps/monitors/L_monitor.md @@ -0,0 +1,46 @@ +# The `L_monitor` Component + +*McStas: Wavelength-sensitive monitor.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen and Kim Lefmann +- **Origin:** Risoe +- **Date:** April 20, 1998 + +## Description + +```text +A square single monitor that measures the wavelength of the incoming +neutrons. + +Example: L_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, nL=20, filename="Output.L", Lmin=2, Lmax=10) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nL | 1 | Number of wavelength channels | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| xwidth | m | Width of detector. Overrides xmin, xmax. | 0 | +| yheight | m | Height of detector. Overrides ymin, ymax. | 0 | +| **Lmin** | AA | Minimum wavelength to detect | | +| **Lmax** | AA | Maximum wavelength to detect | | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | + +## Links + +- [Source code](L_monitor.comp) for `L_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/MeanPolLambda_monitor.md b/mcstas-comps/monitors/MeanPolLambda_monitor.md new file mode 100644 index 0000000000..cbab61f7d7 --- /dev/null +++ b/mcstas-comps/monitors/MeanPolLambda_monitor.md @@ -0,0 +1,46 @@ +# The `MeanPolLambda_monitor` Component + +*McStas: Polarisation and wavelength sensitive monitor.* + +## Identification + +- **Site:** +- **Author:** Peter Christiansen +- **Origin:** Risoe +- **Date:** July 2006 + +## Description + +```text +A square single monitor that measures the MEAN projection of the +polarisation along a given normalized m-vector (mx, my, mz) as a +function of wavelength. + +Example: MeanPollambda_monitor(xwidth=0.1, yheight=0.1, npol=11, my=1, filename="meanpollambdaMon.data") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Width of detector | 0.1 | +| yheight | m | Height of detector | 0.1 | +| nL | 1 | Number of bins in wavelength | 20 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| filename | string | Name of file in which to store the data | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| mx | 1 | X-component of monitor vector (can be negative) | 0 | +| my | 1 | Y-component of monitor vector (can be negative) | 0 | +| mz | 1 | Z-component of monitor vector (can be negative) | 0 | +| **Lmin** | AA | Minimum wavelength detected | | +| **Lmax** | AA | Maximum wavelength detected | | + +## Links + +- [Source code](MeanPolLambda_monitor.comp) for `MeanPolLambda_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Monitor.md b/mcstas-comps/monitors/Monitor.md new file mode 100644 index 0000000000..b1db77d562 --- /dev/null +++ b/mcstas-comps/monitors/Monitor.md @@ -0,0 +1,41 @@ +# The `Monitor` Component + +*McStas: Simple single detector/monitor.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** October 4, 1997 + +## Description + +```text +Sums neutrons (0th, 1st, and 2nd moment of p) flying through +the rectangular monitor opening. May also be used as detector. + +Example: Monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xmin | m | Lower x bound of opening | -0.05 | +| xmax | m | Upper x bound of opening | 0.05 | +| ymin | m | Lower y bound of opening | -0.05 | +| ymax | m | Upper y bound of opening | 0.05 | +| xwidth | m | Width of detector. Overrides xmin,xmax. | 0 | +| yheight | m | Height of detector. Overrides ymin,ymax. | 0 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | + +## Links + +- [Source code](Monitor.comp) for `Monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Monitor_4PI.md b/mcstas-comps/monitors/Monitor_4PI.md new file mode 100644 index 0000000000..48c30db2b6 --- /dev/null +++ b/mcstas-comps/monitors/Monitor_4PI.md @@ -0,0 +1,36 @@ +# The `Monitor_4PI` Component + +*McStas: Release: McStas 1.6 + +Monitor that detects ALL non-absorbed neutrons. + +Example: Monitor_4PI()* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann and Kristian Nielsen +- **Origin:** Risoe +- **Date:** April 17, 1998 + +## Description + +```text +Counts ALL neutrons that propagate this far in the instrument, regardless +of origin or direction. Mostly used for test purposes. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Monitor_4PI.comp) for `Monitor_4PI.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Monitor_nD.md b/mcstas-comps/monitors/Monitor_nD.md new file mode 100644 index 0000000000..84fa2bccf1 --- /dev/null +++ b/mcstas-comps/monitors/Monitor_nD.md @@ -0,0 +1,221 @@ +# The `Monitor_nD` Component + +*McStas: Release: McStas 1.6 +Version: $Revision$ + +This component is a general Monitor that can output 0/1/2D signals +(Intensity or signal vs. [something] and vs. [something] ...)* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi +- **Origin:** ILL +- **Date:** 14th Feb 2000. + +## Description + +```text +This component is a general Monitor that can output 0/1/2D signals +It can produce many 1D signals (one for any variable specified in +option list), or a single 2D output (two variables correlation). +Also, an additional 'list' of neutron events can be produced. +By default, monitor is square (in x/y plane). A disk shape is also possible +The 'cylinder' and 'banana' option will change that for a banana shape +The 'sphere' option simulates spherical detector. The 'box' is a box. +The cylinder, sphere and banana should be centered on the scattering point. +The monitored flux may be per monitor unit area, and weighted by +a lambda/lambda(2200m/s) factor to obtain standard integrated capture flux. +In normal configuration, the Monitor_nD measures the current parameters +of the neutron that is beeing detected. But a PreMonitor_nD component can +be used in order to study correlations between a neutron being detected in +a Monitor_nD place, and given parameters that are monitored elsewhere +(at PreMonitor_nD). +The monitor can also act as a 3He gas detector, taking into account the +detection efficiency. + +The 'bins' and 'limits' modifiers are to be used after each variable, +and 'auto','log' and 'abs' come before it. (eg: auto abs log hdiv bins=10 +limits=[-5 5]) When placed after all variables, these two latter modifiers +apply to the signal (e.g. intensity). Unknown keywords are ignored. +If no limits are specified for a given observable, reasonable defaults will be +applied. Note that these implicit limits are even applied in list mode. + +Implicit limits for typical variables: +(consult monitor_nd-lib.c if you don't find your variable here) +x, y, z: Derived from detection-object geometry +k: [0 10] Angs-1 +v: [0 1e6] m/s +t: [0 1] s +p: [0 FLT_MAX] in intensity-units +vx, vy: [-1000 1000] m/s +vz: [0 10000] m/s +kx, ky: [-1 1] Angs-1 +kz: [-10 10] Angs-1 +energy, omega: [0 100] meV +lambda,wavelength: [0 100] Angs +sx, sy, sz: [-1 1] in polarisation-units +angle: [-50 50] deg +divergence, vdiv, hdiv, xdiv, ydiv: [-5 5] deg +longitude, lattitude: [-180 180] deg +neutron: [0 simulaton_ncount] +id, pixel id: [0 FLT_MAX] +uservars u1,u2,u3: [-1e10 1e10] + +In the case of multiple components at the same position, the 'parallel' +keyword must be used in each instance instead of defining a GROUP. + +Possible options are +Variables to record: +kx ky kz k wavevector [Angs-1] Wavevector on x,y,z and norm +vx vy vz v [m/s] Velocity on x,y,z and norm +x y z radius [m] Distance, Position and norm +xy, yz, xz [m] Radial position in xy, yz and xz plane +kxy kyz kxz [Angs-1] Radial wavevector in xy, yz and xz plane +vxy vyz vxz [m/s] Radial velocity in xy, yz and xz plane +t time [s] Time of Flight +energy omega [meV] energy of neutron +lambda wavelength [Angs] wavelength of neutron +sx sy sz [1] Spin +vdiv ydiv dy [deg] vertical divergence (y) +hdiv divergence xdiv [deg] horizontal divergence (x) +angle [deg] divergence from direction +theta longitude [deg] longitude (x/z) for sphere and cylinder +phi lattitude [deg] lattitude (y/z) for sphere and cylinder + +user user1 will monitor the [Mon_Name]_Vars.UserVariable{1|2|3} +user2 user3 to be assigned in an other component (see below) + +p intensity flux [n/s or n/cm^2/s] +ncounts n neutron [1] neutron ID, i.e current event index +pixel id [1] pixelID in histogram made of preceeding vars, e.g. 'theta y'. To set an offset PixelID use the 'min=value' keyword. Sets event mode. + +Other options keywords are: +abs Will monitor the abs of the following variable or of the signal (if used after all variables) +auto Automatically set detector limits for one/all +all {limits|bins|auto} To set all limits or bins values or auto mode +binary {float|double} with 'source' option, saves in compact files +bins=[bins=20] Number of bins in the detector along dimension +borders To also count off-limits neutrons (X < min or X > max) +capture weight by lambda/lambda(2200m/s) capture flux +file=string Detector image file name. default is component name, plus date and variable extension. +incoming Monitor incoming beam in non flat det +limits=[min max] Lower/Upper limits for axes (see up for the variable unit) +list=[counts=1000] or all For a long file of neutron characteristics with [counts] or all events +log Will monitor the log of the following variable or of the signal (if used after all variables) +min=[min_value] Same as limits, but only sets the min or max +max=[max_value] +multiple Create multiple independant 1D monitors files +no or not Revert next option +outgoing Monitor outgoing beam (default) +parallel Use this option when the next component is at the same position (parallel components) +per cm2 Intensity will be per cm^2 (detector area). Displays beam section. +per steradian Displays beam solid angle in steradian +premonitor Will monitor neutron parameters stored previously with PreMonitor_nD. +signal=[var] Will monitor [var] instead of usual intensity +slit or absorb Absorb neutrons that are out detector +source The monitor will save neutron states +inactivate To inactivate detector (0D detector) +verbose To display additional informations +3He_pressure=[3 in bars] The 3He gas pressure in detector. 3He_pressure=0 is perfect detector (default) + +Detector shape options (specified as xwidth,yheight,zdepth or x/y/z/min/max) +box Box of size xwidth, yheight, zdepth. +cylinder To get a cylindrical monitor (diameter is xwidth or set radius, height is yheight). +banana Same as cylinder, without top/bottom, on restricted angular area; use theta variable with limits to define arc. (diameter is xwidth or set radius, height is yheight). +disk Disk flat xy monitor. diameter is xwidth. +sphere To get a spherical monitor (e.g. a 4PI) (diameter is xwidth or set radius). +square Square flat xy monitor (xwidth, yheight). +previous The monitor uses PREVIOUS component as detector surface. Or use 'geometry' parameter to specify any PLY/OFF geometry file. + +EXAMPLES: +
    +
  • MyMon = Monitor_nD(xwidth = 0.1, yheight = 0.1, zdepth = 0, +  options = "intensity per cm2 angle,limits=[-5 5] bins=10,with +  borders, file = mon1"); +will monitor neutron angle from [z] axis, between -5 +and 5 degrees, in 10 bins, into "mon1.A" output 1D file + +
  • options = "sphere theta phi outgoing" +for a sphere PSD detector (out beam) and saves into file "MyMon_[Date_ID].th_ph" + +
  • options = "banana, theta limits=[10,130], bins=120, y" +a theta/height banana detector + +
  • options = "angle radius all auto" +is a 2D monitor with automatic limits + +
  • options = "list=1000 kx ky kz energy" +records 1000 neutron event in a file + +
  • options = "multiple kx ky kz, auto abs log t, and list all neutrons" +makes 4 output 1D files and produces a complete list for all neutrons +and monitor log(abs(tof)) within automatic limits (for t) + +
  • options = "theta y, sphere, pixel min=100" +a 4pi detector which outputs an event list with pixelID from the actual +detector surface, starting from index 100. + +
+To dynamically define a number of bins, or limits: +Use in DECLARE: char op[256]; +Use in INITIALIZE: sprintf(op, "lambda limits=[%g %g], bins=%i", lmin, lmax, lbin); +Use in TRACE: Monitor_nD(... options=op ...) + +How to monitor any instrument/component variable into a Monitor_nD +Suppose you want to monitor a variable 'age' which you assign somwhere in +the instrument: +COMPONENT MyMonitor = Monitor_nD( +xwidth = 0.1, yheight = 0.1, +user1="age", username1="Age of the Captain [years]", +options="user1, auto") +AT ... + +See also the example in PreMonitor_nD to +monitor neutron parameters cross-correlations. + +%BUGS +The 'auto' option for guessing optimal variable bounds should NOT be used with MPI +as each process may use different limits. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| user1 | str | Variable name of USERVAR to be monitored by user1. | "" | +| user2 | str | Variable name of USERVAR to be monitored by user2. | "" | +| user3 | str | Variable name of USERVAR to be monitored by user3. | "" | +| xwidth | m | Width of detector. | 0 | +| yheight | m | Height of detector. | 0 | +| zdepth | m | Thickness of detector (z). | 0 | +| xmin | m | Lower x bound of opening | 0 | +| xmax | m | Upper x bound of opening | 0 | +| ymin | m | Lower y bound of opening | 0 | +| ymax | m | Upper y bound of opening | 0 | +| zmin | m | Lower z bound of opening | 0 | +| zmax | m | Upper z bound of opening | 0 | +| bins | 1 | Number of bins to force for all variables. Use 'bins' keyword in 'options' for heterogeneous bins | 0 | +| min | u | Minimum range value to force for all variables. Use 'min' or 'limits' keyword in 'options' for other limits | -1e40 | +| max | u | Maximum range value to force for all variables. Use 'max' or 'limits' keyword in 'options' for other limits | 1e40 | +| restore_neutron | 0\|1 | If set, the monitor does not influence the neutron state. Equivalent to setting the 'parallel' option. | 0 | +| radius | m | Radius of sphere/banana shape monitor | 0 | +| options | str | String that specifies the configuration of the monitor. The general syntax is "[x] options..." (see Descr.). | "NULL" | +| filename | str | Output file name (overrides file=XX option). | "NULL" | +| geometry | str | Name of an OFF file to specify a complex geometry detector | "NULL" | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| nexus_bins | 1 | NeXus mode only: store component BIN information
(-1 disable, 0 enable for list mode monitor, 1 enable for any montor) | 0 | +| username1 | str | Name assigned to User1 | "NULL" | +| username2 | str | Name assigned to User2 | "NULL" | +| username3 | str | Name assigned to User3 | "NULL" | + +## Links + +- [Source code](Monitor_nD.comp) for `Monitor_nD.comp`. +- PreMonitor_nD + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Monitor_nD_noacc.md b/mcstas-comps/monitors/Monitor_nD_noacc.md new file mode 100644 index 0000000000..d671825ec7 --- /dev/null +++ b/mcstas-comps/monitors/Monitor_nD_noacc.md @@ -0,0 +1,221 @@ +# The `Monitor_nD_noacc` Component + +*McStas: Release: McStas 1.6 +Version: $Revision$ + +This component is a general Monitor that can output 0/1/2D signals +(Intensity or signal vs. [something] and vs. [something] ...)* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi +- **Origin:** ILL +- **Date:** 14th Feb 2000. + +## Description + +```text +This component is a general Monitor that can output 0/1/2D signals +It can produce many 1D signals (one for any variable specified in +option list), or a single 2D output (two variables correlation). +Also, an additional 'list' of neutron events can be produced. +By default, monitor is square (in x/y plane). A disk shape is also possible +The 'cylinder' and 'banana' option will change that for a banana shape +The 'sphere' option simulates spherical detector. The 'box' is a box. +The cylinder, sphere and banana should be centered on the scattering point. +The monitored flux may be per monitor unit area, and weighted by +a lambda/lambda(2200m/s) factor to obtain standard integrated capture flux. +In normal configuration, the Monitor_nD measures the current parameters +of the neutron that is beeing detected. But a PreMonitor_nD component can +be used in order to study correlations between a neutron being detected in +a Monitor_nD place, and given parameters that are monitored elsewhere +(at PreMonitor_nD). +The monitor can also act as a 3He gas detector, taking into account the +detection efficiency. + +The 'bins' and 'limits' modifiers are to be used after each variable, +and 'auto','log' and 'abs' come before it. (eg: auto abs log hdiv bins=10 +limits=[-5 5]) When placed after all variables, these two latter modifiers +apply to the signal (e.g. intensity). Unknown keywords are ignored. +If no limits are specified for a given observable, reasonable defaults will be +applied. Note that these implicit limits are even applied in list mode. + +Implicit limits for typical variables: +(consult monitor_nd-lib.c if you don't find your variable here) +x, y, z: Derived from detection-object geometry +k: [0 10] Angs-1 +v: [0 1e6] m/s +t: [0 1] s +p: [0 FLT_MAX] in intensity-units +vx, vy: [-1000 1000] m/s +vz: [0 10000] m/s +kx, ky: [-1 1] Angs-1 +kz: [-10 10] Angs-1 +energy, omega: [0 100] meV +lambda,wavelength: [0 100] Angs +sx, sy, sz: [-1 1] in polarisation-units +angle: [-50 50] deg +divergence, vdiv, hdiv, xdiv, ydiv: [-5 5] deg +longitude, lattitude: [-180 180] deg +neutron: [0 simulaton_ncount] +id, pixel id: [0 FLT_MAX] +uservars u1,u2,u3: [-1e10 1e10] + +In the case of multiple components at the same position, the 'parallel' +keyword must be used in each instance instead of defining a GROUP. + +Possible options are +Variables to record: +kx ky kz k wavevector [Angs-1] Wavevector on x,y,z and norm +vx vy vz v [m/s] Velocity on x,y,z and norm +x y z radius [m] Distance, Position and norm +xy, yz, xz [m] Radial position in xy, yz and xz plane +kxy kyz kxz [Angs-1] Radial wavevector in xy, yz and xz plane +vxy vyz vxz [m/s] Radial velocity in xy, yz and xz plane +t time [s] Time of Flight +energy omega [meV] energy of neutron +lambda wavelength [Angs] wavelength of neutron +sx sy sz [1] Spin +vdiv ydiv dy [deg] vertical divergence (y) +hdiv divergence xdiv [deg] horizontal divergence (x) +angle [deg] divergence from direction +theta longitude [deg] longitude (x/z) for sphere and cylinder +phi lattitude [deg] lattitude (y/z) for sphere and cylinder + +user user1 will monitor the [Mon_Name]_Vars.UserVariable{1|2|3} +user2 user3 to be assigned in an other component (see below) + +p intensity flux [n/s or n/cm^2/s] +ncounts n neutron [1] neutron ID, i.e current event index +pixel id [1] pixelID in histogram made of preceeding vars, e.g. 'theta y'. To set an offset PixelID use the 'min=value' keyword. Sets event mode. + +Other options keywords are: +abs Will monitor the abs of the following variable or of the signal (if used after all variables) +auto Automatically set detector limits for one/all +all {limits|bins|auto} To set all limits or bins values or auto mode +binary {float|double} with 'source' option, saves in compact files +bins=[bins=20] Number of bins in the detector along dimension +borders To also count off-limits neutrons (X < min or X > max) +capture weight by lambda/lambda(2200m/s) capture flux +file=string Detector image file name. default is component name, plus date and variable extension. +incoming Monitor incoming beam in non flat det +limits=[min max] Lower/Upper limits for axes (see up for the variable unit) +list=[counts=1000] or all For a long file of neutron characteristics with [counts] or all events +log Will monitor the log of the following variable or of the signal (if used after all variables) +min=[min_value] Same as limits, but only sets the min or max +max=[max_value] +multiple Create multiple independant 1D monitors files +no or not Revert next option +outgoing Monitor outgoing beam (default) +parallel Use this option when the next component is at the same position (parallel components) +per cm2 Intensity will be per cm^2 (detector area). Displays beam section. +per steradian Displays beam solid angle in steradian +premonitor Will monitor neutron parameters stored previously with PreMonitor_nD. +signal=[var] Will monitor [var] instead of usual intensity +slit or absorb Absorb neutrons that are out detector +source The monitor will save neutron states +inactivate To inactivate detector (0D detector) +verbose To display additional informations +3He_pressure=[3 in bars] The 3He gas pressure in detector. 3He_pressure=0 is perfect detector (default) + +Detector shape options (specified as xwidth,yheight,zdepth or x/y/z/min/max) +box Box of size xwidth, yheight, zdepth. +cylinder To get a cylindrical monitor (diameter is xwidth or set radius, height is yheight). +banana Same as cylinder, without top/bottom, on restricted angular area; use theta variable with limits to define arc. (diameter is xwidth or set radius, height is yheight). +disk Disk flat xy monitor. diameter is xwidth. +sphere To get a spherical monitor (e.g. a 4PI) (diameter is xwidth or set radius). +square Square flat xy monitor (xwidth, yheight). +previous The monitor uses PREVIOUS component as detector surface. Or use 'geometry' parameter to specify any PLY/OFF geometry file. + +EXAMPLES: +
    +
  • MyMon = Monitor_nD(xwidth = 0.1, yheight = 0.1, zdepth = 0, +  options = "intensity per cm2 angle,limits=[-5 5] bins=10,with +  borders, file = mon1"); +will monitor neutron angle from [z] axis, between -5 +and 5 degrees, in 10 bins, into "mon1.A" output 1D file + +
  • options = "sphere theta phi outgoing" +for a sphere PSD detector (out beam) and saves into file "MyMon_[Date_ID].th_ph" + +
  • options = "banana, theta limits=[10,130], bins=120, y" +a theta/height banana detector + +
  • options = "angle radius all auto" +is a 2D monitor with automatic limits + +
  • options = "list=1000 kx ky kz energy" +records 1000 neutron event in a file + +
  • options = "multiple kx ky kz, auto abs log t, and list all neutrons" +makes 4 output 1D files and produces a complete list for all neutrons +and monitor log(abs(tof)) within automatic limits (for t) + +
  • options = "theta y, sphere, pixel min=100" +a 4pi detector which outputs an event list with pixelID from the actual +detector surface, starting from index 100. + +
+To dynamically define a number of bins, or limits: +Use in DECLARE: char op[256]; +Use in INITIALIZE: sprintf(op, "lambda limits=[%g %g], bins=%i", lmin, lmax, lbin); +Use in TRACE: Monitor_nD(... options=op ...) + +How to monitor any instrument/component variable into a Monitor_nD +Suppose you want to monitor a variable 'age' which you assign somwhere in +the instrument: +COMPONENT MyMonitor = Monitor_nD( +xwidth = 0.1, yheight = 0.1, +user1="age", username1="Age of the Captain [years]", +options="user1, auto") +AT ... + +See also the example in PreMonitor_nD to +monitor neutron parameters cross-correlations. + +%BUGS +The 'auto' option for guessing optimal variable bounds should NOT be used with MPI +as each process may use different limits. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| user1 | str | Variable name of USERVAR to be monitored by user1. | "" | +| user2 | str | Variable name of USERVAR to be monitored by user2. | "" | +| user3 | str | Variable name of USERVAR to be monitored by user3. | "" | +| xwidth | m | Width of detector. | 0 | +| yheight | m | Height of detector. | 0 | +| zdepth | m | Thickness of detector (z). | 0 | +| xmin | m | Lower x bound of opening | 0 | +| xmax | m | Upper x bound of opening | 0 | +| ymin | m | Lower y bound of opening | 0 | +| ymax | m | Upper y bound of opening | 0 | +| zmin | m | Lower z bound of opening | 0 | +| zmax | m | Upper z bound of opening | 0 | +| bins | 1 | Number of bins to force for all variables. Use 'bins' keyword in 'options' for heterogeneous bins | 0 | +| min | u | Minimum range value to force for all variables. Use 'min' or 'limits' keyword in 'options' for other limits | -1e40 | +| max | u | Maximum range value to force for all variables. Use 'max' or 'limits' keyword in 'options' for other limits | 1e40 | +| restore_neutron | 0\|1 | If set, the monitor does not influence the neutron state. Equivalent to setting the 'parallel' option. | 0 | +| radius | m | Radius of sphere/banana shape monitor | 0 | +| options | str | String that specifies the configuration of the monitor. The general syntax is "[x] options..." (see Descr.). | "NULL" | +| filename | str | Output file name (overrides file=XX option). | "NULL" | +| geometry | str | Name of an OFF file to specify a complex geometry detector | "NULL" | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| nexus_bins | 1 | NeXus mode only: store component BIN information
(-1 disable, 0 enable for list mode monitor, 1 enable for any montor) | 0 | +| username1 | str | Name assigned to User1 | "NULL" | +| username2 | str | Name assigned to User2 | "NULL" | +| username3 | str | Name assigned to User3 | "NULL" | + +## Links + +- [Source code](Monitor_nD_noacc.comp) for `Monitor_nD_noacc.comp`. +- PreMonitor_nD + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/PSD_TOF_monitor.md b/mcstas-comps/monitors/PSD_TOF_monitor.md new file mode 100644 index 0000000000..fde00935a2 --- /dev/null +++ b/mcstas-comps/monitors/PSD_TOF_monitor.md @@ -0,0 +1,49 @@ +# The `PSD_TOF_monitor` Component + +*McStas: Position-sensitive monitor with TOF slices.* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup, derived from PSD_monitor by Kim Lefmann +- **Origin:** Risoe +- **Date:** Feb 3, 1998 + +## Description + +```text +An (nx times ny) pixel PSD monitor with nt time bins pr pixel. + +Will output nt PSD images plus 1 integrated image. + +Example: PSD_TOF_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, nx=90, ny=90, tmin=4000, tmax=7000, nt=3, filename="Output") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of pixel columns | 90 | +| ny | 1 | Number of pixel rows | 90 | +| nt | 1 | Number of TOF bins | 10 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| filename | string | Name of file in which to store the detector image | 0 | +| xmin | m | Lower x bound of detector opening | 0 | +| xmax | m | Upper x bound of detector opening | 0 | +| ymin | m | Lower y bound of detector opening | 0 | +| ymax | m | Upper y bound of detector opening | 0 | +| xwidth | m | Width/diameter of detector (x). Overrides xmin, xmax | 0 | +| yheight | m | Height of detector (y). Overrides ymin, ymax | 0 | +| tmin | mu-s | Lower time bound | 0 | +| tmax | mu-s | Upper time bound | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | + +## Links + +- [Source code](PSD_TOF_monitor.comp) for `PSD_TOF_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/PSD_monitor.md b/mcstas-comps/monitors/PSD_monitor.md new file mode 100644 index 0000000000..ef9f58a162 --- /dev/null +++ b/mcstas-comps/monitors/PSD_monitor.md @@ -0,0 +1,45 @@ +# The `PSD_monitor` Component + +*McStas: Position-sensitive monitor.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** Feb 3, 1998 + +## Description + +```text +An (n times m) pixel PSD monitor. This component may also be used as a beam +detector. + +Example: PSD_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, nx=90, ny=90, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of pixel columns | 90 | +| ny | 1 | Number of pixel rows | 90 | +| filename | string | Name of file in which to store the detector image | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| xwidth | m | Width of detector. Overrides xmin, xmax | 0 | +| yheight | m | Height of detector. Overrides ymin, ymax | 0 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | + +## Links + +- [Source code](PSD_monitor.comp) for `PSD_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/PSD_monitor_4PI.md b/mcstas-comps/monitors/PSD_monitor_4PI.md new file mode 100644 index 0000000000..7e87596811 --- /dev/null +++ b/mcstas-comps/monitors/PSD_monitor_4PI.md @@ -0,0 +1,42 @@ +# The `PSD_monitor_4PI` Component + +*McStas: Spherical position-sensitive detector.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann and Kristian Nielsen +- **Origin:** Risoe +- **Date:** April 17, 1998 + +## Description + +```text +An (n times m) pixel spherical PSD monitor using a cylindrical projection. +Mostly for test and debugging purposes. + +Example: PSD_monitor_4PI(radius=0.1, nx=90, ny=90, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of pixel columns | 90 | +| ny | 1 | Number of pixel rows | 90 | +| filename | string | Name of file in which to store the detector image | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| radius | m | Radius of detector | 1 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | + +## Links + +- [Source code](PSD_monitor_4PI.comp) for `PSD_monitor_4PI.comp`. +- Test +- results (not up-to-date). + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/PSD_monitor_4PI_spin.md b/mcstas-comps/monitors/PSD_monitor_4PI_spin.md new file mode 100644 index 0000000000..b82860fe58 --- /dev/null +++ b/mcstas-comps/monitors/PSD_monitor_4PI_spin.md @@ -0,0 +1,43 @@ +# The `PSD_monitor_4PI_spin` Component + +*McStas: Spherical position-sensitive detector with spin weighting* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU +- **Date:** April 17, 2010 + +## Description + +```text +An (n times m) pixel spherical PSD monitor using a cylindrical projection. +Mostly for test and debugging purposes. + +Example: PSD_monitor_4PI(radius=0.1, +nx=90, ny=90, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of pixel columns | 90 | +| ny | 1 | Number of pixel rows | 90 | +| **radius** | m | Radius of detector | | +| filename | str | Name of file in which to store the detector image | 0 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state x | 0 | +| mx | 1 | x-component of spin reference-vector | 0 | +| my | 1 | y-component of spin reference-vector | 1 | +| mz | 1 | z-component of spin reference-vector | 0 | + +## Links + +- [Source code](PSD_monitor_4PI_spin.comp) for `PSD_monitor_4PI_spin.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/PSD_monitor_TOF.md b/mcstas-comps/monitors/PSD_monitor_TOF.md new file mode 100644 index 0000000000..ff3d1a97d7 --- /dev/null +++ b/mcstas-comps/monitors/PSD_monitor_TOF.md @@ -0,0 +1,49 @@ +# The `PSD_monitor_TOF` Component + +*McStas: Position-sensitive monitor with a TOF signal pr. bin.* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup, derived from PSD_monitor by Kim Lefmann +- **Origin:** Risoe +- **Date:** Feb 3, 1998 + +## Description + +```text +An (nx times ny) pixel PSD monitor with nt time bins pr pixel. + +Will output 1 integrated PSD images plus an nt time bin TOF signal pr pixel. + +Example: PSD_monitor_TOF(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, nx=90, ny=90, tmin=4000, tmax=7000, nt=1000, filename="Output") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of pixel columns | 90 | +| ny | 1 | Number of pixel rows | 90 | +| nt | 1 | Number of TOF bins | 10 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| filename | string | Name of file in which to store the detector image | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| xmin | m | Lower x bound of detector opening | 0 | +| xmax | m | Upper x bound of detector opening | 0 | +| ymin | m | Lower y bound of detector opening | 0 | +| ymax | m | Upper y bound of detector opening | 0 | +| xwidth | m | Width/diameter of detector (x). Overrides xmin, xmax | 0 | +| yheight | m | Height of detector (y). Overrides ymin, ymax | 0 | +| tmin | mu-s | Lower time bound | 0 | +| tmax | mu-s | Upper time bound | 0 | + +## Links + +- [Source code](PSD_monitor_TOF.comp) for `PSD_monitor_TOF.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/PSD_monitor_psf.md b/mcstas-comps/monitors/PSD_monitor_psf.md new file mode 100644 index 0000000000..598dde6872 --- /dev/null +++ b/mcstas-comps/monitors/PSD_monitor_psf.md @@ -0,0 +1,46 @@ +# The `PSD_monitor_psf` Component + +*McStas: Position-sensitive monitor.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann, Linda Udby +- **Origin:** Risoe +- **Date:** Feb 3, 1998 + +## Description + +```text +An (n times m) pixel PSD monitor. This component may also be used as a beam +detector. + +Example: PSD_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, nx=90, ny=90, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of pixel columns | 90 | +| ny | 1 | Number of pixel rows | 90 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| filename | string | Name of file in which to store the detector image | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| xmin | m | Lower x bound of detector opening | 0 | +| xmax | m | Upper x bound of detector opening | 0 | +| ymin | m | Lower y bound of detector opening | 0 | +| ymax | m | Upper y bound of detector opening | 0 | +| xwidth | m | Width/diameter of detector (x). Overrides xmin, xmax | 0 | +| yheight | m | Height of detector (y). Overrides ymin, ymax | 0 | +| psf | m | Point spread function, ray (x,y) coordinate randomized by gaussion of sigma psf | 0 | + +## Links + +- [Source code](PSD_monitor_psf.comp) for `PSD_monitor_psf.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/PSD_monitor_psf_eff.md b/mcstas-comps/monitors/PSD_monitor_psf_eff.md new file mode 100644 index 0000000000..69f7cfb971 --- /dev/null +++ b/mcstas-comps/monitors/PSD_monitor_psf_eff.md @@ -0,0 +1,48 @@ +# The `PSD_monitor_psf_eff` Component + +*McStas: Position-sensitive monitor.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann, Linda Udby +- **Origin:** Risoe +- **Date:** Feb 3, 1998 + +## Description + +```text +An (n times m) pixel PSD monitor. This component may also be used as a beam +detector. Models 1/k behaviour and efficiency, based on user defined k0 and eff parameters. + +Example: PSD_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, nx=90, ny=90, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of pixel columns | 90 | +| ny | 1 | Number of pixel rows | 90 | +| filename | string | Name of file in which to store the detector image | 0 | +| xmin | m | Lower x bound of detector opening | 0 | +| xmax | m | Upper x bound of detector opening | 0 | +| ymin | m | Lower y bound of detector opening | 0 | +| ymax | m | Upper y bound of detector opening | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| xwidth | m | Width/diameter of detector (x). Overrides xmin, xmax | 0 | +| yheight | m | Height of detector (y). Overrides ymin, ymax | 0 | +| psf | m | Point spread function, ray (x,y) coordinate randomized by gaussion of sigma psf | 0 | +| k0 | AA^-1 | Numerator in k0/k weighting | 1 | +| eff | 1 | Detector efficiency | 1 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | + +## Links + +- [Source code](PSD_monitor_psf_eff.comp) for `PSD_monitor_psf_eff.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/PSDcyl_monitor.md b/mcstas-comps/monitors/PSDcyl_monitor.md new file mode 100644 index 0000000000..1dab654d3a --- /dev/null +++ b/mcstas-comps/monitors/PSDcyl_monitor.md @@ -0,0 +1,44 @@ +# The `PSDcyl_monitor` Component + +*McStas: A 2D Position-sensitive monitor. The shape is cylindrical with +the axis vertical. The monitor covers the whole cylinder (360 degrees).* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** October 26, 2000 + +## Description + +```text +An (n times m) pixel PSD monitor with cylinder shape, +vertical axis, centered at (0,0,0). + +Example: PSDcyl_monitor(nr=20, ny=20, filename="Output.cyl", yheight=0.2, radius=0.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nr | 1 | Number of pixel (radial) columns | 20 | +| ny | 1 | Number of pixel rows | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| yheight | m | Height of detector | 0.3 | +| radius | m | Radius of detector | 1 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| thmin | deg | Minimum angle covered/measured | 0 | +| thmax | deg | Maximum angle covered/measured | 360 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | + +## Links + +- [Source code](PSDcyl_monitor.comp) for `PSDcyl_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/PSDlin_diff_monitor.md b/mcstas-comps/monitors/PSDlin_diff_monitor.md new file mode 100644 index 0000000000..547fb99f84 --- /dev/null +++ b/mcstas-comps/monitors/PSDlin_diff_monitor.md @@ -0,0 +1,43 @@ +# The `PSDlin_diff_monitor` Component + +*McStas: Rectangular 1D PSD, measuring intensity vs. horizontal position, x +A second monitor shows the difference of intensities between in n'th and (n-1)'th pixels.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann, Peter Willendrup, Linda Udby +- **Origin:** Risoe +- **Date:** May 7, 2001 + +## Description + +```text +Example: PSDlin_diff_monitor(nx=20, filename="Output.x", +xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of x bins | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| xwidth | m | Width of detector. Overrides xmin,xmax. | 0 | +| yheight | m | Height of detector. Overrides ymin,ymax. | 0 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | + +## Links + +- [Source code](PSDlin_diff_monitor.comp) for `PSDlin_diff_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/PSDlin_monitor.md b/mcstas-comps/monitors/PSDlin_monitor.md new file mode 100644 index 0000000000..badf8058e6 --- /dev/null +++ b/mcstas-comps/monitors/PSDlin_monitor.md @@ -0,0 +1,46 @@ +# The `PSDlin_monitor` Component + +*McStas: Rectangular 1D PSD, measuring intensity vs. position along an axis,* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** May 7, 2001 + +## Description + +```text +A 1-dimensional PSD measuring intensity along either the horizontal axis x (default) or +the vertical axis y. + + +Example: PSDlin_monitor(nbins=20, filename="Output.x", xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nbins | 1 | Number of positional bins. | 20 | +| filename | str | Name of file in which to store the detector image. | 0 | +| xmin | m | Lower x bound of detector opening. | -0.05 | +| xmax | m | Upper x bound of detector opening. | 0.05 | +| ymin | m | Lower y bound of detector opening. | -0.05 | +| ymax | m | Upper y bound of detector opening. | 0.05 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| xwidth | m | Width of detector. Overrides xmin, xmax. | 0 | +| yheight | m | Height of detector. Overrides ymin, ymax. | 0 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state. | 0 | +| vertical | 1 | Flag to indicate whether the monitor measures along the horiz. or vert. axis | 0 | + +## Links + +- [Source code](PSDlin_monitor.comp) for `PSDlin_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/PolLambda_monitor.md b/mcstas-comps/monitors/PolLambda_monitor.md new file mode 100644 index 0000000000..8b3ad7c3ff --- /dev/null +++ b/mcstas-comps/monitors/PolLambda_monitor.md @@ -0,0 +1,47 @@ +# The `PolLambda_monitor` Component + +*McStas: Polarisation and wavelength sensitive monitor.* + +## Identification + +- **Site:** +- **Author:** Peter Christiansen +- **Origin:** Risoe +- **Date:** July 2006 + +## Description + +```text +A square single monitor that measures the projection of the +polarisation along a given normalized m-vector (mx, my, mz) as a +function of wavelength. + +Example: Pollambda_monitor(Lmin=1, Lmax=20, nL=20, xwidth=0.1, yheight=0.1, npol=11, mx=0, my=1, mz=0, filename="pollambdaMon.data") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Width of detector | 0.1 | +| yheight | m | Height of detector | 0.1 | +| nL | 1 | Number of bins in wavelength | 20 | +| npol | 1 | Number of bins in Pol | 21 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| filename | string | Name of file in which to store the data | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| mx | 1 | X-component of monitor vector (can be negative) | 0 | +| my | 1 | Y-component of monitor vector (can be negative) | 0 | +| mz | 1 | Z-component of monitor vector (can be negative) | 0 | +| **Lmin** | AA | Minimum wavelength detected | | +| **Lmax** | AA | Maximum wavelength detected | | + +## Links + +- [Source code](PolLambda_monitor.comp) for `PolLambda_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Pol_monitor.md b/mcstas-comps/monitors/Pol_monitor.md new file mode 100644 index 0000000000..89b8674405 --- /dev/null +++ b/mcstas-comps/monitors/Pol_monitor.md @@ -0,0 +1,42 @@ +# The `Pol_monitor` Component + +*McStas: Polarisation sensitive monitor.* + +## Identification + +- **Site:** +- **Author:** Peter Christiansen +- **Origin:** Risoe +- **Date:** July 2006 + +## Description + +```text +A square single monitor that measures the projection of the +polarisation along a given normalized m-vector (mx, my, mz). +The measured quantity is: sx*mx+sy*my+mz*sz + +Example: Pol_monitor(xwidth=0.1, yheight=0.1, nchan=11, mx=0, my=1, mz=0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Width of detector | 0.1 | +| yheight | m | Height of detector | 0.1 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| mx | 1 | X-component of monitor vector (can be negative) | 0 | +| my | 1 | Y-component of monitor vector (can be negative) | 0 | +| mz | 1 | Z-component of monitor vector (can be negative) | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | + +## Links + +- [Source code](Pol_monitor.comp) for `Pol_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Res_monitor.md b/mcstas-comps/monitors/Res_monitor.md new file mode 100644 index 0000000000..0de6e82671 --- /dev/null +++ b/mcstas-comps/monitors/Res_monitor.md @@ -0,0 +1,62 @@ +# The `Res_monitor` Component + +*McStas: Monitor for resolution calculations* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** 1999 + +## Description + +```text +A single detector/monitor, used together with the Res_sample component to +compute instrument resolution functions. Outputs a list of neutron +scattering events in the sample along with their intensities in the +detector. The output file may be analyzed with the mcresplot front-end. + +Example: Res_monitor(filename="Output.res", res_sample_comp="RSample", xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1) + +Setting the monitor geometry. +The optional parameter 'options' may be set as a string with the +following keywords. Default is rectangular ('square'): +box Box of size xwidth, yheight, zdepth +cylinder To get a cylindrical monitor (diameter is xwidth, height is yheight). +banana Same as cylinder, without top/bottom, on restricted angular area +disk Disk flat xy monitor. diameter is xwidth. +sphrere To get a spherical monitor (e.g. a 4PI) (diameter is xwidth). +square Square flat xy monitor (xwidth, yheight) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **res_sample_comp** | WITH quotes | Name of Res_sample component in the instrument definition | | +| filename | string | Name of output file. If unset, use automatic name | 0 | +| options | str | String that specifies the geometry of the monitor | 0 | +| xwidth | m | Width/diameter of detector | .1 | +| yheight | m | Height of detector | .1 | +| zdepth | m | Thichness of detector | 0 | +| radius | m | Radius of sphere/cylinder monitor | 0 | +| xmin | m | Lower x bound of detector opening | 0 | +| xmax | m | Upper x bound of detector opening | 0 | +| ymin | m | Lower y bound of detector opening | 0 | +| ymax | m | Upper y bound of detector opening | 0 | +| zmin | m | Lower z bound of detector opening | 0 | +| zmax | m | Upper z bound of detector opening | 0 | +| bufsize | 1 | Number of events to store. Use 0 to store all | 0 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| live_calc | 1 | If set, the monitor directly outputs the resolution matrix | 1 | + +## Links + +- [Source code](Res_monitor.comp) for `Res_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Sqq_w_monitor.md b/mcstas-comps/monitors/Sqq_w_monitor.md new file mode 100644 index 0000000000..92831439c6 --- /dev/null +++ b/mcstas-comps/monitors/Sqq_w_monitor.md @@ -0,0 +1,63 @@ +# The `Sqq_w_monitor` Component + +*McStas: Monitor outputting a series of energy-planes in a subset of reciprocal space, spanned by +scattering vectors qa(x,z) and qb(x,z) in the component x-z plane.* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** June-July, 2018 + +## Description + +```text +Cylindrical monitor on the x-z plane outputting a series of energy-planes in a subset of reciprocal +space, spanned by scattering vectors qa(x,z) and qb(x,z). + +The radius and yheight parameters are not used for propagation, but only to define the outgoing divergence +limit considered when estimating k_f + +The assumption is that the "current" neutron represents the final state, whereas the incoming state +is found by restoring the neutron state "index" components earlier. + +Example: Sqq_w_monitor(filename="output",radius=1, yheight=0.05, Emin=0,Emax=5,nE=11,nqa=100,nqb=100,qamin=1,qamax=10,qbmin=1qbmax=10, vix="vix", viy="viy", viz="viz") +AT (0,0,0) RELATIVE sample +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Cylinder radius | 1 | +| yheight | m | Cylinder height | 0.05 | +| qax | 1 | x-component of 1st q-vector | 1 | +| qaz | 1 | z-component of 1st q-vector | 0 | +| qbx | 1 | x-component of 2nd q-vector | 0 | +| qbz | 1 | z-component of 2nd q-vector | 1 | +| qamin | AA^-1 | Defines interval (qamin,qamax) where monitor measures in nqa bins | 0 | +| qamax | AA^-1 | Defines interval (qamin,qamax) where monitor measures in nqa bins | 2 | +| qbmin | AA^-1 | Defines interval (qbmin,qbmax) where monitor measures in nqb bins | 0 | +| qbmax | AA^-1 | Defines interval (qbmin,qbmax) where monitor measures in nqb bins | 2 | +| Emin | meV | Defines the energy-transfer [Emin,Emax] window to monitor in nE bins | 0 | +| Emax | meV | Defines the energy-transfer [Emax,Emax] window to monitor in nE bins | 5 | +| nqa | int | Number of bins along qa direction | 90 | +| nqb | int | Number of bins along qb direction | 90 | +| nE | int | Number of energy slices | 10 | +| filename | string | Base filename to use, nE+1 files will be output | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| nosum | 1 | If set, monitor will skip writing the energy-summed array to disk | 0 | +| vix | string | Points to instrument-level USERVAR for reading an earlier x-velocity | "" | +| viy | string | Points to instrument-level USERVAR for reading an earlier y-velocity | "" | +| viz | string | Points to instrument-level USERVAR for reading an earlier z-velocity | "" | + +## Links + +- [Source code](Sqq_w_monitor.comp) for `Sqq_w_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/Sqw_monitor.md b/mcstas-comps/monitors/Sqw_monitor.md new file mode 100644 index 0000000000..b0e5f6508a --- /dev/null +++ b/mcstas-comps/monitors/Sqw_monitor.md @@ -0,0 +1,48 @@ +# The `Sqw_monitor` Component + +*McStas: Monitor outputting S(q,w)* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** November, 2020 + +## Description + +```text +The assumption is that the "current" neutron represents the final state, whereas the incoming state +is found by restoring the neutron state "index" components earlier. + +Example: Sqw_monitor(filename="output", Emin=0,Emax=5,nE=11,nq=100,nqb=100,qmin=0,qmax=1,index=-2) +AT (0,0,0) RELATIVE sample +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| qmin | AA^-1 | Defines interval (qmin,qmax) where monitor measures in nq bins | 0 | +| qmax | AA^-1 | Defines interval (qmin,qmax) where monitor measures in nq bins | 2 | +| Emin | meV | Defines the energy-transfer [Emin,Emax] window to monitor in nE bins | 0 | +| Emax | meV | Defines the energy-transfer [Emax,Emax] window to monitor in nE bins | 5 | +| nq | int | Number of bins in q | 90 | +| nE | int | Number of energy slices | 90 | +| filename | string | Base filename to use, nE+1 files will be output | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| vix | string | Points to instrument-level USERVAR for reading an earlier x-velocity | "" | +| viy | string | Points to instrument-level USERVAR for reading an earlier y-velocity | "" | +| viz | string | Points to instrument-level USERVAR for reading an earlier z-velocity | "" | +| radius | m | Cylinder radius (optional) | 0 | +| yheight | m | Cylinder height (optional) | 0 | + +## Links + +- [Source code](Sqw_monitor.comp) for `Sqw_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/TOF2E_monitor.md b/mcstas-comps/monitors/TOF2E_monitor.md new file mode 100644 index 0000000000..b85cc5d0a2 --- /dev/null +++ b/mcstas-comps/monitors/TOF2E_monitor.md @@ -0,0 +1,48 @@ +# The `TOF2E_monitor` Component + +*McStas: TOF-sensitive monitor, converting to energy* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann and Helmuth Schoeber +- **Origin:** Risoe +- **Date:** Sept. 13, 2006 + +## Description + +```text +A square single monitor that measures the energy of the incoming neutrons +from their time-of-flight + +Example: TOF2E_monitor(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, Emin=1, Emax=50, nE=20, filename="Output.nrj", L_flight=20, T_zero=0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nE | 1 | Number of energy channels | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| xwidth | m | Width of detector. Overrides xmin, xmax | 0 | +| yheight | m | Height of detector. Overrides ymin, ymax | 0 | +| **Emin** | meV | Minimum energy to detect | | +| **Emax** | meV | Maximum energy to detect | | +| **T_zero** | s | Zero point in time | | +| **L_flight** | m | flight length user in conversion | | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | + +## Links + +- [Source code](TOF2E_monitor.comp) for `TOF2E_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/TOF2Q_cylPSD_monitor.md b/mcstas-comps/monitors/TOF2Q_cylPSD_monitor.md new file mode 100644 index 0000000000..59a88454e6 --- /dev/null +++ b/mcstas-comps/monitors/TOF2Q_cylPSD_monitor.md @@ -0,0 +1,48 @@ +# The `TOF2Q_cylPSD_monitor` Component + +*McStas: Cylindrical (2pi) Time-of-flight to Q monitor. +Calculates Q from TOF and known nominal grazing angle theta: +E = VS2E*(L_flight/(t-T_zero))*(L_flight/(t-T_zero)); +Q=2*sqrt(E/2.072)*sin(theta);* + +## Identification + +- **Site:** +- **Author:** Anette Vickery, derived from Lefmann TOF_cylPSD +- **Origin:** Risoe +- **Date:** October 2000 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **nQ** | 1 | Number of Q bins | | +| **ny** | 1 | Number of y bins | | +| filename | string | Name of file in which to store the detector image | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| **radius** | m | Cylinder radius | | +| **yheight** | m | Cylinder height | | +| **Qmin** | AA^-1 | Beginning of Q-range | | +| **Qmax** | AA^-1 | End of Q-range | | +| ymin | m | Minimum value of y monitored | 0 | +| ymax | m | Maximum value of y monitored | 0 | +| **T_zero** | s | Beginning of time window | | +| **L_flight** | m | Nominal flightpath moderator--detector | | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| **theta** | rad | Nominal grazing angle | | + +## Links + +- [Source code](TOF2Q_cylPSD_monitor.comp) for `TOF2Q_cylPSD_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/TOFLambda_monitor.md b/mcstas-comps/monitors/TOFLambda_monitor.md new file mode 100644 index 0000000000..37533800fc --- /dev/null +++ b/mcstas-comps/monitors/TOFLambda_monitor.md @@ -0,0 +1,47 @@ +# The `TOFLambda_monitor` Component + +*McStas: Time-of-flight/wavelength monitor.* + +## Identification + +- **Site:** +- **Author:** KL +- **Origin:** Risoe +- **Date:** September 28, 2001 + +## Description + +```text +2D detector for intensity as a function of both time-of-flight +and wavelength. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| nL | 1 | Number of bins in wavelength | 20 | +| nt | 1 | Number of bins in TOF | 128 | +| **tmin** | us | Minimum time | | +| **tmax** | us | Maximum time | | +| filename | string | Name of file in which to store the detector image | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| xwidth | m | Width/diameter of detector (x). Overrides xmin, xmax | 0 | +| yheight | m | Height of detector (y). Overrides ymin, ymax | 0 | +| **Lmin** | AA | Minimum wavelength detected | | +| **Lmax** | AA | Maximum wavelength detected | | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | + +## Links + +- [Source code](TOFLambda_monitor.comp) for `TOFLambda_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/TOFRes_monitor.md b/mcstas-comps/monitors/TOFRes_monitor.md new file mode 100644 index 0000000000..ba2b3afec6 --- /dev/null +++ b/mcstas-comps/monitors/TOFRes_monitor.md @@ -0,0 +1,62 @@ +# The `TOFRes_monitor` Component + +*McStas: Monitor for resolution calculations, TOFRes version, for use with TOFRes_sample in 3.x* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** 1999 + +## Description + +```text +A single detector/monitor, used together with the TOFRes_sample component to +compute instrument resolution functions. Outputs a list of neutron +scattering events in the sample along with their intensities in the +detector. The output file may be analyzed with the mcresplot front-end. + +Example: TOFRes_monitor(filename="Output.res", res_sample_comp="RSample", xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1) + +Setting the monitor geometry. +The optional parameter 'options' may be set as a string with the +following keywords. Default is rectangular ('square'): +box Box of size xwidth, yheight, zdepth +cylinder To get a cylindrical monitor (diameter is xwidth, height is yheight). +banana Same as cylinder, without top/bottom, on restricted angular area +disk Disk flat xy monitor. diameter is xwidth. +sphrere To get a spherical monitor (e.g. a 4PI) (diameter is xwidth). +square Square flat xy monitor (xwidth, yheight) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **res_sample_comp** | WITH quotes | Name of TOFRes_sample component in the instrument definition | | +| filename | string | Name of output file. If unset, use automatic name | 0 | +| options | str | String that specifies the geometry of the monitor | 0 | +| xwidth | m | Width/diameter of detector | .1 | +| yheight | m | Height of detector | .1 | +| zdepth | m | Thichness of detector | 0 | +| radius | m | Radius of sphere/cylinder monitor | 0 | +| xmin | m | Lower x bound of detector opening | 0 | +| xmax | m | Upper x bound of detector opening | 0 | +| ymin | m | Lower y bound of detector opening | 0 | +| ymax | m | Upper y bound of detector opening | 0 | +| zmin | m | Lower z bound of detector opening | 0 | +| zmax | m | Upper z bound of detector opening | 0 | +| bufsize | 1 | Number of events to store. Use 0 to store all | 0 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| live_calc | 1 | If set, the monitor directly outputs the resolution matrix | 1 | + +## Links + +- [Source code](TOFRes_monitor.comp) for `TOFRes_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/TOF_PSD_monitor_rad.md b/mcstas-comps/monitors/TOF_PSD_monitor_rad.md new file mode 100644 index 0000000000..93a4057d57 --- /dev/null +++ b/mcstas-comps/monitors/TOF_PSD_monitor_rad.md @@ -0,0 +1,45 @@ +# The `TOF_PSD_monitor_rad` Component + +*McStas: Position-sensitive TOF monitor with radially averaging.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** UCPH +- **Date:** March 2012 + +## Description + +```text +TOF monitor that performs radial averaging. +Comment: The intensity is given as two 2D files: +1) a radial sum vs. TOF +2) a radial average (i.e. intensity per area) vs. TOF + +Example: TOF_PSD_monitor_rad(rmax=0.2, nr=100, filename="Output.psd", filename_av="Output_av.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nr | 1 | Number of concentric circles | 100 | +| nt | 1 | Number of time bins | 100 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| filename | string | Name of file in which to store the detector image | 0 | +| filename_av | string | Name of file in which to store the averaged detector image | 0 | +| rmax | m | Outer radius of detector | 0.2 | +| **tmin** | mu-s | Beginning of time window | | +| **tmax** | mu-s | End of time window | | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | + +## Links + +- [Source code](TOF_PSD_monitor_rad.comp) for `TOF_PSD_monitor_rad.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/TOF_cylPSD_monitor.md b/mcstas-comps/monitors/TOF_cylPSD_monitor.md new file mode 100644 index 0000000000..5f070fc51e --- /dev/null +++ b/mcstas-comps/monitors/TOF_cylPSD_monitor.md @@ -0,0 +1,40 @@ +# The `TOF_cylPSD_monitor` Component + +*McStas: Cylindrical (2pi) PSD Time-of-flight monitor.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** October 2000 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nt | 1 | Number of time bins | 128 | +| nphi | deg | Number of angular bins | 90 | +| filename | string | Name of file in which to store the detector image | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| radius | m | Cylinder radius | 1 | +| yheight | m | Cylinder height | 0.3 | +| **tmin** | mu-s | Beginning of time window | | +| **tmax** | mu-s | End of time window | | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | + +## Links + +- [Source code](TOF_cylPSD_monitor.comp) for `TOF_cylPSD_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/TOF_monitor.md b/mcstas-comps/monitors/TOF_monitor.md new file mode 100644 index 0000000000..ffba9b3ff3 --- /dev/null +++ b/mcstas-comps/monitors/TOF_monitor.md @@ -0,0 +1,44 @@ +# The `TOF_monitor` Component + +*McStas: Rectangular Time-of-flight monitor.* + +## Identification + +- **Site:** +- **Author:** KN, M. Hagen +- **Origin:** Risoe +- **Date:** August 1998 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nt | 1 | Number of time bins | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| xwidth | m | Width of detector. Overrides xmin, xmax | 0 | +| yheight | m | Height of detector. Overrides ymin, ymax | 0 | +| tmin | mu-s | Lower time limit | 0 | +| tmax | mu-s | Upper time limit | 0 | +| dt | mu-s | Length of each time bin | 1.0 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | + +## Links + +- [Source code](TOF_monitor.comp) for `TOF_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/monitors/TOFlog_monitor.md b/mcstas-comps/monitors/TOFlog_monitor.md new file mode 100644 index 0000000000..a9e6c6aeb7 --- /dev/null +++ b/mcstas-comps/monitors/TOFlog_monitor.md @@ -0,0 +1,44 @@ +# The `TOFlog_monitor` Component + +*McStas: Rectangular Time-of-flight monitor with logarithmic time binning.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** October 2000 + +## Description + +```text +A rectangular time-of-flight monitor with logarithmic time binning. +(The neutron intensity is NOT given logarithmically) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **tmin** | mus | Lower bound for time bins | | +| **tmax** | mus | Higher bound for time bins | | +| ndec | 1 | Number of time bins per decade | 10 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| filename | string | Name of file in which to store the detector image | 0 | +| xmin | m | Lower x bound of detector opening | -0.05 | +| xmax | m | Upper x bound of detector opening | 0.05 | +| ymin | m | Lower y bound of detector opening | -0.05 | +| ymax | m | Upper y bound of detector opening | 0.05 | +| xwidth | m | Width of detector. Overrides xmin, xmax | 0 | +| yheight | m | Height of detector. Overrides ymin, ymax | 0 | +| restore_neutron | 1 | If set, the monitor does not influence the neutron state | 0 | + +## Links + +- [Source code](TOFlog_monitor.comp) for `TOFlog_monitor.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/obsolete/Beam_spy.md b/mcstas-comps/obsolete/Beam_spy.md new file mode 100644 index 0000000000..220224d676 --- /dev/null +++ b/mcstas-comps/obsolete/Beam_spy.md @@ -0,0 +1,36 @@ +# The `Beam_spy` Component + +*McStas: Beam analyzer for previous component* + +## Identification + +- **Site:** +- **Author:** E. Farhi +- **Origin:** Risoe +- **Date:** Nov 2005 + +## Description + +```text +This component displays informations about the beam at the previous component +position. No data file is produced. +It behaves as the Monitor component, but No propagation to the Beam_spy is +performed, and all events are analyzed. +The component should be located at the same position as the previous one. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Beam_spy.comp) for `Beam_spy.comp`. +- Monitor component + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/obsolete/ESS_moderator_short.md b/mcstas-comps/obsolete/ESS_moderator_short.md new file mode 100644 index 0000000000..c8e0b72073 --- /dev/null +++ b/mcstas-comps/obsolete/ESS_moderator_short.md @@ -0,0 +1,94 @@ +# The `ESS_moderator_short` Component + +*McStas: A parametrised pulsed source for modelling ESS short pulses.* + +## Identification + +- **Site:** +- **Author:** KL, February 2001 +- **Origin:** Risoe +- **Date:** + +## Description + +```text +Produces a time-of-flight spectrum, from the ESS parameters +Chooses evenly in lambda, exponentially decaying in time . +Adapted from Moderator by: KN, M.Hagen, August 1998 + +Units of flux: n/cm^2/s/AA/ster +(McStas units are in general neutrons/second) + +Example general parameters (general): +size=0.12 Lmin=0.1 Lmax=10 dist=2 focus_xw=0.06 yh=0.12 nu=50 +branchframe=0.5 + +Example moderator specific parameters +(From F. Mezei, "ESS reference moderator characteristics for ...", 4/12/00: +Defining the normalised Maxwelian +M(lam,T) = 2 a^2 lam^-5 exp(-a/lam^2); a=949/T; lam in AA; T in K, +and the normalised pulse shape function +F(t,tau,n) = ( exp(-t/tau) - exp(-nt/tau) ) n/(n-1)/tau, +the flux distribution is given as +Phi(t,lam) = I0 M(lam,T) F(t,tau,n) ++ I2/(1+exp(chi2 lam-2.2))/lam*F(t,tau2*lam,n2) ) + +a1: Ambient H20, short pulse, decoupled poisoned +T=325 tau=22e-6 tau1=0 tau2=7e-6 n=5 n2=5 chi2=2.5 +I0=9e10 I2=4.6e10 branch1=0 branch2=0.5 + +a2: Ambient H20, short pulse, decoupled un-poisoned +T=325 tau=35e-6 tau1=0 tau2=12e-6 n=5 n2=5 chi2=2.5 +I0=1.8e11 I2=9.2e10 branch1=0 branch2=0.5 + +a3: Ambient H20, short pulse, coupled +T=325 tau=80e-6 tau1=400e-6 tau2=12e-6 n=20 n2=5 chi2=2.5 +I0=4.5e11 I2=9.2e10 branch1=0.5 branch2=0.5 + +b1: Liquid H2, short pulse, decoupled poisoned +T=50 tau=49e-6 tau1=0 tau2=7e-6 n=5 n2=5 chi2=0.9 +I0=2.7e10 I2=4.6e10 branch1=0 branch2=0.5 + +b2: Liquid H2, short pulse, decoupled un-poisoned +T=50 tau=78e-6 tau1=0 tau2=12e-6 n=5 n2=5 chi2=0.9 +I0=5.4e10 I2=9.2e10 branch1=0 branch2=0.5 + +b3: Liquid H2, short pulse, coupled +T=50 tau=287e-6 tau1=0 tau2=12e-6 n=20 n2=5 chi2=0.9 +I0=2.3e11 I2=9.2e10 branch1=0 branch2=0.5 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **size** | m | Edge of cube shaped source | | +| **Lmin** | AA | Lower edge of wavelength distribution | | +| **Lmax** | AA | Upper edge of wavelength distribution | | +| **dist** | m | Distance from source to focusing rectangle; at (0,0,dist) | | +| **focus_xw** | m | Width of focusing rectangle | | +| **focus_yh** | m | Height of focusing rectangle | | +| nu | Hz | Frequency of pulses | 50 | +| T | K | Temperature of source | 325 | +| tau | s | long time decay constant for pulse, 1a | 22e-6 | +| tau1 | s | long time decay constant for pulse, 1b (only for coupled water, else 0) | 0 | +| tau2 | s/AA | long time decay constant for pulse, 2 | 7e-6 | +| n | 1 | pulse shape parameter 1 | 5 | +| n2 | 1 | pulse shape parameter 2 | 5 | +| chi2 | 1/AA | lambda-distribution parameter in pulse 2 | 2.5 | +| I0 | flux | integrated flux 1 (in flux units, see above) (default 9e10) | 9e10 | +| I2 | flux*AA | integrated flux 2 (default 4.6e10) | 4.6e10 | +| branch1 | 1 | limit for switching between distribution 1 and 2. (has effect only for coupled water, tau1>0) | 0 | +| branch2 | 1 | limit for switching between distribution 1 and 2. (default value 0.5) | 0.5 | +| branchframe | 1 | limit for switching between 1st and 2nd pulse (if only one pulse wanted: 1) | 0 | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. | 1 | + +## Links + +- [Source code](ESS_moderator_short.comp) for `ESS_moderator_short.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/obsolete/V_sample.md b/mcstas-comps/obsolete/V_sample.md new file mode 100644 index 0000000000..e995f1e056 --- /dev/null +++ b/mcstas-comps/obsolete/V_sample.md @@ -0,0 +1,80 @@ +# The `V_sample` Component + +*McStas: Vanadium sample.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann and Kristian Nielsen +- **Origin:** Risoe +- **Date:** 15.4.98 + +## Description + +```text +A Double-cylinder shaped incoherent scatterer (a V-sample) +with both elastic and quasielastic (Lorentzian) components. +No multiple scattering. Absorbtion included. +The shape of the sample may be a box with dimensions xwidth, yheight, zthick. +The area to scatter to is a disk of radius 'focus_r' situated at the target. +This target area may also be rectangular if specified focus_xw and focus_yh +or focus_aw and focus_ah, respectively in meters and degrees. +The target itself is either situated according to given coordinates (x,y,z), +or defined with the relative target_index of the component to focus +to (next is +1). +This target position will be set to its AT position. When targeting to +centered components, such as spheres or cylinders, define an Arm component +where to focus to. + +Example: V_sample(radius_i=0.001,radius_o=0.01,h=0.02,focus_r=0.035,pack=1, +target_index=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Outer radius of sample in (x,z) plane | 0 | +| thickness | m | Thickness of outer wall | 0 | +| zdepth | m | depth of box sample | 0 | +| Vc | | Unit cell volume [AA^3] | 13.827 | +| sigma_abs | barns | Absorbtion cross section pr. unit cell | 5.08 | +| sigma_inc | barns | Incoherent scattering cross section pr. unit cell | 5.08 | +| radius_i | m | radius-thickness | 0 | +| radius_o | m | Same as radius | 0 | +| h | m | Same as yheight | 0 | +| focus_r | m | Radius of disk containing target. Use 0 for full space | 0 | +| pack | 1 | Packing factor | 1 | +| frac | 1 | MC Probability for scattering the ray; otherwise penetrate | 1 | +| f_QE | 1 | Fraction of quasielastic scattering (rest is elastic) | 0 | +| gamma | 1 | Lorentzian width of quasielastic broadening (HWHM) | 0 | +| target_x | | | 0 | +| target_y | m | position of target to focus at | 0 | +| target_z | | | 0 | +| focus_xw | m | horiz. dimension of a rectangular area | 0 | +| focus_yh | m | vert. dimension of a rectangular area | 0 | +| focus_aw | deg | angular width dimension of a rectangular area | 0 | +| focus_ah | deg | angular height dimension of a rectangular area | 0 | +| xwidth | m | horiz. dimension of sample | 0 | +| yheight | m | vert. dimension of sample | 0 | +| zthick | m | Same as zdepth | 0 | +| rad_sphere | m | Radius for a spherical sample | 0 | +| sig_a | barns | Same as sigma_abs | 0 | +| sig_i | barns | Same as sigma_inc | 0 | +| V0 | | Same as Vc [AA^3] | 0 | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 | 0 | +| multiples | 1 | Apply crude estimate for multiple scattering | 1 | + +## Links + +- [Source code](V_sample.comp) for `V_sample.comp`. +- Test +- results (not up-to-date). +- The test/example instrument vanadium_example.instr. +- The test/example instrument QENS_test.instr. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/obsolete/Virtual_input.md b/mcstas-comps/obsolete/Virtual_input.md new file mode 100644 index 0000000000..8bc1fcc39f --- /dev/null +++ b/mcstas-comps/obsolete/Virtual_input.md @@ -0,0 +1,64 @@ +# The `Virtual_input` Component + +*McStas: Source-like component that generates neutron events from an ascii +'virtual source' filename.* + +## Identification + +- **Site:** +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** Sep 28th, 2001 + +## Description + +```text +This component reads neutron events stored from a file, and sends them into +the instrument. It thus replaces a Source component, using a previously +computed neutron set. The 'source' file type is an ascii text file with the +format listed below. The number of neutron events for the +simulation is set to the length of the 'source' file times the +repetition parameter 'repeat_count' (1 by default). +It is particularly useful to generate a virtual source at a point that few +neutron reach. A long simulation will then only be performed once, to create +the 'source' filename. Further simulations are much faster if they start from +this low flux position with the 'source' filename. + +The input file format is: +text column formatted with lines containing 11 values in the order: +p x y z vx vy vz t sx sy sz stored into about 83 bytes/n. + +%BUGS +We recommend NOT to use parallel execution (MPI) with this component. If you +need to, set parameter 'smooth=1'. + +EXAMPLE: +To create a 'source' file collecting all neutron states, use: +COMPONENT MySourceCreator = Virtual_output(filename = "MySource.list") +at the position where will be the Virtual_input. +Then inactivate the part of the simulation description before (and including) +the component MySourceCreator. Put the new instrument source: +COMPONENT Source = Virtual_input(filename="MySource.list") +at the same position as 'MySourceCreator'. +A Vitess filename may be obtained from the 'Vitess_output' component or from a +Vitess simulation (104 bytes per neutron) and read with Vitess_input. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of the neutron input file. Empty string "" inactivates component | 0 | +| verbose | 0/1 | Display additional information about source, recommended | 0 | +| repeat_count | 1 | Number of times the source must be generated/repeated | 1 | +| smooth | 0/1 | Smooth sparsed event files for filename repetitions. Use this option with MPI. This will apply gaussian distributions around initial events from the file | 1 | + +## Links + +- [Source code](Virtual_input.comp) for `Virtual_input.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/obsolete/Virtual_mcnp_input.md b/mcstas-comps/obsolete/Virtual_mcnp_input.md new file mode 100644 index 0000000000..41a26563e2 --- /dev/null +++ b/mcstas-comps/obsolete/Virtual_mcnp_input.md @@ -0,0 +1,80 @@ +# The `Virtual_mcnp_input` Component + +*McStas: This component uses a filename of recorded neutrons from the reactor monte carlo +code MCNP as a source of particles.* + +## Identification + +- **Site:** +- **Author:** Chama Hennane and E. Farhi +- **Origin:** ILL +- **Date:** June 28th, 2006 + +## Description + +```text +This component generates neutron events from a filename created using the +MCNP Monte Carlo code for nuclear reactors. It is used to +calculate flux exiting from hot or cold neutron sources. +Neutron position and velocity is set from the filename. The neutron time is +left at zero. + +Note that axes orientation may be different between MCNP and McStas. +The component has the ability to center and orient the neutron beam to the Z-axis. +It also may change the coordinate system from the MCNP frame to the McStas one. +The verbose mode is highly recommended as it displays lots of useful informations. +To obtain absolute intensity, set 'intensity' and 'nps' parameters. +The source total intensity is 1.054e18 for LLB/Saclay (14 MW) and 4.28e18 for +ILL/Grenoble (58 MW). + +Format of MCNP events are : + +position_X position_Y position_Z dir_X dir_Y dir_Z Energy Weight Time + +energy is in Mega eV, time in shakes (1e-8 s), +positions are in cm and the direction vector is normalized to 1. + +%BUGS +We recommend NOT to use parallel execution (MPI) with this component. If you +need to, set parameter 'smooth=1'. + +EXAMPLE: +To generate PTRAC files using MCNP/MCNPX, add at the end of your input file: +f1:n 2001 // tally +(...) +ptrac filename = asc +max = -1000000 // number of neutrons to generate and stop +write = all +event = sur +filter = 2001,jsu // surface tally id +To create a 'source' from a MCNP simulation event file for the ILL: +COMPONENT source = Virtual_mcnp_input( +filename = "H10p", intensity=4.28e18, nps=11328982, +verbose = 1, autocenter="translate rotate rescale") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of the MCNP PTRAC neutron input file. Empty string "" unactivates component | 0 | +| autocenter | str | String which may contain following keywords. "translate" or "center" to center the beam area AT (0,0,0) "rotate" or "orient" to center the beam velocity along Z "change axes" to change coordinate system definition "rescale" to adapt intensity to abs. units. with factor intensity/nps. Other words are ignored. | 0 | +| repeat_count | 1 | Number of times the source must be generated. 0 unactivates the component | 1 | +| verbose | 0\|1 | Displays additional informations if set to 1 | 0 | +| intensity | n/s | Intensity multiplication factor | 0 | +| MCNP_ANALYSE | 1 | Number of neutron events to read for file pre-analysis. Use 0 to analyze them all. | 10000 | +| surface_id | 1 | Index of the emitting MCNP surface to use. -1 for all. | -1 | +| nps | 1 | Number of total events shot by MCNP to generate the PTRAC as indicated at the end of the MCNP 'o' file as 'source particle weight for summary table normalization' or alternatively 'nps = '. | 0 | +| smooth | 0/1 | Smooth sparsed event files for file repetitions. | 1 | + +## Links + +- [Source code](Virtual_mcnp_input.comp) for `Virtual_mcnp_input.comp`. +- MCNP +- MCNP -- A General Monte Carlo N-Particle Transport Code, Version 5, Volume II: User's Guide, p177 + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/obsolete/Virtual_mcnp_output.md b/mcstas-comps/obsolete/Virtual_mcnp_output.md new file mode 100644 index 0000000000..00801f31b0 --- /dev/null +++ b/mcstas-comps/obsolete/Virtual_mcnp_output.md @@ -0,0 +1,53 @@ +# The `Virtual_mcnp_output` Component + +*McStas: Detector-like component that writes neutron state parameters into a +'virtual source' neutron file with MCNP/PTRAC format.* + +## Identification + +- **Site:** +- **Author:** Chama Hennane and E. Farhi +- **Origin:** ILL +- **Date:** July 7th, 2006 + +## Description + +```text +Detector-like component writing neutron state parameters to a +virtual source neutron file with MCNP/PTRAC format. +The component geometry is the full plane, and saves the neutron state as +it exits from the previous component. +Format is the one used by MCNP 5 files : + +position_X position_Y position_Z dir_X dir_Y dir_Z energy weight time + +energy is in Mega eV +positions are in cm and the direction vector is normalized to 1. + +%BUGS +This component will NOT work with parallel execution (MPI). + +EXAMPLE: +To create a file collecting all neutron states with MCNP5 format +COMPONENT fichier_sortie = Virtual_mcnp_output( +filename = "exit_guide_result.dat") +at the position where will be the Virtual_mcnp_input. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | name of the MCNP5 neutron output file, | 0 | + +## Links + +- [Source code](Virtual_mcnp_output.comp) for `Virtual_mcnp_output.comp`. +- MCNP +- MCNP -- A General Monte Carlo N-Particle Transport Code, Version 5, Volume II: User's Guide, p177 + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/obsolete/Virtual_mcnp_ss_Guide.md b/mcstas-comps/obsolete/Virtual_mcnp_ss_Guide.md new file mode 100644 index 0000000000..192d71d041 --- /dev/null +++ b/mcstas-comps/obsolete/Virtual_mcnp_ss_Guide.md @@ -0,0 +1,70 @@ +# The `Virtual_mcnp_ss_Guide` Component + +*McStas: Neutron guide initiated using Virtual_mcnp_ss_input.comp, and replacing Virtual_mcnp_ss_output.comp - see examples//Test_SSR_SSW_Guide.instr* + +## Identification + +- **Site:** +- **Author:** Esben klinkby and Peter Willendrup +- **Origin:** Risoe-DTU +- **Date:** Marts 2012 + +## Description + +```text +Based on Kristian Nielsens Guide.comp +Models a rectangular guide tube centered on the Z axis. The entrance lies +in the X-Y plane. +The component must be initiated after Virtual_mcnp_ss_input.comp, +and replaces Virtual_mcnp_ss_output.comp - see examples/Test_SSR_SSW_Guide.instr. +The basic idea is, that rather than discarding unreflected (i.e. absorbed) +neutrons at the guide mirrors, these neutron states are stored on disk. +Thus, after the McStas simulation a MCNP simulation can be performed based +on the un-reflected neutrons - intended for shielding studies. +(details: we don't deal with actual neutrons, so what is transferred between +simulations suites is neutron state parameters: pos,mom,time,weight. The latter is +whatever remains after reflection. + +For details on the geometry calculation see the description in the McStas +reference manual. +The reflectivity profile may either use an analytical mode (see Component +Manual) or a 2-columns reflectivity free text file with format +[q(Angs-1) R(0-1)]. + +Example: Virtual_mcnp_ss_Guide(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=2.0, +R0=0.99, Qc=0.021, alpha=6.07, m=2, W=0.003 + +%VALIDATION +Upcomming in 2012 based on ESS shielding +Validated by: D. Ene & E. Klinkby + +%BUGS +This component does not work with gravitation on. Use component Guide_gravity then +(doesn't work with SSR/SSW unfortunately) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflect | str | Reflectivity file name. Format | 0 | +| **w1** | m | Width at the guide entry | | +| **h1** | m | Height at the guide entry | | +| **w2** | m | Width at the guide exit | | +| **h2** | m | Height at the guide exit | | +| **l** | m | length of guide | | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.0219 | +| alpha | AA | Slope of reflectivity | 6.07 | +| m | 1 | m-value of material. Zero means completely absorbing. | 2 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | + +## Links + +- [Source code](Virtual_mcnp_ss_Guide.comp) for `Virtual_mcnp_ss_Guide.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/obsolete/Virtual_mcnp_ss_input.md b/mcstas-comps/obsolete/Virtual_mcnp_ss_input.md new file mode 100644 index 0000000000..78e3c8264f --- /dev/null +++ b/mcstas-comps/obsolete/Virtual_mcnp_ss_input.md @@ -0,0 +1,72 @@ +# The `Virtual_mcnp_ss_input` Component + +*McStas: This component uses a Source Surface type file of recorded neutrons from the +reactor monte carlo code MCNP as a source of particles.* + +## Identification + +- **Site:** +- **Author:** Esben Klinkby and Peter Willendrup +- **Origin:** DTU +- **Date:** January, 2012 + +## Description + +```text +This component draws neutron events from a Source Surface file created using the +MCNP Monte Carlo code and converts them to make them suitable for a McStas simulation + +Note that axes orientation may be different between MCNP and McStas! +Note also that the conversion of between McStas and MCNP units and parameters +is done automatically by this component - but the user must ensure that +geometry description matches between the two Monte Carlo codes. + +The verbose mode is highly recommended as it displays lots of useful informations. + +This interface uses the MCNP Source Surface Read/Write format (SSW/SSR). +Infomation transfer from(to) SSW files proceeds via a set of Fortran modules +and subroutines collected in "subs.f" +For succesful compilation, it is required that these subroutines are compiled +and linked to the instrument file: + +mcstas dummy.instr -> generates dummy.c +gfortran -c subs.f -> generates subs.f +gcc -o runme.out dummy.c subs.o -lm -lgfortran -> generates runme.out + +Note that this requires a fortran compiler (here gfortran) and gcc. + +%BUGS +None known bugs so far. But surely this will change... +Caveat: when writing the header for the output wssa file, the number of histories and tracks are assumed to be that of the +input MNCP run. This is generally not the case, due to losses in the McStas simulation step. +In case of losses any subsequel MCNP run based on the McStas output, can be confused by inconsistency between +header and file content. To resolve, either ensure that NPS is lower than the actual number of events in the McStas output. +Or hardcode values of nhis & ntrk in either subs.f or Virtual_mcnp_ss_output.comp. + +EXAMPLE of usage: +first a MCNP simulation is run +and at a relevant surface, a Source Surface Write card is given (e.g. for MCNP surface #1, add the line: +SSW 1 +to the end of the input file. +By this a ".w" file is produced, which then serves as input to the McStas simulation. +Present version: rename *.w to rssa, and make sure to put it in the dir from which McStas is run +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| file | str | Name of the MCNP SSW neutron input file. Not active: Name assumed to be 'rssa' | "rssa" | +| verbose | 1 | Toggles debugging info on/off | 1 | + +## Links + +- [Source code](Virtual_mcnp_ss_input.comp) for `Virtual_mcnp_ss_input.comp`. +- MCNP +- MCNP -- A General Monte Carlo N-Particle Transport Code, Version 5, Volume II: User's Guide, p177 + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/obsolete/Virtual_mcnp_ss_output.md b/mcstas-comps/obsolete/Virtual_mcnp_ss_output.md new file mode 100644 index 0000000000..bcd4c4dd5c --- /dev/null +++ b/mcstas-comps/obsolete/Virtual_mcnp_ss_output.md @@ -0,0 +1,72 @@ +# The `Virtual_mcnp_ss_output` Component + +*McStas: This component uses a Source Surface type file of recorded neutrons from the +reactor monte carlo code MCNP as a source of particles.* + +## Identification + +- **Site:** +- **Author:** Esben Klinkby and Peter Willendrup +- **Origin:** DTU +- **Date:** January, 2012 + +## Description + +```text +This component draws neutron events from a Source Surface file created using the +MCNP Monte Carlo code and converts them to make them suitable for a McStas simulation + +Note that axes orientation may be different between MCNP and McStas! +Note also that the conversion of between McStas and MCNP units and parameters +is done automatically by this component - but the user must ensure that +geometry description matches between the two Monte Carlo codes. + +The verbose mode is highly recommended as it displays lots of useful informations. + +This interface uses the MCNP Source Surface Read/Write format (SSW/SSR). +Infomation transfer from(to) SSW files proceeds via a set of Fortran modules +and subroutines collected in "subs.f" +For succesful compilation, it is required that these subroutines are compiled +and linked to the instrument file: + +mcstas dummy.instr -> generates dummy.c +gfortran -c subs.f -> generates subs.f +gcc -o runme.out dummy.c subs.o -lm -lgfortran -> generates runme.out + +Note that this requires a fortran compiler (here gfortran) and gcc. + +%BUGS +None known bugs so far. But surely this will change... +Caveat: when writing the header for the output wssa file, the number of histories and tracks are assumed to be that of the +input MNCP run. This is generally not the case, due to losses in the McStas simulation step. +In case of losses any subsequel MCNP run based on the McStas output, can be confused by inconsistency between +header and file content. To resolve, either ensure that NPS is lower than the actual number of events in the McStas output. +Or hardcode values of nhis & ntrk in either subs.f or Virtual_mcnp_ss_output.comp. + +EXAMPLE of usage: +first a MCNP simulation is run +and at a relevant surface, a Source Surface Write card is given (e.g. for MCNP surface #1, add the line: +SSW 1 +to the end of the input file. +By this a ".w" file is produced, which then serves as input to the McStas simulation. +Present version: rename *.w to rssa, and make sure to put it in the dir from which McStas is run (or use symbolic links) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| file | str | Name of the MCNP SSW neutron input file. Not active: Name assumed to be 'rssa' | "rssa" | +| verbose | 1 | Toggles debugging info on/off | 1 | + +## Links + +- [Source code](Virtual_mcnp_ss_output.comp) for `Virtual_mcnp_ss_output.comp`. +- MCNP +- MCNP -- A General Monte Carlo N-Particle Transport Code, Version 5, Volume II: User's Guide, p177 + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/obsolete/Virtual_output.md b/mcstas-comps/obsolete/Virtual_output.md new file mode 100644 index 0000000000..d569618c37 --- /dev/null +++ b/mcstas-comps/obsolete/Virtual_output.md @@ -0,0 +1,62 @@ +# The `Virtual_output` Component + +*McStas: Detector-like component that writes neutron state parameters into an ascci-format +'virtual source' neutron file.* + +## Identification + +- **Site:** +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** Dec 17th, 2002 + +## Description + +```text +Detector-like component writing neutron state parameters to a +virtual source neutron filename. The component geometry is the full +plane, and saves the neutron state as it exits from the previous +component. + +It is particularly useful to generate a virtual source at a point that few +neutron reach. A long simulation will then only be performed once, to create +the upstream 'source' file. Further simulations are much faster if they start +from this low flux position with the 'source' filename. + +The output file format is: +text column formatted with lines containing 11 values in the order: +p x y z vx vy vz t sx sy sz stored into about 83 bytes/n. + +Beware the size of generated files ! When saving all events (bufsize=0) the +required memory has been optimized and remains very small. On the other hand +using large bufsize values (not recommended) requires huge storage memory. +Moreover, using the 'bufsize' parameter will often lead to wrong intensities. +Both methods will generate huge files. + +A Vitess file may be obtained from the 'Vitess_output' component or from a +Vitess simulation (104 bytes per neutron) and read with Vitess_input. + +Example: Virtual_output(filename="MySource.dat") +will generate a 9 Mo text file for 1e5 events stored. + +%BUGS +Using bufsize non-zero may generate a virtual source with wrong intensity. This +component works with MPI (parallel execution mode). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of neutron file to write. Default is standard output [string]. If not given, a unique name will be used. | 0 | +| bufsize | 1 | Size of neutron output buffer default is 0, i.e. save all - recommended. | 0 | + +## Links + +- [Source code](Virtual_output.comp) for `Virtual_output.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/obsolete/Virtual_tripoli4_input.md b/mcstas-comps/obsolete/Virtual_tripoli4_input.md new file mode 100644 index 0000000000..2fa55e5543 --- /dev/null +++ b/mcstas-comps/obsolete/Virtual_tripoli4_input.md @@ -0,0 +1,78 @@ +# The `Virtual_tripoli4_input` Component + +*McStas: This component reads a file of recorded neutrons from the reactor Monte Carlo +code TRIPOLI4.4 as a source of particles.* + +## Identification + +- **Site:** +- **Author:** Guillaume Campioni +- **Origin:** SERMA +- **Date:** Sep 28th, 2001 + +## Description + +```text +This component generates neutron events from a file created using the +TRIPOLI4 Monte Carlo code for nuclear reactors (as MCNP). It is used to +calculate flux exiting from hot or cold neutron sources. +Neutron position and velocity is set from the file. The neutron time is +left at zero. +Storage files from TRIPOLI4.4 contain several batches of particules, all +of them having the same statictical weight. + +Note that axes orientation may be different between TRIPOLI4.4 and McStas. +The component has the ability to center and orient the neutron beam to the Z-axis. +It also changes the coordinate system from the Tripoli frame to the McStas one. +The verbose mode is highly recommended as it displays lots of useful informations, +including the absolute intensity normalisation factor. All neutron fluxes in the +instrument should be multiplied by this factor. Such a renormalization is done +when 'autocenter' contains the word 'rescale'. +The source total intensity is 1.054e18 for LLB/Saclay (14 MW) and 4.28e18 for +ILL/Grenoble (58 MW). + +Format of TRIPOLI4.4 event files is : + +NEUTRON energy position_X position_Y position_Z dir_X dir_Y dir_Z weight + +energy is in Mega eV +positions are in cm and the direction vector is normalized to 1. + +%BUGS +We recommend NOT to use parallel execution (MPI) with this component. If you +need to, set parameter 'smooth=1'. + +EXAMPLE: +To create a 'source' from a Tripoli4 simulation event file for the ILL: +COMPONENT source = Virtual_tripoli4_input( +filename = "ILL_SFH.dat", intensity=4.28e18, +verbose = 1, autocenter="translate rotate rescale") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of the Tripoli4.4 neutron input file. Empty string "" unactivates component | 0 | +| autocenter | str | String which may contain following keywords. "translate" or "center" to center the beam area AT (0,0,0) "rotate" or "orient" to center the beam velocity along Z "rescale" to adapt intensity to abs. units. Other words are ignored. | 0 | +| repeat_count | 1 | Number of times the source must be generated. 0 unactivates the component | 1 | +| verbose | 0\|1 | Displays additional informations if set to 1 | 0 | +| intensity | n/s | Initial total Source integrated intensity | 1 | +| T4_ANALYSE | 1 | Number of neutron events to read for file pre-analysis. Use 0 to analyze them all. | 10000 | +| radius | m | In the case the Tripoli4 batch file is a point, you may specify a disk emission area for the source. | 0 | +| T4_ANALYSE_EMIN | meV | Minimal energy to use for file pre-analysis | 0 | +| T4_ANALYSE_EMAX | meV | Maximal energy to use for file pre-analysis | 0 | +| smooth | 0/1 | Smooth sparsed event files for file repetitions. | 1 | + +## Links + +- [Source code](Virtual_tripoli4_input.comp) for `Virtual_tripoli4_input.comp`. +- Tripoli +- Virtual_tripoli4_output +- CAMPIONI Guillaume, Etude et Modelisation des Sources Froides de Neutrons, These de Doctorat, CEA Saclay/UJF (2004) + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/obsolete/Virtual_tripoli4_output.md b/mcstas-comps/obsolete/Virtual_tripoli4_output.md new file mode 100644 index 0000000000..8d76a73509 --- /dev/null +++ b/mcstas-comps/obsolete/Virtual_tripoli4_output.md @@ -0,0 +1,56 @@ +# The `Virtual_tripoli4_output` Component + +*McStas: Detector-like component that writes neutron state parameters into a +'virtual source' neutron file when neutrons come from the source : +Virtual_tripoli4_input.comp* + +## Identification + +- **Site:** +- **Author:** Guillaume Campioni +- **Origin:** LLB +- **Date:** Sep 28th, 2001 + +## Description + +```text +Detector-like component writing neutron state parameters to a +virtual source neutron file when neutron are coming from a +Virtual_tripoli4_input.comp. +The component geometry is the full plane, and saves the neutron state as +it exits from the previous component. +Format is the one used by TRIPOLI4.4 stock files : + +NEUTRON energy position_X position_Y position_Z dir_X dir_Y dir_Z weight + +energy is in [Mega eV] +positions are in [cm] and the direction vector is normalized to 1. + +%BUGS +This component will NOT work with parallel execution (MPI/GPU). + +EXAMPLE: +To create a file collecting all neutron states with TRIPOLI4 format +COMPONENT T4output = Virtual_tripoli4_output( +filename = "exit_guide_result.dat", batch = 1 ) +at the position where will be the Virtual_tripoli4_input when reading the file. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of the Tripoli4 neutron output file, | 0 | +| batch | 1 | Index of the Tripoli batch to generate, when no | 1 | + +## Links + +- [Source code](Virtual_tripoli4_output.comp) for `Virtual_tripoli4_output.comp`. +- Tripoli +- Virtual_tripoli4_input + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/obsolete/Vitess_input.md b/mcstas-comps/obsolete/Vitess_input.md new file mode 100644 index 0000000000..277e15b872 --- /dev/null +++ b/mcstas-comps/obsolete/Vitess_input.md @@ -0,0 +1,41 @@ +# The `Vitess_input` Component + +*McStas: Read neutron state parameters from VITESS neutron filename.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe/ILL +- **Date:** June 6, 2000 + +## Description + +```text +Source-like component reading neutron state parameters from a +VITESS neutron filename. Used to interface McStas components or +simulations into VITESS. Each neutron is 104 bytes. + +Example: Vitess_input(filename="MySource.vit", bufsize = 10000, repeat_count = 2) + +%BUGS +We recommend NOT to use parallel execution (MPI) with this component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | string | Filename of neutron file to read. Default (NULL) is standard input. Empty string "" unactivates component | 0 | +| bufsize | records | Size of neutron input buffer | 10000 | +| repeat_count | 1 | Number of times to repeat each neutron read | 1 | + +## Links + +- [Source code](Vitess_input.comp) for `Vitess_input.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/obsolete/Vitess_output.md b/mcstas-comps/obsolete/Vitess_output.md new file mode 100644 index 0000000000..8f821302b4 --- /dev/null +++ b/mcstas-comps/obsolete/Vitess_output.md @@ -0,0 +1,46 @@ +# The `Vitess_output` Component + +*McStas: Write neutron state parameters to VITESS neutron filename.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe/ILL +- **Date:** June 6, 2000 + +## Description + +```text +Detector-like component writing neutron state parameters to a +VITESS neutron filename. Used to interface McStas components or +simulations into VITESS. Each neutron is 104 bytes. + +Note that when standard output is used, as is the default, no +monitors or other components that produce terminal output must be +used, or the neutron output from this component will become +corrupted. + +Example: Vitess_output(filename="MySource.vit", bufsize = 10000, progress = 1) + +%BUGS +This component will NOT work with parallel execution (MPI). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | string | Filename of neutron file to write. Default is standard output | 0 | +| bufsize | records | Size of neutron output buffer | 10000 | +| progress | flag | If not zero, output dots as progress indicator | 0 | + +## Links + +- [Source code](Vitess_output.comp) for `Vitess_output.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Absorber.md b/mcstas-comps/optics/Absorber.md new file mode 100644 index 0000000000..44077ab2e4 --- /dev/null +++ b/mcstas-comps/optics/Absorber.md @@ -0,0 +1,39 @@ +# The `Absorber` Component + +*McStas: Box-shaped absorbing slab.* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup +- **Origin:** Risoe +- **Date:** November 2008 + +## Description + +```text +Infinitely absorbing slab of material. + +Example: Absorber(xmin=-0.01, xmax=0.01, ymin=-0.05, ymax=0.05, zmin=-0.2, zmax=0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xmin | m | Lower x bound | 0 | +| xmax | m | Upper x bound | 0 | +| ymin | m | Lower y bound | 0 | +| ymax | m | Upper y bound | 0 | +| zmin | m | Lower z bound | 0 | +| zmax | m | Upper z bound | 0 | + +## Links + +- [Source code](Absorber.comp) for `Absorber.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Arm.md b/mcstas-comps/optics/Arm.md new file mode 100644 index 0000000000..069e80982c --- /dev/null +++ b/mcstas-comps/optics/Arm.md @@ -0,0 +1,34 @@ +# The `Arm` Component + +*McStas: Arm/optical bench* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann and Kristian Nielsen +- **Origin:** Risoe +- **Date:** September 1997 + +## Description + +```text +An arm does not actually do anything, it is just there to set +up a new coordinate system. + +Example: Arm() +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Arm.comp) for `Arm.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Beamstop.md b/mcstas-comps/optics/Beamstop.md new file mode 100644 index 0000000000..342b17f76f --- /dev/null +++ b/mcstas-comps/optics/Beamstop.md @@ -0,0 +1,44 @@ +# The `Beamstop` Component + +*McStas: Rectangular/circular beam stop.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** January 2000 + +## Description + +```text +A simple rectangular or circular beam stop. +Infinitely thin and infinitely absorbing. +The beam stop is by default rectangular. You may either +specify the radius (circular shape), or the rectangular bounds. + +Example: Beamstop(xmin=-0.05, xmax=0.05, ymin=-0.05, ymax=0.05) +Beamstop(radius=0.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xmin | m | Lower x bound | -0.05 | +| xmax | m | Upper x bound | 0.05 | +| ymin | m | Lower y bound | -0.05 | +| ymax | m | Upper y bound | 0.05 | +| xwidth | m | Width of beamstop (x). Overrides xmin, xmax. | 0 | +| yheight | m | Height of beamstop (y). Overrides ymin, ymax. | 0 | +| radius | m | radius of the beam stop in the z=0 plane, centered at Origo | 0 | + +## Links + +- [Source code](Beamstop.comp) for `Beamstop.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Bender.md b/mcstas-comps/optics/Bender.md new file mode 100644 index 0000000000..7e768d4632 --- /dev/null +++ b/mcstas-comps/optics/Bender.md @@ -0,0 +1,87 @@ +# The `Bender` Component + +*McStas: Models a curved neutron guide.* + +## Identification + +- **Site:** +- **Author:** Philipp Bernhardt +- **Origin:** Uni. Erlangen (Germany) +- **Date:** Februar 7 1999 + +## Description + +```text +Models a curved neutron guide with cylindrical walls. + +Bender radius, entrance width and height are necessary input data. To define +the bender, you may either enter the deviation angle 'Win' or the length 'l'. +The bender may consist of 'k' vertical channels, separated by partitioning walls +of thickness 'd'. Three different reflectivity profiles can be given: for outer +walls, for inner walls and for the top and bottom walls. The partitioning walls +have the same coating as the exterior walls. + +The entrance lies in the X-Y plane, centered on the Z axis. The neutrons will +also leave the bender in the X-Y plane at the z-value l=r*Win, i.e. they are +centred on (0,0,r*Win); they have an (average) flight direction along the z-axis. +Therefore, the following component is adjacent, if positioned AT (0,0,r*Win) +without rotation. +So, seen from outside, it behaves like a straight guide along the Z axis. As a +consequence, it is shown straight in 'mcdisplay'. +This behaviour results from a co-ordinate transformation inside the component. +It is done to facilitate its use. Neither rotation nor shift along the x-axis +need to be calculated; a new arm is not necessary. Internally, the bender is +bent to the negative X axis; + +Example: +Bender of 120 mm height, 50 mm width, 250 m radius and 0.04 rad (or 2.292 deg) curvature +not channeled, with a standard m=2 coating on + +Bender(w=0.05,h=0.12,r=250,Win=0.04, +R0a=0.99,Qca=0.021,alphaa=6.07,ma=2,Wa=0.003, +R0i=0.99,Qci=0.021,alphai=6.07,mi=2,Wi=0.003, +R0s=0.99,Qcs=0.021,alphas=6.07,ms=2,Ws=0.003) + +%BUGS +Some users have reported potentially strange behaviours with this component. +This component does not work with gravitation on. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **w** | m | Width at the bender entry and exit | | +| **h** | m | Height at the bender entry and exit | | +| **r** | m | Radius of the bender | | +| Win | rad | Angle of the deflection of the whole bender | 0.04 | +| k | 1 | Number of channels inside the bender | 1 | +| d | m | Thickness of one blade separating the channels | 0.001 | +| l | m | length of bender l=r*Win | 0 | +| R0a | 1 | Low-angle reflectivity at the outer side of the bender | 0.99 | +| Qca | AA-1 | Critical scattering vector | 0.021 | +| alphaa | AA | Slope of reflectivity | 6.07 | +| ma | 1 | m-value of material | 2 | +| Wa | AA-1 | Width of supermirror cut-off | 0.003 | +| R0i | 1 | Low-angle reflectivity at the inner side of the bender | 0.99 | +| Qci | AA-1 | Critical scattering vector | 0.021 | +| alphai | AA | Slope of reflectivity | 6.07 | +| mi | 1 | m-value of material | 2 | +| Wi | AA-1 | Width of supermirror cut-off | 0.003 | +| R0s | 1 | Low-angle reflectivity at the top and bottom side of the bender | 0.99 | +| Qcs | AA-1 | Critical scattering vector | 0.021 | +| alphas | AA | Slope of reflectivity | 6.07 | +| ms | 1 | m-value of material | 2 | +| Ws | AA-1 | Width of supermirror cut-off | 0.003 | + +## Links + +- [Source code](Bender.comp) for `Bender.comp`. +- Additional note from Philipp Bernhardt. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Collimator_linear.md b/mcstas-comps/optics/Collimator_linear.md new file mode 100644 index 0000000000..fd7a704182 --- /dev/null +++ b/mcstas-comps/optics/Collimator_linear.md @@ -0,0 +1,46 @@ +# The `Collimator_linear` Component + +*McStas: A simple analytical Soller collimator (with triangular transmission).* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** August 1998 + +## Description + +```text +Soller collimator with rectangular opening and specified length. The +transmission function is an average and does not utilize knowledge of the +actual neutron trajectory. A zero divergence disables collimation (then the +component works as a double slit). + +Example: Collimator_linear(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, length=0.25, divergence=40,transmission=0.7) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xmin | m | Lower x bound on slits | -0.02 | +| xmax | m | Upper x bound on slits | 0.02 | +| ymin | m | Lower y bound on slits | -0.05 | +| ymax | m | Upper y bound on slits | 0.05 | +| xwidth | m | Width of slits | 0 | +| yheight | m | Height of slits | 0 | +| length | m | Distance between input and output slits | 0.3 | +| divergence | minutes of arc | Divergence horizontal angle (calculated as atan(d/length), where d is the blade spacing) | 40 | +| transmission | 1 | Transmission of Soller (0<=t<=1) | 1 | +| divergenceV | minutes of arc | Divergence vertical angle | 0 | + +## Links + +- [Source code](Collimator_linear.comp) for `Collimator_linear.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Collimator_radial.md b/mcstas-comps/optics/Collimator_radial.md new file mode 100644 index 0000000000..f470ea65b3 --- /dev/null +++ b/mcstas-comps/optics/Collimator_radial.md @@ -0,0 +1,73 @@ +# The `Collimator_radial` Component + +*McStas: A radial Soller collimator.* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi +- **Origin:** ILL +- **Date:** July 2005 + +## Description + +```text +Radial Soller collimator with rectangular opening and specified length. +The collimator is made of many rectangular channels stacked radially. +Each channel is a set of transmitting layers (nslit), separated by an absorbing +material (infinitely thin), the whole stuff is inside an absorbing housing. + +When specifying the number of channels (nchan), each channel has a total +entrance width=radius*fabs(theta_max-theta_min)/nchan, but only the central +portion 'xwidth' accepts neutrons. When xwidth=0, it is set to the full +apperture so that all neutrons enter the channels (all walls are infinitely thin). + +When using zero as the number of channels (nchan), the collimator is continuous, +whithout shadowing effect. + +The component should be positioned at the radius center. +The component can be made oscillating (usual on diffractometers and TOF +machines) with the 'roc' parameter. +The neutron beam outside the collimator angular area is transmitted unaffected. + +When used as a focusing collimator, the focusing parameter should be set to 1. + +An example of a instrument that uses this collimator can be found in the SALSA instrument, +in the example folder + +Example: +Channelled radial collimator with shadow parts +Collimator_radial(xwidth=0.015, yheight=.3, length=.35, divergence=40,transmission=1, theta_min=5, theta_max=165, nchan=128, radius=0.9) +A continuous radial collimator +Collimator_radial(yheight=.3, length=.35, divergence=40,transmission=1, theta_min=5, theta_max=165, radius=0.9) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Soller window width, filled with nslit slits. Use 0 value for continuous collimator. | 0 | +| yheight | m | Collimator height. If yheight_inner is specified, then this is the outer cylinders height | .3 | +| length | m | Length/Distance between inner and outer slits. | .35 | +| divergence | min of arc | Divergence angle. May also be specified with the nslit parameter. A zero value unactivates component. | 0 | +| transmission | 1 | Maximum transmission of Soller (0<=t<=1). | 1 | +| theta_min | deg | Minimum Theta angle for the radial setting. | 5 | +| theta_max | deg | Maximum Theta angle for the radial setting. | 165 | +| nchan | 1 | Number of Soller channels in the theta range. Use 0 value for continuous collimator. | 0 | +| radius | m | Radius of the collimator (to entry window). | 1.3 | +| nslit | 1 | Number of blades composing each Soller. Overrides the divergence parameter. | 0 | +| roc | deg | Amplitude of oscillation of collimator. 0=fixed. | 0 | +| verbose | | Gives additional information. | 0 | +| approx | | Use Soller triangular transmission approximation. | 0 | +| focusing | 1 | When set allows you to use the collimators for focusing, rather than dispersing. | 0 | +| yheight_inner | 1 | Defines the inner height of the collimator | 0 | + +## Links + +- [Source code](Collimator_radial.comp) for `Collimator_radial.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Derotator.md b/mcstas-comps/optics/Derotator.md new file mode 100644 index 0000000000..70bcceda8d --- /dev/null +++ b/mcstas-comps/optics/Derotator.md @@ -0,0 +1,40 @@ +# The `Derotator` Component + +*McStas: The counterpart of the Rotator component.* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi +- **Origin:** ILL +- **Date:** June 20th 2013 + +## Description + +```text +A component which stops the rotative frame set by the Rotator component. +Its position should better coincide with the Rotator instance. +Components preceding the Derotator are rotating, all following are steady. + +Example: +R=Rotator(nu=14, phase=0) +... +DR=Derotator(rotator="R") +AT (0,0,0) RELATIVE R +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **rotator** | string | the name of the Rotator component used to initiate the rotation | | + +## Links + +- [Source code](Derotator.comp) for `Derotator.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Diaphragm.md b/mcstas-comps/optics/Diaphragm.md new file mode 100644 index 0000000000..c7f8b4eacc --- /dev/null +++ b/mcstas-comps/optics/Diaphragm.md @@ -0,0 +1,39 @@ +# The `Diaphragm` Component + +*McStas: Rectangular/circular diaphragm (alias of the Slit component)* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** February 2016 + +## Description + +```text +A simple rectangular or circular diaphragm. You may either +specify the radius (circular shape), or the rectangular bounds. +No transmission around the diaphragm is allowed. + +Example: Diaphragm(xmin=-0.01, xmax=0.01, ymin=-0.01, ymax=0.01) +Diaphragm(radius=0.01) + + +For INPUT PARAMETERS - please consult Slit.comp as Diaphragm is a copy of that component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Diaphragm.comp) for `Diaphragm.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/DiskChopper.md b/mcstas-comps/optics/DiskChopper.md new file mode 100644 index 0000000000..b3ddad7dfd --- /dev/null +++ b/mcstas-comps/optics/DiskChopper.md @@ -0,0 +1,68 @@ +# The `DiskChopper` Component + +*McStas: Based on Chopper (Philipp Bernhardt), Jitter and beamstop from work by +Kaspar Hewitt Klenoe (jan 2006), adjustments by Rob Bewey (march 2006)* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup +- **Origin:** Risoe +- **Date:** March 9 2006 + +## Description + +```text +Models a disc chopper with nslit identical slits, which are symmetrically distributed +on the disc. At time t=0, the centre of the first slit opening will be situated at the +vertical axis when phase=0, assuming the chopper centre of rotation is placed BELOW the beam axis. +If you want to place the chopper ABOVE the beam axis, please use a 180 degree rotation around Z +(otherwise unexpected beam splitting can occur in combination with the isfirst=1 setting, see +related bug on GitHub) + +For more complicated gemometries, see component manual example of DiskChopper GROUPing. + +If the chopper is the 1st chopper of a continuous source instrument, you should use the "isfirst" parameter. +This parameter SETS the neutron time to match the passage of the chooper slit(s), taking into account the +chopper timing and phasing (thus conserving your simulated statistics). + +The isfirst parameter is ONLY relevant for use in continuous source settings. + +Example: DiskChopper(radius=0.2, theta_0=10, nu=41.7, nslit=3, delay=0, isfirst=1) First chopper +DiskChopper(radius=0.2, theta_0=10, nu=41.7, nslit=3, delay=0, isfirst=0) + +NOTA BENE wrt. GROUPing and isfirst: +When setting up a GROUP of DiskChoppers for a steady-state / reactor source, you will need +to set up +1) An initial chopper with isfirst=1, NOT part of the GROUP - and using a "big" chopper opening +that spans the full angular extent of the openings of the subsequent GROUP +2) Add your DiskChopper GROUP setting isfirst=0 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| theta_0 | deg | Angular width of the slits. | 0 | +| radius | m | Radius of the disc | 0.5 | +| **yheight** | m | Slit height (if = 0, equal to radius). Auto centering of beam at half height. | | +| **nu** | Hz | Frequency of the Chopper, omega=2*PI*nu (algebraic sign defines the direction of rotation) | | +| nslit | 1 | Number of slits, regularly arranged around the disk | 3 | +| jitter | s | Jitter in the time phase | 0 | +| delay | s | Time 'delay' | 0 | +| isfirst | 0/1 | Set it to 1 for the first chopper position in a cw source (it then spreads the neutron time distribution) | 0 | +| n_pulse | 1 | Number of pulses (Only if isfirst) | 1 | +| abs_out | 0/1 | Absorb neutrons hitting outside of chopper radius? | 1 | +| phase | deg | Angular 'delay' (overrides delay) | 0 | +| xwidth | m | Horizontal slit width opening at beam center | 0 | +| verbose | 1 | Set to 1 to display Disk chopper configuration | 0 | + +## Links + +- [Source code](DiskChopper.comp) for `DiskChopper.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Elliptic_guide_gravity.md b/mcstas-comps/optics/Elliptic_guide_gravity.md new file mode 100644 index 0000000000..4460c7563f --- /dev/null +++ b/mcstas-comps/optics/Elliptic_guide_gravity.md @@ -0,0 +1,127 @@ +# The `Elliptic_guide_gravity` Component + +*McStas: Perfect elliptic guide which allow for simulations with gravity. +The guide mirrors can be divided into segments with individual m-values. +Parabolic guide components can also be simulated.* + +## Identification + +- **Site:** +- **Author:** Henrik Bo Hoffmann Carlsen and Mads Bertelsen +- **Origin:** NBI +- **Date:** 27 Aug 2012 + +## Description + +```text +The perfect elliptic guide is centered along the z-axis with the entrance +and exit in the xy-plane. The horizontal and vertical ellipses defining +the guide geometry is by default set by two focal points. +These are placed a distance away from the guide openings along the z-axis; +if distance given is positive, when the focal point is outside the guide. + +Multiple options for defining these ellipse exist including approximation of +parabolas and half ellipses (mid point of the ellipse or one of the guide openings) + +The guide coating parameters can be set for each side of the guide. +Furthermore the m-value can be specified for user defined segments +of the guide. + +Example 1, Elliptical definition using focal points: + +Elliptic_guide_gravity( +l=50, +linxw=5,linyh=5,loutxw=10,loutyh=10, +xwidth=0.05,yheight=0.05, +R0=0.99,Qc=0.0219,alpha=6.07,m=1.0,W=0.003 +) + +Example 2: Half elliptical definition: + +Elliptic_guide_gravity( +l=50, +linxw=5,linyh=5,loutxw=10,loutyh=10, +xwidth=0.1,yheight=0.1, +R0=0.99,Qc=0.0219,alpha=6.07,m=1.0,W=0.003, +option = "halfEllipse", +dimensionsAt = "entrance" +) + +Example 3: Parabolic approximation: + +Elliptic_guide_gravity( +l=50, +linxw=5,linyh=5,loutxw=1e6,loutyh=1e6, // values larger than 1e8 may cause erroneous results +xwidth=0.1,yheight=0.1, +R0 = 0.99,Qc=0.0219,alpha=6.07,m=1.0,W=0.003, +dimensionsAt = "exit" +) + +Example 4: Elliptical definition with varying m-values: + +Elliptic_guide_gravity( +l=50, +linxw=5,linyh=5,loutxw=10,loutyh=10, +xwidth=0.1,yheight=0.1, +R0 = 0.99,Qc=0.0219,alpha=6.07,m=1.0,W=0.003, +mvaluesright=marray,mvaluesleft=marray,mvaluestop=marray,mvaluesbottom=marray +) + +where marray is initialized as +for(iter=0; iter < 50; iter++){ marray[iter] = 2; } +And Declared as +double mValues[50]; +If you are using the array-based coating-specification, you **must** give nSegments a compatible value. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | width at the guide entry, mid or exit (see dimensionsAt) | 0 | +| yheight | m | height at the guide entry, mid or exit (see dimensionsAt) | 0 | +| **l** | m | length of the guide | | +| linxw | m | distance from 1st focal point to guide entrance - left and right horizontal mirrors | 0 | +| loutxw | m | distance from 2nd focal point to guide exit - left and right horizontal mirrors | 0 | +| linyh | m | distance from 1st focal point to guide entrance - top and bottom vertical mirrors | 0 | +| loutyh | m | distance from 2nd focal point to guide exit - top and bottom vertical mirrors | 0 | +| majorAxisxw | m | direct defination of the guide geometry, will ignore w,h lin and lout parameters if this is nonzero. Length of the axis parallel to the z for the horizontal ellipse | 0 | +| minorAxisxw | m | direct defination of the guide geometry, will ignore w,h lin and lout parameters if this is nonzero. Length of the axis Perpendicular to the z for the horizontal ellipse | 0 | +| majorAxisyh | m | direct defination of the guide geometry, will ignore w,h lin and lout parameters if this is nonzero. Length of the axis parallel to the z for the vertical ellipse | 0 | +| minorAxisyh | m | direct defination of the guide geometry, will ignore w,h lin and lout parameters if this is nonzero. Length of the axis Perpendicular to the z for the vertical ellipse | 0 | +| majorAxisoffsetxw | m | direct defination of the guide geometry, distance between the center of the horizontal ellipse and the guide entrance | 0 | +| majorAxisoffsetyh | m | direct defination of the guide geometry, distance between the center of the vertical ellipse and the guide entrance | 0 | +| dimensionsAt | string | define whether xwidth and yheight sets the size of the opening, minor axis or the end of the guide. | "entrance" | +| option | string | options are 'ellipse' and 'halfEllipse'. Ellipse is defined by both the focal points, while halfEllipse locked the center of the ellipse either the entrance or exit of the guide, and use the focal point of the other end to define the ellipse | "ellipse" | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.0218 | +| alpha | AA | Slope of reflectivity | 6.07 | +| m | 1 | m-value of material for all mirrors, zero means complete absorption. | 2 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | +| alpharight | AA | Slope of reflectivity for right vertical mirror | -1 | +| mright | 1 | m-value of material for right vertical mirror | -1 | +| alphaleft | AA | Slope of reflectivity for left vertical mirror | -1 | +| mleft | 1 | m-value of material for left vertical mirror | -1 | +| alphatop | AA | Slope of reflectivity for top horizontal mirror, overwrites alpha | -1 | +| mtop | 1 | m-value of material for top horizontal mirror, overwrites m | -1 | +| alphabottom | AA | Slope of reflectivity for bottom horizontal mirror | -1 | +| mbottom | 1 | m-value of material for bottom horizontal mirror | -1 | +| verbose | bool | Give extra information about calculations | "on" | +| enableGravity | m | Flag to select propagation with gravity. | 1.0 | +| curvature | m | Simulate horizontal radius of curvature by centripetal force added to the gravity. Note: Does not curve the guide in mcdisplay but "curves the neutron". Has opposite sign definition of Guide_curved. | 0 | +| nSegments | m | Must be used to specify number of guide segments, i.e. when giving inputs mvaluesright ... etc. | -1 | +| mvaluesright | pointer | Pointer to array of m-values, right mirror | NULL | +| mvaluesleft | pointer | - same, left mirror | NULL | +| mvaluestop | pointer | - same, top mirror | NULL | +| mvaluesbottom | pointer | - same, bottom mirror | NULL | +| seglength | pointer | Pointer to array of segment lengths for discrete mirror description | NULL | + +## Links + +- [Source code](Elliptic_guide_gravity.comp) for `Elliptic_guide_gravity.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/FZP_simple.md b/mcstas-comps/optics/FZP_simple.md new file mode 100644 index 0000000000..2b617a8375 --- /dev/null +++ b/mcstas-comps/optics/FZP_simple.md @@ -0,0 +1,47 @@ +# The `FZP_simple` Component + +*McStas: Fresnel zone-plate as a thin object approximation.* + +## Identification + +- **Site:** +- **Author:** A Komar Ravn, and Erik B Knudsen +- **Origin:** NBI/DTU +- **Date:** Aug, 2015 + +## Description + +```text +A simple phenomenological thin-object approximation of a Fresnel Zone Plate. +This component was adapted for neutrons from the original component +written for helium scattering. +The focal length of the Zone Plate is determined by the formula: +\[f = 2*r*dr/(lambda)\] +If a diffraction order other than 1 is wanted the focal distance is scaled accordingly. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **rad** | m | Radius of the zone-plate. | | +| **dr** | m | Width of the outermost ring-slit. | | +| bs0rad | m | Radius of the central blocking zone. | 0 | +| order | m | Use this diffaction order. | 1 | +| eta | | Efficiency of the FZP. For neutrons and (order==1) typically {5...30}%. Overrides the sigma_x cross sections. | 0.1 | +| sigma_abs | barn | 2200 m/s absorption cross section. | 0 | +| sigma_inc | barn | Incoherent scattering cross section. | 0 | +| sigma_coh | barn | Coherent scattering cross section. | 0 | +| rho | g/cm3 | Density of Zone plate material - used merely for absorption estimation. | 1 | +| thickness | m | Thickness of the FZP. Note that the FZP still is modelled as a thin object. The thickness is used in conjunction with the sigma_x cross sections. | 0 | +| gamma | | Duty cycle of the Zone plate - used merely for absorption estimation. | 0.5 | + +## Links + +- [Source code](FZP_simple.comp) for `FZP_simple.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/FermiChopper.md b/mcstas-comps/optics/FermiChopper.md new file mode 100644 index 0000000000..4ab75598db --- /dev/null +++ b/mcstas-comps/optics/FermiChopper.md @@ -0,0 +1,69 @@ +# The `FermiChopper` Component + +*McStas: Fermi Chopper with rotating frame.* + +## Identification + +- **Site:** +- **Author:** M. Poehlmann, C. Carbogno, H. Schober, E. Farhi +- **Origin:** ILL Grenoble / TU Muenchen +- **Date:** May 2002 + +## Description + +```text +Models a fermi chopper with optional supermirror coated blades +supermirror facilities may be disabled by setting m = 0, R0=0 +Slit packages are straight. Chopper slits are separated by an infinitely +thin absorbing material. The effective transmission (resulting from fraction +of the transparent material and its transmission) may be specified. +The chopper slit package width may be specified through the total width 'xwidth' +of the full package or the width 'w' of each single slit. The other parameter +is calculated by: xwidth = nslit*w. The slit package may be made curved and use +super-mirror coating. + +Example: +FermiChopper(phase=-50.0, radius=0.04, nu=100, yheight=0.08, w=0.00022475, nslit=200.0, R0=0.0, Qc=0.02176, alpha=2.33, m=0.0, length=0.012, eff=0.95) + +%VALIDATION +Apr 2005: extensive external test, most problems solved (cf. 'Bugs') +Validated by: K. Lieutenant, E. Farhi + +limitations: +no absorbing blade width used +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| phase | deg | chopper phase at t=0 | 0 | +| radius | m | chopper cylinder radius | 0.04 | +| nu | Hz | chopper frequency. Omega=2*PI*nu in rad/s, nu*60 in rpm. Positive value corresponds to a counter-clockwise rotation around y. | 100 | +| w | m | width of one chopper slit | 0.00022475 | +| nslit | 1 | number of chopper slits | 200 | +| R0 | 1 | low-angle reflectivity | 0.0 | +| Qc | AA-1 | critical scattering vector | 0.02176 | +| alpha | AA | slope of reflectivity | 2.33 | +| m | 1 | m-value of material. Zero means completely absorbing. | 0.0 | +| W | AA-1 | width of supermirror cut-off | 2e-3 | +| length | m | channel length of the Fermi chopper | 0.012 | +| eff | 1 | efficiency = transmission x fraction of transparent material | 0.95 | +| zero_time | 1 | set time to zero: 0=no, 1=once per half cycle, 2=auto adjust phase | 0 | +| xwidth | m | optional total width of slit package | 0 | +| verbose | 1 | set to 1,2 or 3 gives debugging information | 0 | +| yheight | m | height of slit package | 0.08 | +| curvature | m-1 | Curvature of slits (1/radius of curvature). | 0 | +| delay | s | sets phase so that transmision is centered on 'delay' | 0 | + +## Links + +- [Source code](FermiChopper.comp) for `FermiChopper.comp`. +- Vitess_ChopperFermi component by +- G. Zsigmond, imported from Vitess by K. Lieutenant. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Filter_gen.md b/mcstas-comps/optics/Filter_gen.md new file mode 100644 index 0000000000..cd3fc08df6 --- /dev/null +++ b/mcstas-comps/optics/Filter_gen.md @@ -0,0 +1,81 @@ +# The `Filter_gen` Component + +*McStas: Release: McStas 1.6 + +This components may either set the flux or change it (filter-like), using +an external data filename.* + +## Identification + +- **Site:** +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** Dec, 15th, 2002 + +## Description + +```text +This component changes the neutron flux (weight) in order to match +a reference table in a filename. +Typically you may set the neutron flux (source-like), or multiply it +using a transmission table (filter-like). +The component may be placed after a source, in order to e.g. +simulate a real source from a reference table, or used as a filter (BeO) +or as a window (Al). The behaviour of the component is +specified using the 'options' parameter, or from the filename itself (see below) +If the thickness for the transmission data filename D was t0, and a different +thickness t1 would be required, then the resulting transmission is: +D^(t1/t0). +You may use the 'thickness' and 'scaling' parameter for that purpose. + +File format: +This filename may be of any 2-columns free format (k[Angs-1],p), (omega[meV],p) +and (lambda[Angs],p) where p is the weight. The type of the filename may be +written explicitely in the filename, as a comment, or using the 'options' +parameter. +Non mumerical content in filename is treated as comment (e.g. lines starting +with '#' character). +A table rebinning and linear interpolation are performed. + +EXAMPLE : in order to simulate a PG filter, using the lib/data/HOPG.trm file +Filter_gen(xwidth=.1 yheight=.1, filename="HOPG.trm") +A Sapphire filter, using the lib/data/Al2O3_sapphire.trm file +Filter_gen(xwidth=.1 yheight=.1, filename="Al2O3_sapphire.trm") +A Berylium filter, using the lib/data/Be.trm file +Filter_gen(xwidth=.1 yheight=.1, filename="Be.trm") +an other possibility to simulate a Be filter is to use the PowderN component: +PowderN(xwidth=.1, yheight=.1, zdepth=.1, reflections="Be.laz", p_inc=1e-4) + +in this filename, the comment line +# wavevector multiply +sets the behaviour of the component. One may as well have used +options="wavevector multiply" +in the component instance parameters. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | name of the filename to look at (first two columns data). Data D should rather be sorted (ascending order) and monotonic filename may contain options (see below) as comment | 0 | +| options | str | string that can contain: "[ k p ]" or "wavevector" for filename type, "[ omega p]" or "energy", "[ lambda p ]" or "wavelength", "set" to set the weight according to the table,"multiply" to multiply (instead of set) the weight by factor,"add" to add to current flux,"verbose" to display additional informations. | 0 | +| xmin | m | dimension of filter | -0.05 | +| xmax | m | dimension of filter | 0.05 | +| ymin | m | dimension of filter | -0.05 | +| ymax | m | dimension of filter | 0.05 | +| xwidth | m | Width/diameter of filter). Overrides xmin,xmax. | 0 | +| yheight | m | Height of filter. Overrides ymin,ymax. | 0 | +| thickness | 1 | relative thickness. D = D^(thickness). | 1 | +| scaling | 1 | scaling factor. D = D*scaling. | 1 | +| verbose | 1 | Flag to select verbose output. | 0 | + +## Links + +- [Source code](Filter_gen.comp) for `Filter_gen.comp`. +- HOPG.trm filename as an example. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Guide.md b/mcstas-comps/optics/Guide.md new file mode 100644 index 0000000000..04b69c8f29 --- /dev/null +++ b/mcstas-comps/optics/Guide.md @@ -0,0 +1,57 @@ +# The `Guide` Component + +*McStas: Neutron guide.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** September 2 1998 + +## Description + +```text +Models a rectangular guide tube centered on the Z axis. The entrance lies +in the X-Y plane. +For details on the geometry calculation see the description in the McStas +reference manual. +The reflectivity profile may either use an analytical mode (see Component +Manual) or a 2-columns reflectivity free text file with format +[q(Angs-1) R(0-1)]. + +Example: Guide(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=2.0, R0=0.99, Qc=0.021, alpha=6.07, m=2, W=0.003 + +%VALIDATION +May 2005: extensive internal test, no bugs found +Validated by: K. Lieutenant + +%BUGS +This component does not work with gravitation on. Use component Guide_gravity then. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflect | str | Reflectivity file name. Format | 0 | +| **w1** | m | Width at the guide entry | | +| **h1** | m | Height at the guide entry | | +| w2 | m | Width at the guide exit | 0 | +| h2 | m | Height at the guide exit | 0 | +| **l** | m | length of guide | | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.0219 | +| alpha | AA | Slope of reflectivity | 6.07 | +| m | 1 | m-value of material. Zero means completely absorbing. glass/SiO2 Si Ni Ni58 supermirror Be Diamond m= 0.65 0.47 1 1.18 2-6 1.01 1.12 | 2 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | + +## Links + +- [Source code](Guide.comp) for `Guide.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Guide_anyshape.md b/mcstas-comps/optics/Guide_anyshape.md new file mode 100644 index 0000000000..5655e5ceac --- /dev/null +++ b/mcstas-comps/optics/Guide_anyshape.md @@ -0,0 +1,66 @@ +# The `Guide_anyshape` Component + +*McStas: Reflecting surface (guide and mirror) with any shape, defined from an OFF file.* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi +- **Origin:** ILL +- **Date:** August 4th 2010 + +## Description + +```text +This is a reflecting object component. Its shape is defined from an OFF file, +given with its file name. The object size is set as given from the file, where +dimensions should be in meters. The bounding box may be re-scaled by specifying +xwidth,yheight,zdepth parameters. The object may optionally be centered when +using 'center=1'. + +The reflectivity is specified either from the usual parametric description +R0,Qc,alpha,W,m, or from a reflectivity file 'reflect' with a 2 column +format [q(Angs-1) R(0-1)]. + +The complex OFF/PLY geometry option handles any closed non-convex polyhedra. +It supports the OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. +PLY geometry files are also supported. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Redimension the object bounding box on X axis is non-zero | 0 | +| yheight | m | Redimension the object bounding box on Y axis is non-zero | 0 | +| zdepth | m | Redimension the object bounding box on Z axis is non-zero | 0 | +| center | 1 | When set to 1, the object will be centered w.r.t. the local coordinate frame | 0 | +| transmit | 1 | When true, non reflected neutrons are transmitted through the surfaces, instead of being absorbed. No material absorption is taken into account though | 0 | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.0219 | +| alpha | AA | Slope of reflectivity | 3 | +| m | 1 | m-value of material. Zero means completely absorbing. | 2 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | +| reflect | q(Angs-1) R(0-1) | (str) Reflectivity file name. Format | 0 | +| geometry | str | Name of the OFF/PLY file describing the guide geometry | 0 | + +## Links + +- [Source code](Guide_anyshape.comp) for `Guide_anyshape.comp`. +- Geomview and Object File Format (OFF) +- Java version of Geomview (display only) jroff.jar +- qhull +- powercrust + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Guide_channeled.md b/mcstas-comps/optics/Guide_channeled.md new file mode 100644 index 0000000000..b4e04d81a8 --- /dev/null +++ b/mcstas-comps/optics/Guide_channeled.md @@ -0,0 +1,69 @@ +# The `Guide_channeled` Component + +*McStas: Neutron guide with channels (bender section).* + +## Identification + +- **Site:** +- **Author:** Christian Nielsen +- **Origin:** Risoe +- **Date:** 1999 + +## Description + +```text +Models a rectangular guide tube centered on the Z axis. The entrance lies +in the X-Y plane. +The guide may be tapered, and may have vertical subdivisions (used for +bender devices). + +There is a special rotating mode in order to approximate a Fermi Chopper +behaviour, in the case the neutron trajectory is nearly linear inside the +chopper slits, i.e. the neutrons are fast w/r/ to the chopper speed. +Slits are straight, but may be super-mirror coated. In this case, the +component is NOT centered, but located at its entry window. It should then +be shifted by -l/2. + +Example: Guide_channeled(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=2.0, +R0=0.99, Qcx=0.0219, Qcy=0.0219, alphax=6.07, alphay=6.07, W=0.003, nslit=1, +d=0.0005, mx=1, my=1) + +%BUGS +This component does not work with gravitation on. Use Guide_gravity. +This component does not work in multichannel focusing geometry. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **w1** | m | Width at the guide entry | | +| **h1** | m | Height at the guide entry | | +| w2 | m | Width at the guide exit | 0 | +| h2 | m | Height at the guide exit | 0 | +| **l** | m | Length of guide | | +| R0 | 1 | Low-angle reflectivity | 0.995 | +| Qc | AA-1 | Critical scattering vector | 0 | +| alpha | AA | Slope of reflectivity | 0 | +| m | 1 | m-value of material. Zero means completely absorbing. | 0 | +| nslit | 1 | Number of channels in the guide (>= 1) | 1 | +| d | m | Thickness of subdividing absorbing walls | 0.0005 | +| Qcx | AA-1 | Critical scattering vector for left and right vertical mirrors in each channel | 0.0218 | +| Qcy | AA-1 | Critical scattering vector for top and bottom mirrors | 0.0218 | +| alphax | AA | Slope of reflectivity for left and right vertical mirrors in each channel | 4.38 | +| alphay | AA | Slope of reflectivity for top and bottom mirrors | 4.38 | +| W | AA-1 | Width of supermirror cut-off for all mirrors | 0.003 | +| mx | 1 | m-value of material for left and right vertical mirrors in each channel. Zero means completely absorbing. | 1 | +| my | 1 | m-value of material for top and bottom mirrors. Zero means completely absorbing. | 1 | +| nu | Hz | Rotation frequency (round/s) for Fermi Chopper approximation | 0 | +| phase | deg | Phase shift for the Fermi Chopper approximation | 0 | + +## Links + +- [Source code](Guide_channeled.comp) for `Guide_channeled.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Guide_gravity.md b/mcstas-comps/optics/Guide_gravity.md new file mode 100644 index 0000000000..4d6a7021b4 --- /dev/null +++ b/mcstas-comps/optics/Guide_gravity.md @@ -0,0 +1,96 @@ +# The `Guide_gravity` Component + +*McStas: Neutron straight guide with gravity. Can be channeled and focusing. +Waviness may be specified, as well as side chamfers (on substrate).* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France). +- **Date:** Aug 03 2001 + +## Description + +```text +Models a rectangular straight guide tube centered on the Z axis, with +gravitation handling. The entrance lies in the X-Y plane. +The guide can be channeled (nslit,d,nhslit parameters). The guide coating +specifications may be entered via different ways (global, or for +each wall m-value). + +Waviness (random) may be specified either globally or for each mirror type. +Side chamfers (due to substrate processing) may be specified the same way. +In order to model a realistic straight guide assembly, a long guide of +length 'l' may be splitted into 'nelements' between which chamfers/gaps are +positioned. + +The reflectivity may be specified either using an analytical mode (see +Component manual) or as a text file in free format, with 1st +column as q[Angs-1] and 2nd column as the reflectivity R in [0-1]. +For details on the geometry calculation see the description in the McStas +component manual. + +There is a special rotating mode in order to approximate a Fermi Chopper +behaviour, in the case the neutron trajectory is nearly linear inside the +chopper slits, i.e. the neutrons are fast w/r/ to the chopper speed. +Slits are straight, but may be super-mirror coated. In this case, the +component is NOT centered, but located at its entry window. It should then +be shifted by -l/2. + +Example: Guide_gravity(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=12, +R0=0.99, Qc=0.0219, alpha=6.07, m=1.0, W=0.003) + +%VALIDATION +May 2005: extensive internal test, all problems solved +Validated by: nslit. Lieutenant +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **w1** | m | Width at the guide entry | | +| **h1** | m | Height at the guide entry | | +| w2 | m | Width at the guide exit. If 0, use w1. | 0 | +| h2 | m | Height at the guide exit. If 0, use h1. | 0 | +| **l** | m | length of guide | | +| R0 | 1 | Low-angle reflectivity | 0.995 | +| Qc | AA-1 | Critical scattering vector | 0.0218 | +| alpha | AA | Slope of reflectivity | 4.38 | +| m | 1 | m-value of material. Zero means completely absorbing. m=0.65 glass/SiO2 Si Ni Ni58 supermirror Be Diamond m= 0.65 0.47 1 1.18 2-6 1.01 1.12 for glass/SiO2, m=1 for Ni, 1.2 for Ni58, m=2-6 for supermirror. m=0.47 for Si | 1.0 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | +| nslit | 1 | Number of vertical channels in the guide (>= 1) (nslit-1 vertical dividing walls). | 1 | +| d | m | Thickness of subdividing walls | 0.0005 | +| mleft | 1 | m-value of material for left. vert. mirror | -1 | +| mright | 1 | m-value of material for right. vert. mirror | -1 | +| mtop | 1 | m-value of material for top. horz. mirror | -1 | +| mbottom | 1 | m-value of material for bottom. horz. mirror | -1 | +| nhslit | 1 | Number of horizontal channels in the guide (>= 1). (nhslit-1 horizontal dividing walls). this enables to have nslit*nhslit rectangular channels | 1 | +| G | m/s2 | Gravitation norm. 0 value disables G effects. | 0 | +| aleft | 1 | alpha-value of left vert. mirror | -1 | +| aright | 1 | alpha-value of right vert. mirror | -1 | +| atop | 1 | alpha-value of top horz. mirror | -1 | +| abottom | 1 | alpha-value of left horz. mirror | -1 | +| wavy | deg | Global guide waviness | 0 | +| wavy_z | deg | Partial waviness along propagation axis | 0 | +| wavy_tb | deg | Partial waviness in transverse direction for top/bottom mirrors | 0 | +| wavy_lr | deg | Partial waviness in transverse direction for left/right mirrors | 0 | +| chamfers | m | Global chamfers specifications (in/out/mirror sides). | 0 | +| chamfers_z | m | Input and output chamfers | 0 | +| chamfers_lr | m | Chamfers on left/right mirror sides | 0 | +| chamfers_tb | m | Chamfers on top/bottom mirror sides | 0 | +| nelements | 1 | Number of sections in the guide (length l/nelements). | 1 | +| nu | Hz | Rotation frequency (round/s) for Fermi Chopper approximation | 0 | +| phase | deg | Phase shift for the Fermi Chopper approximation | 0 | +| reflect | str | Reflectivity file name. Format | "NULL" | + +## Links + +- [Source code](Guide_gravity.comp) for `Guide_gravity.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Guide_simple.md b/mcstas-comps/optics/Guide_simple.md new file mode 100644 index 0000000000..df04d8b41e --- /dev/null +++ b/mcstas-comps/optics/Guide_simple.md @@ -0,0 +1,56 @@ +# The `Guide_simple` Component + +*McStas: Neutron guide.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** September 2 1998 + +## Description + +```text +Models a rectangular guide tube centered on the Z axis. The entrance lies +in the X-Y plane. +For details on the geometry calculation see the description in the McStas +reference manual. +The reflectivity profile may either use an analytical mode (see Component +Manual) or a 2-columns reflectivity free text file with format +[q(Angs-1) R(0-1)]. + +Example: Guide(w1=0.1, h1=0.1, w2=0.1, h2=0.1, l=2.0, R0=0.99, Qc=0.021, alpha=6.07, m=2, W=0.003 + +%VALIDATION +May 2005: extensive internal test, no bugs found +Validated by: K. Lieutenant + +%BUGS +This component does not work with gravitation on. Use component Guide_gravity then. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **w1** | m | Width at the guide entry | | +| **h1** | m | Height at the guide entry | | +| w2 | m | Width at the guide exit | 0 | +| h2 | m | Height at the guide exit | 0 | +| **l** | m | length of guide | | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.0219 | +| alpha | AA | Slope of reflectivity | 6.07 | +| m | 1 | m-value of material. Zero means completely absorbing. glass/SiO2 Si Ni Ni58 supermirror Be Diamond m= 0.65 0.47 1 1.18 2-6 1.01 1.12 | 2 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | + +## Links + +- [Source code](Guide_simple.comp) for `Guide_simple.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Guide_tapering.md b/mcstas-comps/optics/Guide_tapering.md new file mode 100644 index 0000000000..5427d3030c --- /dev/null +++ b/mcstas-comps/optics/Guide_tapering.md @@ -0,0 +1,84 @@ +# The `Guide_tapering` Component + +*McStas: Models a rectangular tapered guide (many shapes)* + +## Identification + +- **Site:** +- **Author:** Uwe Filges +- **Origin:** PSI +- **Date:** 22/10/2003 + +## Description + +```text +Models a rectangular guide tube centered on the Z axis. The entrance lies +in the X-Y plane. +The guide may be tapered. + +The component includes a feature to read in self-defined functions for +guide tapering. Under the parameter 'option' the KEYWORD 'file=' offers +the possibility to read in parameters from an ASC-file. The file structure +is shown below in the example. It is important to know that the first +3 lines will be interpreted as comments. +Afterwards the dimension of each guide segment must be defined. The +length of each segment is constant l(i)=l/segments . The number of +segments is defined through the number of lines minus the first 3 +lines taken from the Input-File. +The guide can be made curved both horizontally and vertically (not shown in 3d +view), and m-coating, when set negative, is varied in 1/width. + +Example Input-File: + +c Guide_tapering.comp +c i = 0 - 199 segments +c h1(i) h2(i) w1(i) w2(i) +0.120000 0.119850 0.020000 0.020000 +0.119850 0.119700 0.020000 0.020000 +0.119700 0.119550 0.020000 0.020000 +0.119550 0.119400 0.020000 0.020000 +0.119400 0.119250 0.020000 0.020000 +0.119250 0.119100 0.020000 0.020000 +... + +Example1: Guide_tapering(w1=0.1, h1=0.18, linw=0.1, loutw=0.1, linh=0.1, louth=0.1, l=1.5, option="elliptical", R0=0.99, Qcx=0.021, Qcy=0.021, alphax=6.07, alphay=6.07, W=0.003, mx=1, my=1, segno=800) + +Example2: Guide_tapering(w1=0, h1=0, linw=0, loutw=0, linh=0, louth=0, l=1.5, option="file=ownfunction.txt", R0=0.99, Qcx=0.021, Qcy=0.021, alphax=6.07, alphay=6.07, W=0.003, mx=1, my=1) + +%BUGS +This component does not work with gravitation on. Use component Guide_gravity then. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| option | str | define the input function for the curve of the guide walls options are: "elliptical" - define elliptical function of guide walls "parabolical" - define parabolical function of guide walls "straight" - define a straight elements guide"file=[filename]" - read in ASC-file with arbitrary definition for the curve of the guide walls | 0 | +| w1 | m | Width at the guide entry | 0 | +| h1 | m | Height at the guide entry | 0 | +| **l** | m | length of guide | | +| linw | m | distance from 1st focal point to real guide entry - left and right horizontal mirrors | 0 | +| loutw | m | distance from real guide exit to 2nd focal point - left and right horizontal mirrors | 0 | +| linh | m | distance from 1st focal point to real guide entry - top and bottom vertical mirrors | 0 | +| louth | m | distance from real guide exit to 2nd focal point - top and bottom vertical mirrors | 0 | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| Qcx | AA-1 | Critical scattering vector for left and right vertical mirrors in each channel | 0.021 | +| Qcy | AA-1 | Critical scattering vector for top and bottom mirrors | 0.021 | +| alphax | AA | Slope of reflectivity for left and right vertical mirrors in each channel | 6.07 | +| alphay | AA | Slope of reflectivity for top and bottom mirrors | 6.07 | +| W | AA-1 | Width of supermirror cut-off for all mirrors | 0.003 | +| mx | 1 | m-value of material for left and right vertical mirrors in each channel. Zero means completely absorbing. Negative value will adapt coating as e.g. m=mx*w1/w | 1 | +| my | 1 | m-value of material for top and bottom mirrors. Zero means completely absorbing. Negative value will adapt coating as e.g. m=my*h1/h | 1 | +| segno | 1 | number of segments (z-axis) for cutting the tube | 800 | +| curvature | m | guide horizontal radius of curvature. Zero means straight. | 0 | +| curvature_v | m | guide vertical radius of curvature. Zero means straight. | 0 | + +## Links + +- [Source code](Guide_tapering.comp) for `Guide_tapering.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Guide_wavy.md b/mcstas-comps/optics/Guide_wavy.md new file mode 100644 index 0000000000..5879cbf6bf --- /dev/null +++ b/mcstas-comps/optics/Guide_wavy.md @@ -0,0 +1,63 @@ +# The `Guide_wavy` Component + +*McStas: Neutron guide with gaussian waviness.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** + +## Description + +```text +Models a rectangular guide tube centered on the Z axis. The entrance lies +in the X-Y plane. +For details on the geometry calculation see the description in the McStas +reference manual. + +Example: m=2 Qc=0.0218 (nat. Ni) W=1/300 alpha=4.38 R0=0.995 (given by Daniel Clemens, PSI) + +%BUGS +This component does not work with gravitation on. Use component Guide_gravity then. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **w1** | m | Width at the guide entry | | +| **h1** | m | Height at the guide entry | | +| w2 | m | Width at the guide exit | 0 | +| h2 | m | Height at the guide exit | 0 | +| **l** | m | length of guide | | +| R0 | 1 | Low-angle reflectivity | 0.995 | +| Qc | AA-1 | Critical scattering vector | 0.0218 | +| alpha | AA | Slope of reflectivity | 0 | +| m | 1 | m-value of material. Zero means completely absorbing. | 0 | +| W | AA-1 | Width of supermirror cut-off for all mirrors | 0 | +| alpha1 | AA | Slope of reflectivity left | 4.38 | +| m1 | 1 | m-value of material, left | 2 | +| W1 | AA-1 | Width of supermirror cut-off left | 0.003 | +| alpha2 | AA | Slope of reflectivity right | 4.38 | +| m2 | 1 | m-value of material, right. | 2 | +| W2 | AA-1 | Width of supermirror cut-off right | 0.003 | +| alpha3 | AA | Slope of reflectivity top | 4.38 | +| m3 | 1 | m-value of material, top. | 2 | +| W3 | AA-1 | Width of supermirror cut-off top | 0.003 | +| alpha4 | AA | Slope of reflectivity bottom | 4.38 | +| m4 | 1 | m-value of material, bottom. | 2 | +| W4 | AA-1 | Width of supermirror cut-off bottom | 0.003 | +| wavy_z | deg | Waviness in the z-(flight-)direction | 0 | +| wavy_xy | deg | Waviness in the transverse direction | 0 | + +## Links + +- [Source code](Guide_wavy.comp) for `Guide_wavy.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/He3_cell.md b/mcstas-comps/optics/He3_cell.md new file mode 100644 index 0000000000..78a128583e --- /dev/null +++ b/mcstas-comps/optics/He3_cell.md @@ -0,0 +1,49 @@ +# The `He3_cell` Component + +*McStas: version: $Revision$ + +Polarised 3He cell* + +## Identification + +- **Site:** +- **Author:** Trefor Roberts & Erik B Knudsen +- **Origin:** ILL/DTU Physics +- **Date:** March 1999 + +## Description + +```text +Simple polarised 3He neutron spin filter cell, defaults to a cylindrical geometry but may be +used with a sphere or box geometry also. +The glass container for the cell is not included in the model. + +This component has been validated against: +Batz, M, Baessler, S, Heil, W, et al., J Res Natl Inst Stand Technol. 2005;110(3):293–298. + +Example: He3_cell(radius=0.1,length=.2,pressure=3,p3he=0.7,bx=0,by=1e-3,bz=0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | width of box geometry | 0 | +| yheight | m | height of the box geometry | 0 | +| radius | m | radius of the cylinder / sphere geometry | 0.11 | +| length | m | length of the cylinder / box geometry along z | 0.01 | +| pressure | bar | pressure of the gas in the cell | 3 | +| p3he | | polarisation of the 3He gas [-1 to +1] | 0.7 | +| bx | tesla | x component of field at the cell | 0 | +| by | tesla | y component of field at the cell | 1e-3 | +| bz | tesla | z component of field at the cell | 0 | + +## Links + +- [Source code](He3_cell.comp) for `He3_cell.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Mask.md b/mcstas-comps/optics/Mask.md new file mode 100644 index 0000000000..111005a944 --- /dev/null +++ b/mcstas-comps/optics/Mask.md @@ -0,0 +1,56 @@ +# The `Mask` Component + +*McStas: A masking image object* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** DTU Physics +- **Date:** March 2014 + +## Description + +```text +The Mask component takes an image as input either as an standard image file in png or pnm format, or as an ascii file (see below for format), +and uses the image as a mask. For instance as a manner of measuring resolution for imaging applications. +If the image is supplied as a png or pnm file, they interpretation of the pixels varies depending on the file. If the image is grayscale the pixel values are directly mapped +to opacity (or transparency if invert is set) values in the range [0..1]. If the image has RGB channels the R channel is considered most significant, the B channel least significant. +The resulting number, e.g. R*255^2 + G*255 + B, is then mapped to a real valued opacity. +Additionally png images may have an alpha channel - which is then considered the least significant channel. Palette mapped pngs are as of yet _not_ supported. +A regular ascii file may be supplied - in which case the file is like the one below +#any initial line starting with a hash is silently ignored +0.0 1.0 0.0 1.0 0.0 +0.5 0.0 0.5 0.0 0.5 +0.0 0.25 0.0 0.25 0.0 +0.75 0.0 0.75 0.0 0.75 +1.0 0.0 1.0 0.0 1.0 + +...which defines a 5x5 mask with a kind of checkerboard pattern- + +N.b. If you want to use the png-option of the component you must have libpng installed _and_ link your compiled instrument to it. Assuming libpng is installed you may do this +by adding "-DUSE_PNG=1 -lpng" to 1) the MCXTRACE_CFLAGS environment variable or 2) to the compiler flags textbox in the GUI. Open File->Configuration and edit the textbox. + +The virtual option of the Mask, is intended as a help to use a png-image as a grayscale distribution. If the virtual flag is set, rays are porpagated to the mask plane +and the pixel value at the intersection point is read, but the rays reamin unaffected. By extracting the output parameter masking it can subsequently be used. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **xwidth** | m | Width of the masking object | | +| **yheight** | m | Height of the masking object | | +| **mask** | | Name of file containing the masking image | | +| invert | | By default the values from the masking image are interepreted as opacity (1 is fully blocking). If invert is nonzero this is inverted and the values are considered as transparency (1 is fully transmissive) | 0 | +| virtual | | Mask does not affect the neutron, but does read the pixel value of the pixel hit. Could be useful to have as a packing factor for a crystal . | 0 | + +## Links + +- [Source code](Mask.comp) for `Mask.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Mirror.md b/mcstas-comps/optics/Mirror.md new file mode 100644 index 0000000000..24a875fde4 --- /dev/null +++ b/mcstas-comps/optics/Mirror.md @@ -0,0 +1,55 @@ +# The `Mirror` Component + +*McStas: Single mirror plate.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** August 1998 + +## Description + +```text +Single mirror plate (used to build guides in compound components). +The component Mirror models a single rectangular neutron mirror plate. +It can be used as a sample component or to e.g. assemble a complete neutron +guide by putting multiple mirror components at appropriate locations and +orientations in the instrument definition, much like a real guide is build +from individual mirrors. +Additionally, it may be centered in order to be used as a sample or +monochromator plate, else it starts from AT position. +Reflectivity is either defined by an analytical model (see Component Manual) +or from a two-columns file with q [Angs-1] as first and R [0-1] as second. +In the local coordinate system, the mirror lies in the first quadrant of the +x-y plane, with one corner at (0, 0, 0). Plane is thus perpendicular to the +incoming beam, and should usually be rotated. + +Example: Mirror(xwidth=.1, yheight=.1,R0=0.99,Qc=0.021,alpha=6.1,m=2,W=0.003) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflect | str | Name of reflectivity file. Format q(Angs-1) R(0-1) | 0 | +| **xwidth** | m | width of mirror plate | | +| **yheight** | m | height of mirror plate | | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.021 | +| alpha | AA | Slope of reflectivity | 6.07 | +| m | 1 | m-value of material. Zero means completely absorbing. | 2 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | +| center | 1 | if true (1), the Mirror is centered arount AT position. | 0 | +| transmit | 1 | When true, non reflected neutrons are transmitted through the mirror, instead of being absorbed. | 0 | + +## Links + +- [Source code](Mirror.comp) for `Mirror.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Monochromator_curved.md b/mcstas-comps/optics/Monochromator_curved.md new file mode 100644 index 0000000000..281749d99b --- /dev/null +++ b/mcstas-comps/optics/Monochromator_curved.md @@ -0,0 +1,87 @@ +# The `Monochromator_curved` Component + +*McStas: Double bent multiple crystal slabs with anisotropic gaussian mosaic.* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi, Kim, Lefmann, Peter Link +- **Origin:** ILL +- **Date:** Aug. 24th 2001 + +## Description + +```text +Double bent infinitely thin mosaic crystal, useful as a monochromator or +analyzer. which uses a small-mosaicity approximation and taking into account +higher order scattering. The mosaic is anisotropic gaussian, with different +FWHMs in the Y and Z directions. The scattering vector is perpendicular to the +surface. For an unrotated monochromator component, the crystal plane lies in +the y-z plane (ie. parallel to the beam). The component works in reflection, but +also transmits the non-diffracted beam. Reflectivity and transmission files may +be used. The slabs are positioned in the vertical plane (not on a +cylinder/sphere), and are rotated according to the curvature radius. +When curvatures are set to 0, the monochromator is flat. +The curvatures approximation for parallel beam focusing to distance L, with +monochromator rotation angle A1 are: +RV = 2*L*sin(DEG2RAD*A1); +RH = 2*L/sin(DEG2RAD*A1); + +When you rotate the component by A1 = asin(Q/2/Ki)*RAD2DEG, do not forget to +rotate the following components by A2=2*A1 (for 1st order) ! + +Example: Monochromator_curved(zwidth=0.01, yheight=0.01, gap=0.0005, NH=11, NV=11, mosaich=30.0, mosaicv=30.0, r0=0.7, Q=1.8734) + +Monochromator lattice parameter +PG 002 DM=3.355 AA (Highly Oriented Pyrolythic Graphite) +PG 004 DM=1.677 AA +Heusler 111 DM=3.362 AA (Cu2MnAl) +CoFe DM=1.771 AA (Co0.92Fe0.08) +Ge 111 DM=3.266 AA +Ge 311 DM=1.714 AA +Ge 511 DM=1.089 AA +Ge 533 DM=0.863 AA +Si 111 DM=3.135 AA +Cu 111 DM=2.087 AA +Cu 002 DM=1.807 AA +Cu 220 DM=1.278 AA +Cu 111 DM=2.095 AA +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflect | str | reflectivity file name of text file as 2 columns [k, R] | "NULL" | +| transmit | str | transmission file name of text file as 2 columns [k, T] | "NULL" | +| zwidth | m | horizontal width of an individual slab | 0.01 | +| yheight | m | vertical height of an individual slab | 0.01 | +| gap | m | typical gap between adjacent slabs | 0.0005 | +| NH | int | number of slabs horizontal | 11 | +| NV | int | number of slabs vertical | 11 | +| mosaich | arc minutes | Horisontal mosaic FWHM | 30.0 | +| mosaicv | arc minutes | Vertical mosaic FWHM | 30.0 | +| r0 | 1 | Maximum reflectivity. O unactivates component | 0.7 | +| t0 | 1 | transmission efficiency | 1.0 | +| Q | AA-1 | Scattering vector | 1.8734 | +| RV | m | radius of vertical focussing. flat for 0 | 0 | +| RH | m | radius of horizontal focussing. flat for 0 | 0 | +| DM | AA | monochromator d-spacing instead of Q=2*pi/DM | 0 | +| mosaic | arc minutes | sets mosaich=mosaicv | 0 | +| width | m | total width of monochromator, along Z | 0 | +| height | m | total height of monochromator, along Y | 0 | +| verbose | 0/1 | verbosity level | 0 | +| order | 1 | specify the diffraction order, 1 is usually prefered. Use 0 for all | 0 | + +## Links + +- [Source code](Monochromator_curved.comp) for `Monochromator_curved.comp`. +- Additional note from Peter Link. +- Obsolete Mosaic_anisotropic by Kristian Nielsen +- Contributed Monochromator_2foc by Peter Link + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Monochromator_flat.md b/mcstas-comps/optics/Monochromator_flat.md new file mode 100644 index 0000000000..c66730d811 --- /dev/null +++ b/mcstas-comps/optics/Monochromator_flat.md @@ -0,0 +1,63 @@ +# The `Monochromator_flat` Component + +*McStas: Flat Monochromator crystal with anisotropic mosaic.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** 1999 + +## Description + +```text +Flat, infinitely thin mosaic crystal, useful as a monochromator or analyzer. +For an unrotated monochromator component, the crystal surface lies in the Y-Z +plane (ie. parallel to the beam). +The mosaic is anisotropic gaussian, with different FWHMs in the Y and Z +directions. The scattering vector is perpendicular to the surface. + +Example: Monochromator_flat(zmin=-0.1, zmax=0.1, ymin=-0.1, ymax=0.1, mosaich=30.0, mosaicv=30.0, r0=0.7, Q=1.8734) + +Monochromator lattice parameter +PG 002 DM=3.355 AA (Highly Oriented Pyrolythic Graphite) +PG 004 DM=1.677 AA +Heusler 111 DM=3.362 AA (Cu2MnAl) +CoFe DM=1.771 AA (Co0.92Fe0.08) +Ge 111 DM=3.266 AA +Ge 311 DM=1.714 AA +Ge 511 DM=1.089 AA +Ge 533 DM=0.863 AA +Si 111 DM=3.135 AA +Cu 111 DM=2.087 AA +Cu 002 DM=1.807 AA +Cu 220 DM=1.278 AA +Cu 111 DM=2.095 AA +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| zmin | m | Lower horizontal (z) bound of crystal | -0.05 | +| zmax | m | Upper horizontal (z) bound of crystal | 0.05 | +| ymin | m | Lower vertical (y) bound of crystal | -0.05 | +| ymax | m | Upper vertical (y) bound of crystal | 0.05 | +| zwidth | m | Width of crystal, instead of zmin and zmax | 0 | +| yheight | m | Height of crystal, instead of ymin and ymax | 0 | +| mosaich | arc minutes | Horizontal mosaic (in z direction) (FWHM) | 30.0 | +| mosaicv | arc minutes | Vertical mosaic (in y direction) (FWHM) | 30.0 | +| r0 | 1 | Maximum reflectivity | 0.7 | +| Q | 1/angstrom | Magnitude of scattering vector | 1.8734 | +| DM | AA | monochromator d-spacing, instead of Q = 2*pi/DM | 0 | + +## Links + +- [Source code](Monochromator_flat.comp) for `Monochromator_flat.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Monochromator_pol.md b/mcstas-comps/optics/Monochromator_pol.md new file mode 100644 index 0000000000..4bae0af16d --- /dev/null +++ b/mcstas-comps/optics/Monochromator_pol.md @@ -0,0 +1,88 @@ +# The `Monochromator_pol` Component + +*McStas: Flat polarizaing monochromator crystal.* + +## Identification + +- **Site:** +- **Author:** Peter Christiansen +- **Origin:** RISOE +- **Date:** 2006 + +## Description + +```text +Based on Monochromator_flat. +Flat, infinitely thin mosaic crystal, useful as a monochromator or analyzer. +For an unrotated monochromator component, the crystal surface lies in the Y-Z +plane (ie. parallel to the beam). +The mosaic and d-spread distributions are both Gaussian. +Neutrons are just reflected (billard ball like). No correction is done for +mosaicity of reflecting crystal. +The crystal is assumed to be a ferromagnet with spin pointing up +eta-tilde = (0, 1, 0) (along y-axis), so that the magnetic field is +pointing opposite (0, -|B|, 0). + +The polarisation is done by defining the reflectivity for spin up +(Rup) and spin down (Rdown) (which can be negative, see now!) and +based on this the nuclear and magnetic structure factors are +calculated: +FM = sign(Rup)*sqrt(|Rup|) + sign(Rdown)*sqrt(|Rdown|) +FN = sign(Rup)*sqrt(|Rup|) - sign(Rdown)*sqrt(|Rdown|) +and the physics is calculated as +Pol in = (sx_in, sy_in, sz_in) +Reflectivity R0 = FN*FN + 2*FN*FM*sy_in + FM*FM +(= |Rup| + |Rdown| (for sy_in=0)) +Pol out: +sx = (FN*FN - FM*FM)*sx_in/R0; +sy = ((FN*FN - FM*FM)*sy_in + 2*FN*FM + FM*FM*sy_in)/R0; +sz = (FN*FN - FM*FM)*sz_in/R0; + +These equations are taken from: +Lovesey: "Theory of neutron scattering from condensed matter, Volume +2", Eq. 10.96 and Eq. 10.110 + +This component works with gravity (uses PROP_X0). + +Example: Monochromator_pol(zwidth=0.2, yheight=0.2, mosaic=30.0, dspread=0.0025, Rup=1.0, Rdown=0.0, Q=1.8734) + +Monochromator lattice parameter +PG 002 DM=3.355 AA (Highly Oriented Pyrolythic Graphite) +PG 004 DM=1.677 AA +Heusler 111 DM=3.362 AA (Cu2MnAl) +CoFe DM=1.771 AA (Co0.92Fe0.08) +Ge 111 DM=3.266 AA +Ge 311 DM=1.714 AA +Ge 511 DM=1.089 AA +Ge 533 DM=0.863 AA +Si 111 DM=3.135 AA +Cu 111 DM=2.087 AA +Cu 002 DM=1.807 AA +Cu 220 DM=1.278 AA +Cu 111 DM=2.095 AA +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| zwidth | m | Width of crystal | 0.1 | +| yheight | m | Height of crystal | 0.1 | +| mosaic | | Mosaicity (FWHM) [arc minutes] | 30.0 | +| dspread | 1 | Relative d-spread (FWHM) | 0 | +| Q | AA-1 | Magnitude of scattering vector | 1.8734 | +| DM | AA | monochromator d-spacing instead of Q = 2*pi/DM | 0 | +| pThreshold | | if probability>pThreshold then accept and weight else random | 0 | +| Rup | 1 | Reflectivity of neutrons with polarization up | 1 | +| Rdown | 1 | Reflectivity of neutrons with polarization down | 1 | +| debug | | if debug > 0, print out some info about the calculations | 0 | + +## Links + +- [Source code](Monochromator_pol.comp) for `Monochromator_pol.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Place.md b/mcstas-comps/optics/Place.md new file mode 100644 index 0000000000..ee87c9e859 --- /dev/null +++ b/mcstas-comps/optics/Place.md @@ -0,0 +1,34 @@ +# The `Place` Component + +*McStas: A place in space - alias of Arm* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** June 2025 + +## Description + +```text +Just like Arm, Place does not actually do anything, it is just there to set +up a new coordinate system. + +Example: Place() +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Place.comp) for `Place.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/PolAnalyser_ideal.md b/mcstas-comps/optics/PolAnalyser_ideal.md new file mode 100644 index 0000000000..7b65eeb6f6 --- /dev/null +++ b/mcstas-comps/optics/PolAnalyser_ideal.md @@ -0,0 +1,38 @@ +# The `PolAnalyser_ideal` Component + +*McStas: (Unphysical) ideal analyzer.* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** June 2010 + +## Description + +```text +This is an ideal model of a polarization analyser device. Given a polarization vector +it "lets through" a scaled neutron weight. An imperfect analyzer could be modelled by an +analysis vector M with |M|<1. + +Example: PolAnalyser_ideal(mx=0, my=1, mz=0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| mx | 1 | X-component of polarisation analysis vector -1 xwidth +<------> xwidth/nslit (nslit=3) +<> d + +The reflection functions and parameters defaults as follows: +Bot defaults to Top, Left defaults to Top, Right defaults to left. +Down defaults to down and up defaults to up for all functions and +Top(Up and Down) defaults to StdReflecFunc and {0.99,0.0219,6.07,2.0,0.003} +which stands for {R0, Qc, alpha, m, W}. + +Example: +Pol_bender(xwidth = 0.08, yheight = 0.08, length = 1.0, radius= 10.0, +nslit=5, d=0.0, endFlat=0, drawOption=2, +rTopUpPar={0.99, 0.0219, 6.07, 3.0, 0.003}, +rTopDownPar={0.99, 0.0219, 6.07, 1.0, 0.003}) + +See also the example instruments Test_Pol_Bender and +Test_Pol_Bender_Vs_Guide_Curved (under tests). + +%BUGS +This component has been against tested Guide_curved and found to +give the same intensities. Gravity option has not been tested. + +GRAVITY: YES (when gravity is along y-axis) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **xwidth** | m | Width at the guide entry | | +| **yheight** | m | Height at the guide entry | | +| **length** | m | length of guide along center | | +| **radius** | m | Radius of curvature of the guide (+:curve left/-:right) | | +| G | m/s^2 | Gravitational constant | 9.8 | +| nslit | 1 | Number of slits | 1 | +| d | m | Width of spacers (subdividing absorbing walls) | 0.0 | +| debug | 1 | if debug > 0 print out some internal parameters | 0 | +| endFlat | 1 | If endflat>0 then entrance and exit planes are parallel. | 0 | +| rTopUpPar | 1 | Top mirror Parameters for spin up standard reflectivity function | {0.99,0.0219,6.07,2.0,0.003} | +| rTopDownPar | 1 | Top mirror Parameters for spin down standard reflectivity function | {0.99,0.0219,6.07,2.0,0.003} | +| rBotUpPar | 1 | Bottom mirror Parameters for spin up standard reflectivity function | {0.99,0.0219,6.07,2.0,0.003} | +| rBotDownPar | 1 | Bottom mirror Parameters for spin down standard reflectivity function | {0.99,0.0219,6.07,2.0,0.003} | +| rLeftUpPar | 1 | Left mirror Parameters for spin up standard reflectivity function | {0.99,0.0219,6.07,2.0,0.003} | +| rLeftDownPar | 1 | Left mirror Parameters for spin down standard reflectivity function | {0.99,0.0219,6.07,2.0,0.003} | +| rRightUpPar | 1 | Right mirror Parameters for spin up standard reflectivity function | {0.99,0.0219,6.07,2.0,0.003} | +| rRightDownPar | 1 | Right mirror Parameters for spin down standard reflectivity function | {0.99,0.0219,6.07,2.0,0.003} | +| rTopUpData | 1 | Reflectivity file for top mirror, spin up | "" | +| rTopDownData | 1 | Reflectivity file for top mirror, spin down | "" | +| rBotUpData | 1 | Reflectivity file for bottom mirror, spin up | "" | +| rBotDownData | 1 | Reflectivity file for bottom mirror, spin down | "" | +| rLeftUpData | 1 | Reflectivity file for left mirror, spin up | "" | +| rLeftDownData | 1 | Reflectivity file for left mirror, spin down | "" | +| rRightUpData | 1 | Reflectivity file for right mirror, spin up | "" | +| rRightDownData | 1 | Reflectivity file for right mirror, spin down | "" | + +## Links + +- [Source code](Pol_bender.comp) for `Pol_bender.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Pol_constBfield.md b/mcstas-comps/optics/Pol_constBfield.md new file mode 100644 index 0000000000..eb4ca2344a --- /dev/null +++ b/mcstas-comps/optics/Pol_constBfield.md @@ -0,0 +1,42 @@ +# The `Pol_constBfield` Component + +*McStas: Constant magnetic field.* + +## Identification + +- **Site:** +- **Author:** Peter Christiansen +- **Origin:** RISOE +- **Date:** July 2006 + +## Description + +```text +Rectangular box with constant B field along y-axis (up). The +component can be rotated to make either a guide field or a spin +flipper. A neutron hitting outside the box opening or the box sides +is absorbed. + +Example: Pol_constBfield(xwidth=0.1, yheight=0.1, zdepth=0.2, fliplambda=5.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **xwidth** | m | Width of opening | | +| **yheight** | m | Height of opening | | +| **zdepth** | m | Length of field | | +| B | Gauss | Magnetic field along y-direction | 0 | +| fliplambda | AA | lambda for calculating B field | 0 | +| flipangle | deg | Angle flipped for lambda = fliplambda fliplambda and flipangle overrides B so a neutron with s= (1, 0, 0) and v = (0, 0, v(fliplambda)) will have s =(cos(flipangle), sin(flipangle), 0) after the section. | 180 | + +## Links + +- [Source code](Pol_constBfield.comp) for `Pol_constBfield.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Pol_guide_mirror.md b/mcstas-comps/optics/Pol_guide_mirror.md new file mode 100644 index 0000000000..22a1e7f2d0 --- /dev/null +++ b/mcstas-comps/optics/Pol_guide_mirror.md @@ -0,0 +1,65 @@ +# The `Pol_guide_mirror` Component + +*McStas: Polarising guide with a supermirror along its diagonal.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** July 2018 + +## Description + +```text +Based on Pol_guide_vmirror by P. Christiansen. +Models a rectangular guide with entrance centered on the Z axis and +with one supermirror sitting on the diagonal inside. +The entrance lies in the X-Y plane. Draws a true depiction +of the guide with mirror and trajectories. +The polarisation is handled similar to in Monochromator_pol. +The reflec functions are handled similar to Pol_mirror. +The up direction is hardcoded to be along the y-axis (0, 1, 0) + +Note that this component can also be used as a frame overlap-mirror +if the up and down reflectivities are set equal. In this case the wall +reflectivity (rPar) should probably be set to 0. + +Reflectivity values can either come from datafiles or from +sets of parameters to the standard analytic reflectivity function commonly +used for neutron guides: +R=R0; q 0 print out some internal runtime parameters | 0 | +| allow_inside_start | 1 | Allow neutron to start inside cavity (no propagation to entry plane) | 0 | +| rPar | 1 | Cavity wall parameters array for rFunc, use with inputType = 0 | {1.0, 0.0217, 6.5, 2, 0.00157, 80} | +| rUpPar | 1 | Mirror Parameters array for rUpFunc, use with inputType = 0 | {1.0, 0.0217, 2.47, 4, 0.0014} | +| rDownPar | 1 | Mirror Parameters for rDownFunc, use with inputType = 0 | {1.0, 0.0217, 1, 0.65, 0.003} | +| rParFile | | Cavity wall parameters filename for rFunc, use with inputType = 1 | "" | +| rUpParFile | | Mirror Parameters filename for rUpFunc, use with inputType = 1 | "" | +| rDownParFile | | Mirror Parameters filename for rDownFunc, use with inputType = 1 | "" | + +## Links + +- [Source code](Pol_guide_vmirror.comp) for `Pol_guide_vmirror.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Pol_mirror.md b/mcstas-comps/optics/Pol_mirror.md new file mode 100644 index 0000000000..a8c734f6b4 --- /dev/null +++ b/mcstas-comps/optics/Pol_mirror.md @@ -0,0 +1,76 @@ +# The `Pol_mirror` Component + +*McStas: Polarising mirror.* + +## Identification + +- **Site:** +- **Author:** Peter Christiansen +- **Origin:** RISOE +- **Date:** July 2006 + +## Description + +```text +This component models a rectangular infinitely thin mirror. +For an unrotated component, the mirror surface lies in the Y-Z +plane (ie. parallel to the beam). +It relies on similar physics as the Monochromator_pol. +The reflectivity function (see e.g. share/ref-lib for examples) and parameters +are passed to this component to give a bigger freedom. +The up direction is hardcoded to be along the y-axis (0, 1, 0) +IMPORTANT: At present the component only works correctly for polarization along the up/down +direction and for completely unpolarized beams, i.e. sx=sy=sz=0 for all rays. + +For now we assume: +P(Transmit|Q) = 1 - P(Reflect|Q) +i.e. NO ABSORPTION! + + +The component can both reflect and transmit neutrons with a respective proportion +depending on the p_reflect parameter: +p_reflect=-1 Reflect and transmit (proportions given from reflectivity) [default] +p_reflect=1 Only handle reflected events +p_reflect=0 Only handle transmitted events (reduce weight) +p_reflect=0-1 Both transmit and reflect with fixed statistics proportions + +The parameters can either be +double pointer initializations (e.g. {R0, Qc, alpha, m, W}) +or table names (e.g."supermirror_m2.rfl" AND useTables=1). +NB! This might cause warnings by the compiler that can be ignored. + +Examples: +Reflection function parametrization +Pol_mirror(zwidth = 0.40, yheight = 0.40, rUpFunc=StdReflecFunc, rUpPar={1.0, 0.0219, 6.07, 2.0, 0.003}) + +Table function +Pol_mirror(zwidth = 0.40, yheight = 0.40, rUpFunc=TableReflecFunc, rUpPar="supermirror_m2.rfl", rDownFunc=TableReflecFunc, rDownPar="supermirror_m3.rfl", useTables=1) + +See also the example instrument Test_Pol_Mirror (under tests). + +GRAVITY: YES + +%BUGS +NO ABSORPTION +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rUpPar | 1 | Parameters for rUpFunc | {0.99,0.0219,6.07,2.0,0.003} | +| rDownPar | 1 | Parameters for rDownFunc | {0.99,0.0219,6.07,2.0,0.003} | +| rUpData | str | Mirror Reflectivity data file for spin up | "" | +| rDownData | str | Mirror Reflectivity data file for spin down | "" | +| p_reflect | 1 | Proportion of reflected events. Use 0 to only get the transmitted beam, and 1 to get only the reflected beam. Use -1 to use the mirror reflectivity. This value is purely computational and is not related to the actual reflectivity | -1 | +| **zwidth** | m | Width of the mirror | | + +## Links + +- [Source code](Pol_mirror.comp) for `Pol_mirror.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Pol_tabled_field.md b/mcstas-comps/optics/Pol_tabled_field.md new file mode 100644 index 0000000000..357607db6e --- /dev/null +++ b/mcstas-comps/optics/Pol_tabled_field.md @@ -0,0 +1,45 @@ +# The `Pol_tabled_field` Component + +*McStas: Magnetic field component.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen, Peter Christiansen and Peter Willendrup +- **Origin:** RISOE +- **Date:** July 2011 + +## Description + +```text +Region with a tabled magnetic field read from file. +The magnetic field is read from a text file where it is +specified as a point cloud with N rows of 6 columns: +x y z Bx By Bz +the B field map is resampled with Stepx*Stepy*Stepz points. +Use Stepx=Stepy=Stepz=0 to skip resampling and use the table as is. +The regions itself may be either a 3D rectangular block, a cylinder with axis along y, +or spherical. Interpolation is done between data-points. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Width of opening. | 0 | +| yheight | m | Height of opening. | 0 | +| zdepth | m | Length of field. | 0 | +| radius | m | Radius of field if it is cylindrical or spherical. | 0 | +| filename | str | File where the magnetic field is tabulated. | "bfield.dat" | +| geometry | str | Name of an Object File Format (OFF) or PLY file for complex field-geometry. | NULL | +| interpol_method | str | Choice of interpolation method "kdtree" (default on CPU) / "regular" (default on GPU) | "default" | + +## Links + +- [Source code](Pol_tabled_field.comp) for `Pol_tabled_field.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Refractor.md b/mcstas-comps/optics/Refractor.md new file mode 100644 index 0000000000..5fc78da35b --- /dev/null +++ b/mcstas-comps/optics/Refractor.md @@ -0,0 +1,130 @@ +# The `Refractor` Component + +*McStas: A refractor material/shape, which can be used to model e.g. lenses and prisms.* + +## Identification + +- **Site:** +- **Author:** E. Farhi, B. Cubitt +- **Origin:** ILL +- **Date:** Oct 2014 + +## Description + +```text +Single bulk material shape that can be used as a prism or lens. + +NEUTRON INTERACTION PROCESSES: +The bulk material can reflect, refract, scatter and absorb neutrons, depending +on the material cross sections and incident angles. + +The refracting material is specified from its molar weight, density, coherent +scattering cross section. The refractive index is computed as: +n = sqrt(1-(lambda*lambda*rho*bc/PI)) is the refraction index + +The surface can be coated when specifying a critical wavevector Qc, with e.g. +Qc=m*0.0219 for a super mirror coating. The mirror coating can be suppressed +by setting Qc=0. The critical wavevector is then set to +Qc = 4*sqrt(PI*rho*bc); with +rho= density*6.02214179*1e23*1e-24/weight; +bc = sqrt(fabs(sigma_coh)*100/4/PI)*1e-5; + +COMPONENT GEOMETRY: +The component shape can be a sphere, box, cylinder, biconcave spherical lens +or any other shape defined from an external OFF/PLY file. +sphere: radius +cylinder: radius, yheight +box: xwidth, yheight, zdepth +OFF/PLY: geometry="filename.off or ply", xwidth, yheight, zdepth (bounding box) +lens_sphere: geometry="lens_sphere", radius, zdepth (thickness) + +The lens_sphere geometry is composed of two concave half spheres of same radius, +separated with a minimal thickness zdepth along the Z axis. + +Optionally, you can specify the 'geometry' parameter as a OFF/PLY file name. +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the PLY, OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). + +All geometries are centred. The bulk material fills the shape, but can be +set 'outside' when density is given a negative value. In this case, the material +outside the bulk is void (vacuum). + +Usually, you should stack more than one of these to get a significant effect +on the neutron beam, so-called 'compound refractive lens'. +The focal length for N lenses with focal 'f' is f/N, where f=R/(1-n) +and R = r/2 for a spherical lens with curvature radius 'r' + +COMMON MATERIALS: +Should have high coherent, and low incoherent and absorption cross sections +Be: density=1.85, weight=9.0121, sigma_coh=7.63, sigma_inc=0.0018,sigma_abs=0.0076 +Pb: density=11.115,weight=207.2, sigma_coh=11.115,sigma_inc=0.003, sigma_abs=0.171 +Pb206: sigma_coh=10.68, sigma_inc=0 , sigma_abs=0.03 +Pb208: sigma_coh=11.34, sigma_inc=0 , sigma_abs=0.00048 +Zr: density=6.52, weight=91.224, sigma_coh=6.44, sigma_inc=0.02, sigma_abs=0.185 +Zr90: sigma_coh=5.1, sigma_inc=0 , sigma_abs=0.011 +Zr94: sigma_coh=8.4, sigma_inc=0 , sigma_abs=0.05 +Bi: density=9.78, weight=208.98, sigma_coh=9.148, sigma_inc=0.0084,sigma_abs=0.0338 +Mg: density=1.738, weight=24.3, sigma_coh=3.631, sigma_inc=0.08, sigma_abs=0.063 +MgF2: density=3.148, weight=62.3018,sigma_coh=11.74, sigma_inc=0.0816,sigma_abs=0.0822 +diamond: density=3.52, weight=12.01, sigma_coh=5.551, sigma_inc=0.001, sigma_abs=0.0035 +Quartz/silica: density=2.53, weight=60.08, sigma_coh=10.625,sigma_inc=0.0056,sigma_abs=0.1714 +Si: density=2.329, weight=28.0855,sigma_coh=2.1633,sigma_inc=0.004, sigma_abs=0.171 +Al: density=2.7, weight=26.98, sigma_coh=1.495, sigma_inc=0.0082,sigma_abs=0.231 +Ni: density=8.908, weight=58.69, sigma_coh=13.3, sigma_inc=5.2, sigma_abs=4.49 +Mn: (bc < 0) density=7.21, weight=54.94, sigma_coh=-1.75, sigma_inc=0.4, sigma_abs=13.3 +perfluoropolymer(PTFE/Teflon/CF2): +density=2.2, weight=50.007, sigma_coh=13.584,sigma_inc=0.0026,sigma_abs=0.0227 +Organic molecules with C,O,H,F + +Among the most commonly available and machinable materials are MgF2, SiO2, Si, and Al. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | width of box | 0 | +| yheight | m | height of box/cylinder | 0 | +| zdepth | m | depth of box | 0 | +| radius | m | radius of sphere/cylinder | 0 | +| geometry | str | OFF/PLY geometry file name, or NULL to use simple shape A spherical bi-concave lens can be obtained with geometry="lens_sphere" and given radius and zdepth | "NULL" | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| sigma_coh | barn | coherent cross section of refracting material. Use negative value to indicate a negative coherent scattering length | 11.74 | +| density | g/cm3 | density of the refracting material. density < 0 means the material is outside/before the shape. | 3.148 | +| weight | g/mol | molar mass of the refracting material | 62.3018 | +| sigma_inc | barn | incoherent cross section | 0 | +| sigma_abs | barn | thermal absorption cross section | 0 | +| Qc | Angs-1 | critical scattering vector, e.g. Qc=0.0219 for Ni coating. Set Qc=0 to use the bulk critical grazing angles. | 0 | +| p_interact | 1 | MC Probability for scattering the ray; otherwise transmit. Use 0 to compute true probability, or specify it as e.g. 0.05 | 0.05 | +| RMS | Angs | root mean square wavyness of the surface | 0 | +| focus_scatter | deg | angle in which to scatter in bulk, with probability 'p_interact' | 10 | +| verbose | 1 | flag to display detailed component behaviour | 0 | +| p_scatter | 1 | flag to allow scattering in the refractor bulk | 1 | +| p_reflect | 1 | flag to allow reflection (grazing angle) at the surface | 1 | +| p_refract | 1 | flag to allow refraction at the refractor surface | 1 | + +## Links + +- [Source code](Refractor.comp) for `Refractor.comp`. +- M. L. Goldberger et al, Phys. Rev. 71, 294 - 310 (1947) +- Sears V.F. Neutron optics. An introduction to the theory of neutron optical phenomena and their applications. Oxford University Press, 1989. +- H. Park et al. Measured operational neutron energies of compound refractive lenses. Nuclear Instruments and Methods B, 251:507-511, 2006. +- J. Feinstein and R. H. Pantell. Characteristics of the thick, compound refractive lens. Applied Optics, 42 No. 4:719-723, 2001. +- Geomview and Object File Format (OFF) +- Java version of Geomview (display only) jroff.jar +- Meshlab can view OFF and PLY files +- qhull for points to OFF conversion +- powercrust for points to OFF conversion + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Rotator.md b/mcstas-comps/optics/Rotator.md new file mode 100644 index 0000000000..8f204a4594 --- /dev/null +++ b/mcstas-comps/optics/Rotator.md @@ -0,0 +1,45 @@ +# The `Rotator` Component + +*McStas: A rotative frame along vertical axis* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi +- **Origin:** ILL +- **Date:** June 20th 2013 + +## Description + +```text +All components positioned after this one are rotating at frequency 'nu' with +phase 'phase'. Use the Derotator component to put back the model steady. +The rotation is performed w.r.t. the position of the component, along a chosen +main axis (use directon=1 for x, direction=2 for y, direction=3 for z). + +Default rotation axis is vertical axis / 'y'. + +Example: +R=Rotator(nu=14, phase=0) +... +DR=Derotator(rotator=R) +AT (0,0,0) RELATIVE R +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nu | Hz | Rotation frequency (round/s) in the rotating option (vertical axis) | 0 | +| phase | deg | Phase shift | 0 | +| direction | 1 | Rotation axis selection 1=x, 2=y, 3=z | 2 | + +## Links + +- [Source code](Rotator.comp) for `Rotator.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Selector.md b/mcstas-comps/optics/Selector.md new file mode 100644 index 0000000000..d248877daa --- /dev/null +++ b/mcstas-comps/optics/Selector.md @@ -0,0 +1,59 @@ +# The `Selector` Component + +*McStas: velocity selector (helical lamella type) such as V_selector component* + +## Identification + +- **Site:** +- **Author:** Peter Link, Andreas Ostermann +- **Origin:** Uni. Gottingen (Germany) +- **Date:** MARCH 1999 + +## Description + +```text +Velocity selector consisting of rotating Soller-like blades +defining a helically twisted passage. +Geometry is defined by two identical apertures at 12 o'clock position, +The origin is at the ENTRANCE of the selector. + +Example: Selector(xmin=-0.015, xmax=0.015, ymin=-0.025, ymax=0.025, length=0.25, +nslit=72,d=0.0004, radius=0.12, alpha=48.298, nu=500) +These are values for the D11@ILL Dornier 'Dolores' Velocity Selector (NVS 023) + +%VALIDATION +Jun 2005: extensive external test, one minor problem +Jan 2006: problem solved (for McStas-1.9.1) +Validated by: K. Lieutenant + +%BUGS +for transmission calculation, each neutron is supposed to be in the guide centre +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xmin | m | Lower x bound of entry aperture | -0.015 | +| xmax | m | Upper x bound of entry aperture | 0.015 | +| ymin | m | Lower y bound of entry aperture | -0.025 | +| ymax | m | Upper y bound of entry aperture | 0.025 | +| length | m | rotor length | 0.25 | +| xwidth | m | Width of entry. Overrides xmin,xmax. | 0 | +| yheight | m | Height of entry. Overrides ymin,ymax. | 0 | +| nslit | 1 | number of absorbing subdivinding spokes/lamella | 72 | +| d | m | width of spokes at beam-center | 0.0004 | +| radius | m | radius of beam-center | 0.12 | +| alpha | deg | angle of torsion | 48.298 | +| nu | Hz | frequency of rotation, which is ideally 3956*alpha*DEG2RAD/2/PI/lambda/length | 500 | + +## Links + +- [Source code](Selector.comp) for `Selector.comp`. +- See also Additional notes March 1999 and Jan 2000. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Set_pol.md b/mcstas-comps/optics/Set_pol.md new file mode 100644 index 0000000000..53605309c3 --- /dev/null +++ b/mcstas-comps/optics/Set_pol.md @@ -0,0 +1,42 @@ +# The `Set_pol` Component + +*McStas: (Unphysical) way of setting the polarization.* + +## Identification + +- **Site:** +- **Author:** Peter Christiansen +- **Origin:** Risoe +- **Date:** August 2006 + +## Description + +```text +This component has no physical size (like Arm - also drawn that +way), but is used to set the polarisation in one of four ways: +1) (randomOn=0, normalize=0) Hardcode the polarisation to the vector (px, py, pz) +2) (randomOn!=0, normalize!=0) Set the polarisation to a random vector on the unit sphere +3) (randomOn!=0, normalize=0) Set the polarisation to a radnom vector within the unit sphere +4) (randomOn=0, normalize!=0) Hardcode the polarisation to point in the direction of (px,py,pz) but with polarization=1. +Example: Set_pol(px=0, py=-1, pz=0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| px | 1 | X-component of polarisation vector (can be negative) | 0 | +| py | 1 | Y-component of polarisation vector (can be negative) | 0 | +| pz | 1 | Z-component of polarisation vector (can be negative) | 0 | +| randomOn | 1 | Generate random values if randomOn!=0. | 0 | +| normalize | 1 | Normalize the polarization vector to unity length. | 0 | + +## Links + +- [Source code](Set_pol.comp) for `Set_pol.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Slit.md b/mcstas-comps/optics/Slit.md new file mode 100644 index 0000000000..9523fdeb70 --- /dev/null +++ b/mcstas-comps/optics/Slit.md @@ -0,0 +1,46 @@ +# The `Slit` Component + +*McStas: Rectangular/circular slit* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann and Henrik M. Roennow +- **Origin:** Risoe +- **Date:** June 16, 1997 + +## Description + +```text +A simple rectangular or circular slit. You may either +specify the radius (circular shape), or the rectangular bounds. +No transmission around the slit is allowed. + +Example: Slit(xmin=-0.01, xmax=0.01, ymin=-0.01, ymax=0.01) +Slit(xwidth=0.02, yheight=0.02) +Slit(radius=0.01) + +The Slit will issue a warning if run as "closed" +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xmin | m | Lower x bound | UNSET | +| xmax | m | Upper x bound | UNSET | +| ymin | m | Lower y bound | UNSET | +| ymax | m | Upper y bound | UNSET | +| radius | m | Radius of slit in the z=0 plane, centered at Origin | UNSET | +| xwidth | m | Width of slit. Overrides xmin,xmax if they are unset. | UNSET | +| yheight | m | Height of slit. Overrides ymin,ymax if they are unset. | UNSET | + +## Links + +- [Source code](Slit.comp) for `Slit.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/V_selector.md b/mcstas-comps/optics/V_selector.md new file mode 100644 index 0000000000..c2e922d555 --- /dev/null +++ b/mcstas-comps/optics/V_selector.md @@ -0,0 +1,51 @@ +# The `V_selector` Component + +*McStas: Velocity selector.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** Nov 25, 1998 + +## Description + +```text +Velocity selector consisting of rotating Soller-like blades +defining a helically twisted passage. +Geometry defined by two identical, centered apertures at 12 o'clock +position, Origo is at the centre of the selector (input is at -zdepth/2). +Transmission is analytical assuming a continuous source. + +Example: V_selector(xwidth=0.03, yheight=0.05, zdepth=0.30, radius=0.12, alpha=48.298, length=0.25, d=0.0004, nu=20000, nslit=72) +These are values for the D11@ILL Dornier 'Dolores' Velocity Selector (NVS 023) + +%VALIDATION +Jun 2005: extensive external test, no problems found +Validated by: K. Lieutenant +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Width of entry aperture | 0.03 | +| yheight | m | Height of entry aperture | 0.05 | +| zdepth | m | Distance between apertures, for housing containing the rotor | 0.30 | +| radius | m | Height from aperture centre to rotation axis | 0.12 | +| alpha | deg | Twist angle along the cylinder | 48.298 | +| length | m | Length of cylinder/rotor (less than zdepth) | 0.25 | +| d | m | Thickness of blades | 0.0004 | +| nu | Hz | Cylinder rotation speed, counter-clockwise, which is ideally 3956*alpha*DEG2RAD/2/PI/lambda/length | 300 | +| nslit | 1 | Number of Soller blades | 72 | + +## Links + +- [Source code](V_selector.comp) for `V_selector.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/optics/Vitess_ChopperFermi.md b/mcstas-comps/optics/Vitess_ChopperFermi.md new file mode 100644 index 0000000000..01af658341 --- /dev/null +++ b/mcstas-comps/optics/Vitess_ChopperFermi.md @@ -0,0 +1,96 @@ +# The `Vitess_ChopperFermi` Component + +*McStas: Fermi chopper with absorbing walls using the VITESS module 'chopper_fermi'* + +## Identification + +- **Site:** +- **Author:** Geza Zsigmond +- **Origin:** VITESS module 'chopper_fermi' +- **Date:** Sep 2004 + +## Description + +```text +This component simulates a Fermi chopper with absorbing walls. The rotation axis is +vertical (y-axis), i.e. the path length through the channels is given by the length +'depth' along the z-axis. +The shape of the channels can be straight, curved with circular, or curved with ideal +(i.e. close to a parabolic) shape. This is determined by the parameter 'GeomOption'. + +Geometry for straight and circular channels: +The geometry of the chopper consists of a rectangular shaped object with a channel +system. In transmission position, there are 'Nchannels' slits along the x-axis, +separated by absorbing walls of thickness 'wallwidth' giving a total width 'width'. +The rectangular channel system is surrounded by a so-called shadowing cylinder +(cf component manual). + +Geometry for parabolic channels: +In this case, the Fermi chopper is supposed to be a full cylinder, i.e. the central +channels are longer than those on the edges (cf. figure in the component manual). +The other features are the same as for the other options. + +Apart from the frequency of rotation, the phase of the chopper at t=0 has to be given; +phase = 0 means transmission orientation. + +The option 'zerotime' may be used to reset the time at the chopper position. The +consequence is that only 1 pulse is generated instead of several. + +NOTE: This component must NOT be located at the same position as the previous one. +This also stands for monitors and Arms. A non zero distance must be defined. + +Examples: +straight Fermi chopper, 18000 rpm, 20 channels a 0.9 mm separated by 0.1 mm walls, +16 mm channel length, minimal shadowing cylinder, phased to be open at 1 ms, +generation of only 1 pulse, normal precision (for short wavelength neutrons) +Vitess_ChopperFermi(GeomOption=0, zerotime=1, Nchannels=20, Ngates=4, +freq=300.0, height=0.06, width=0.0201, +depth=0.016, r_curv=0.0, diameter=0.025691, Phase=-108.0, +wallwidth=0.0001, sGeomFileName="FC_geom_str.dat") + +Fermi chopper with circular channels, 12000 rpm, optimized for 6 Ang, several pulses, +highest accuracy (because of long wavelength neutrons used), rest as above +Vitess_ChopperFermi(GeomOption=2, zerotime=0, Nchannels=20, Ngates=8, +freq=200.0, height=0.06, width=0.0201, +depth=0.016, r_curv=0.2623, diameter=0.025691, Phase=-72.0, +wallwidth=0.0001, sGeomFileName="FC_geom_circ.dat") + +%VALIDATION +Apr 2005: extensive external test, most problems solved (cf. 'Bugs' and source header) +Validated by: K. Lieutenant + +limitations: slow (10 times slower than FermiChopper), especially for a high number of channels + +%BUGS +reduction of transmission by a large shadowing cylinder underestimated +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sGeomFileName | str | name of output file for geometry information | 0 | +| GeomOption | 1 | option: 0:straight 1:parabolic 2:circular | 0 | +| zerotime | 1 | option: 1:'set time to zero' 0: 'do not' | 0 | +| Nchannels | 1 | number of channels of the Fermi chopper | 20 | +| Ngates | 1 | number of gates defining the channel: 4=default, 6 or 8 for long wavelengths | 4 | +| freq | Hz | number of rotations per second | 300.0 | +| height | m | height of the Fermi chopper | 0.05 | +| width | m | total width of the Fermi chopper | 0.04 | +| depth | m | channel length of the Fermi chopper | 0.03 | +| r_curv | m | radius of curvature of the curved Fermi chopper | 0.5 | +| diameter | m | diameter of the shadowing cylinder | 0.071 | +| Phase | deg | dephasing angle at zero time | 0.0 | +| wallwidth | m | thickness of walls separating the channels | 0.0002 | + +## Links + +- [Source code](Vitess_ChopperFermi.comp) for `Vitess_ChopperFermi.comp`. +- straight VITESS Fermi chopper +- curved VITESS Fermi chopper + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/Incoherent.md b/mcstas-comps/samples/Incoherent.md new file mode 100644 index 0000000000..3acba0f6bb --- /dev/null +++ b/mcstas-comps/samples/Incoherent.md @@ -0,0 +1,104 @@ +# The `Incoherent` Component + +*McStas: Incoherent sample (such as Vanadium) sample, with quasielastic component OR or global energy transfer.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann and Kristian Nielsen +- **Origin:** Risoe +- **Date:** 15.4.98 + +## Description + +```text +A Double-cylinder shaped incoherent scatterer (like Vanadium) +with both elastic and quasielastic (Lorentzian) components. +No multiple scattering (but approximation available). Absorption included. +Sample focusing: +The area to scatter to is a disk of radius 'focus_r' situated at the target. +This target area may also be rectangular if specified focus_xw and focus_yh +or focus_aw and focus_ah, respectively in meters and degrees. +The target itself is either situated according to given coordinates (x,y,z), +or defined with the relative target_index of the component to focus +to (next is +1). +This target position will be set to its AT position. When targeting to +centered components, such as spheres or cylinders, define an Arm component +where to focus to. +Sample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the PLY, OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Example: Incoherent(radius=0.05,focus_r=0.035, pack=1, target_index=1) +Incoherent(geometry="socket.off",focus_r=0.035, pack=1, target_index=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| geometry | str | Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust | 0 | +| radius | m | Outer radius of sample in (x,z) plane | 0 | +| xwidth | m | Horiz. dimension of sample (bounding box if off file), as a width | 0 | +| yheight | m | Vert. dimension of sample (bounding box if off file), as a height. A sphere shape is used when 0 and radius is set | 0 | +| zdepth | m | Depth of sample (bounding box if off file) | 0 | +| thickness | m | Thickness of hollow sample | 0 | +| target_x | | | 0 | +| target_y | m | position of target to focus at | 0 | +| target_z | | | 0 | +| focus_r | m | Radius of disk containing target. Use 0 for full space | 0 | +| focus_xw | m | horiz. dimension of a rectangular area | 0 | +| focus_yh | m | vert. dimension of a rectangular area | 0 | +| focus_aw | deg | horiz. angular dimension of a rectangular area | 0 | +| focus_ah | deg | vert. angular dimension of a rectangular area | 0 | +| target_index | 1 | Relative index of component to focus at, e.g. next is +1 | 0 | +| pack | 1 | Packing factor | 1 | +| p_interact | 1 | MC Probability for scattering the ray; otherwise transmit | 1 | +| f_QE | 1 | Fraction of quasielastic scattering (rest is elastic) | 0 | +| gamma | 1 | Lorentzian width of quasielastic broadening (HWHM) | 0 | +| Etrans | meV | Global energy-transfer, for use in inelastic settings | 0 | +| deltaE | meV | Width in energy around Etrans, for use in inelastic settings | 0 | +| sigma_abs | barns | Absorption cross section pr. unit cell at 2200 m/s | 5.08 | +| sigma_inc | barns | Incoherent scattering cross section pr. unit cell | 5.08 | +| Vc | AA^3 | Unit cell volume | 13.827 | +| concentric | 1 | Indicate that this component has a hollow geometry and may contain other components. It should then be duplicated after the inside part (only for box, cylinder, sphere) | 0 | +| order | 1 | Limit multiple scattering up to given order 0 means all (default), 1 means single, 2 means double, ... | 0 | + +## Links + +- [Source code](Incoherent.comp) for `Incoherent.comp`. +- Cross sections for single elements +- Web Elements +- Test +- results (not up-to-date). +- The test/example instrument vanadium_example.instr. +- The test/example instrument QENS_test.instr. +- Geomview and Object File Format (OFF) +- Java version of Geomview (display only) jroff.jar +- qhull +- powercrust + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/Isotropic_Sqw.md b/mcstas-comps/samples/Isotropic_Sqw.md new file mode 100644 index 0000000000..23acf459b1 --- /dev/null +++ b/mcstas-comps/samples/Isotropic_Sqw.md @@ -0,0 +1,244 @@ +# The `Isotropic_Sqw` Component + +*McStas: Isotropic sample handling multiple scattering and absorption for a general +S(q,w) (coherent and/or incoherent/self)* + +## Identification + +- **Site:** +- **Author:** E. Farhi, V. Hugouvieux +- **Origin:** ILL +- **Date:** August 2003 + +## Description + +```text +An isotropic sample handling multiple scattering and including as input the +dynamic structure factor of the chosen sample (e.g. from Molecular +Dynamics). Handles elastic/inelastic, coherent and incoherent scattering - +depending on the input S(q,w) - with multiple scattering and absorption. +Only the norm of q is handled (not the vector), and thus suitable for +liquids, gazes, amorphous and powder samples. + +If incoherent/self S(q,w) file is specified as empty (0 or "") then the +scattering is constant isotropic (Vanadium like). +In case you only have one S(q,w) data containing both coherent and +incoherent contributions you should e.g. use 'Sqw_coh' and set 'sigma_coh' +to the total scattering cross section. Set sigma_coh and sigma_inc to -1 to inactivate. + +The implementation will automatically nornalise S(q,w) so that S(q) -> 1 at +large q (parameter norm=-1). Alternatively, the S(q,w) data will be multiplied +by 'norm' for positive values. Use norm=0 or 1 to use the raw data as input. + +The material temperature can be defined in the S(q,w) data files (see below) +or set manually as parameter T. Setting T=-1 disables detailed balance. +Setting T=-2 attempts to guess the temperature from the input S(q,w) data +which must then be non-classical and extend on both energy sides (+/-). +To use the S(q,w) data as is, without temperature effect, set T=-1 and norm=1. + +Both non symmetric (quantum) and classical S(q,w) data sets can be given by mean +of the 'classical' parameter (see below). + +Additionally, for single order scattering (order=1), you may restrict the +vertical spreading of the scattering area using d_phi parameter. + +An important option to enhance statistics is to set 'p_interact' to, say, +30 percent (0.3) in order to force a fraction of the beam to scatter. This +will result on a larger number of scattered events, retaining intensity. + +If you use this component and produce valuable scientific results, please +cite authors with references bellow (in Links). +E. Farhi et al, J Comp Phys 228 (2009) 5251 + +Sample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF, PLY and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Concentric components: +This component has the ability to contain other components when used in +hollow cylinder geometry (namely sample environment, e.g. cryostat and +furnace structure). Such component 'shells' should be split into input and +output side surrounding the 'inside' components. First part must then use +'concentric=1' flag to enter the inside part. The component itself must be +repeated to mark the end of the concentric zone. The number of concentric +shells and number of components inside is not limited. + +COMPONENT S_in = Isotropic_Sqw(Sqw_coh="Al.laz", concentric=1, ...) +AT (0,0,0) RELATIVE sample_position + +COMPONENT something_inside ... // e.g. the sample itself or other materials + +COMPONENT S_out = COPY(S_in)(concentric=0) +AT (0,0,0) RELATIVE sample_position + +Sqw file format: +File format for S(Q,w) (coherent and incoherent) should contain 3 numerical +blocks, defining q axis values (vector), then energy axis values (vector), +then a matrix with one line per q axis value, containing Sqw values for +each energy axis value. Comments (starting with '#') and non numerical lines +are ignored and used to separate blocks. Sampling must be regular. +Some parameters can be specified in comment lines, namely (00 is a numerical value): + +# sigma_abs 00 absorption scattering cross section in [barn] +# sigma_inc 00 coherent scattering cross section in [barn] +# sigma_coh 00 incoherent scattering cross section in [barn] +# Temperature 00 in [K] +# V_rho 00 atom density per Angs^3 +# density 00 in [g/cm^3] +# weight 00 in [g/mol] +# classical 00 [0=contains Bose factor (measurement) ; 1=classical symmetric] + +Example: +# q axis values +# vector of m values in Angstroem-1 +0.001000 .... 3.591000 +# w axis values +# vector of n values in meV +0.001391 ... 1.681391 +# sqw values (one line per q axis value) +# matrix of S(q,w) values (m rows x n values), one line per q value, +9.721422 10.599145 ... 0.000000 +10.054191 11.025244 ... 0.000000 +... +0.000000 ... 3.860253 + +See for instance file He4_liq_coh.sqw. Such files may be obtained from e.g. INX, +Nathan, Lamp and IDA softwares, as well as Molecular Dynamics (nMoldyn). +When the provided S(q,w) data is obtained from the classical correlation function +G(r,t), which is real and symmetric in time, the 'classical=1' parameter +should be set in order to multiply the file data with exp(hw/2kT). Otherwise, +the S(q,w) is NOT symmetrised (classical). If the S(q,w) data set includes both +negative and positive energy values, setting 'classical=-1' will attempt to +guess what type of S(q,w) it is. The temperature can also be determined this way. +In case you do not know if the data is classical or quantum, assume it is usually classical +at high temperatures, and quantum otherwise (T < typical mode excitations). +The positive energy values correspond to Stokes processes, i.e. material gains +energy, and neutrons loose energy. The energy range is symmetrized to allow up +and down scattering, taking into account detailed balance exp(-hw/2kT). + +You may also generate such S(q,w) 2D files using iFit + +Powder file format: +Files for coherent elastic powder scattering may also be used. +Format specification follows the same principle as in the PowderN +component, with parameters: + +powder_format= +Crystallographica: { 4,5,7,0,0,0,0, 0,0 } +Fullprof: { 4,0,8,0,0,5,0, 0,0 } +Undefined: { 0,0,0,0,0,0,0, 0,0 } +Lazy: {17,6,0,0,0,0,0,13,0 } +qSq: {-1,0,0,0,0,0,1, 0,0 } // special case for [q,Sq] table +or: {j,d,F2,DW,Delta_d/d,1/2d,q,F,strain} + +or column indexes (starting from 1) given as comments in the file header +(e.g. '#column_j 4'). Refer to the PowderN component for more details. +Delta_d/d and Debye-Waller factor may be specified for all lines with the +'powder_Dd' and 'powder_DW' parameters. +The reflection list should be ordered by decreasing d-spacing values. + +Additionally a special [q,Sq] format is also defined with: +powder_format=qSq +for which column 1 is 'q' and column 2 is 'S(q)'. + +Examples: +1- Vanadium-like incoherent elastic scattering +Isotropic_Sqw(radius=0.005, yheight=0.01, V_rho=1/13.827, +sigma_abs=5.08, sigma_inc=4.935, sigma_coh=0) + +2- liq-4He parameters +Isotropic_Sqw(..., Sqw_coh="He4_liq_coh.sqw", T=10, p_interact=0.3) + +3- powder sample +Isotropic_Sqw(..., Sqw_coh="Al.laz") + +%BUGS: +When used in concentric mode, multiple bouncing scattering +(traversing the hollow part) is not taken into account. + +%VALIDATION +For Vanadium incoherent scattering mode, V_sample, PowderN, Single_crystal +and Isotropic_Sqw produce equivalent results, eventhough the two later are +more accurate (geometry, multiple scattering). Isotropic_Sqw gives same +powder patterns as PowderN, with an intensity within 20 %. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| powder_format | no quotes | name or definition of column indexes in file | {0,0,0,0,0,0,0,0,0} | +| Sqw_coh | str | Name of the file containing the values of Q, w and S(Q,w) Coherent part; Q in Angs-1, E in meV, S(q,w) in meV-1. Use 0, NULL or "" to disable. | 0 | +| Sqw_inc | str | Name of the file containing the values of Q, w and S(Q,w). Incoherent (self) part. Use 0, NULL or "" to scatter isotropically (V-like). | 0 | +| geometry | str | Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust | 0 | +| radius | m | Outer radius of sample in (x,z) plane. cylinder/sphere. | 0 | +| thickness | m | Thickness of hollow sample Negative value extends the hollow volume outside of the box/cylinder. | 0 | +| xwidth | m | width for a box sample shape | 0 | +| yheight | m | Height of sample in vertical direction for box/cylinder shapes | 0 | +| zdepth | m | depth for a box sample shape | 0 | +| threshold | 1 | Value under which S(Q,w) is not accounted for. to set according to the S(Q,w) values, i.e. not too low. | 1e-20 | +| order | 1 | Limit multiple scattering up to given order 0:all (default), 1:single, 2:double, ... | 0 | +| T | K | Temperature of sample, detailed balance. Use T=-1 to disable it, and T=-2 to guess it from non-classical S(q,w) input. | 0 | +| verbose | 1 | Verbosity level (0:silent, 1:normal, 2:verbose, 3:debug). A verbosity>1 also computes dispersions and S(q,w) analysis. | 1 | +| d_phi | deg | scattering vertical angular spreading (usually the height of the next component/detector). Use 0 for full space. This is only relevant for single scattering (order=1). | 0 | +| concentric | 1 | Indicate that this component has a hollow geometry and may contain other components. It should then be duplicated after the inside part (only for box, cylinder, sphere) [1] | 0 | +| rho | AA-3 | Density of scattering elements (nb atoms/unit cell V_0). | 0 | +| sigma_abs | barns | Absorption cross-section at 2200 m/s. Use -1 to inactivate. | 0 | +| sigma_coh | barns | Coherent Scattering cross-section. Use -1 to inactivate. | 0 | +| sigma_inc | barns | Incoherent Scattering cross-section. Use -1 to inactivate. | 0 | +| classical | 1 | Assumes the S(q,w) data from the files is a classical S(q,w), and multiply that data by exp(hw/2kT) on up/down energy sides. Use 0 when obtained from raw experiments, 1 from molecular dynamics. Use -1 to guess from a data set including both energy sides. | -1 | +| powder_Dd | 1 | global Delta_d/d spreading, or 0 if ideal. | 0 | +| powder_DW | 1 | global Debey-Waller factor, if not in \|F2\| or 1. | 0 | +| powder_Vc | AA^3 | volume of the unit cell | 0 | +| density | g/cm^3 | density of material. V_rho=density/weight/1e24*N_A | 0 | +| weight | g/mol | atomic/molecular weight of material | 0 | +| p_interact | 1 | Force a given fraction of the beam to scatter, keeping intensity right, to enhance small signals (-1 inactivate). | -1 | +| norm | 1 | Normalize S(q,w) when -1 (default). Use raw data when 1, multiplier for S(q,w) when norm>0. | -1 | +| powder_barns | 1 | 0 when \|F2\| data in powder file are fm^2, 1 when in barns (barns=1 for laz, barns=0 for lau type files). | 1 | + +## Links + +- [Source code](Isotropic_Sqw.comp) for `Isotropic_Sqw.comp`. +- E. Farhi, V. Hugouvieux, M.R. Johnson, and W. Kob, Journal of Computational Physics 228 (2009) 5251-5261 "Virtual experiments: Combining realistic neutron scattering instrument and sample simulations" +- Hugouvieux V, Farhi E, Johnson MR, Physica B, 350 (2004) 151 "Virtual neutron scattering experiments" +- Hugouvieux V, PhD, University of Montpellier II, France (2004). +- H. Schober, Collection SFN 10 (2010) 159-336 +- H.E. Fischer, A.C. Barnes, and P.S. Salmon. Rep. Prog. Phys., 69 (2006) 233 +- P.A. Egelstaff, An Introduction to the Liquid State, 2nd Ed., Oxford Science Pub., Clarendon Press (1992). +- S. W. Lovesey, Theory of Neutron Scattering from Condensed Matter, Vol1, Oxford Science Pub., Clarendon Press (1984). +- Cross sections for single elements +- Web Elements +- Fullprof powder refinement +- Crystallographica software +- Example data file He4_liq_coh.sqw +- The PowderN component. +- The test/example instrument Test_Isotropic_Sqw.instr. +- Geomview and Object File Format (OFF) +- Java version of Geomview (display only) jroff.jar +- qhull +- powercrust + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/Magnon_bcc.md b/mcstas-comps/samples/Magnon_bcc.md new file mode 100644 index 0000000000..472716ba82 --- /dev/null +++ b/mcstas-comps/samples/Magnon_bcc.md @@ -0,0 +1,79 @@ +# The `Magnon_bcc` Component + +*McStas: A sample for AFM or FM magnon scattering +based on cross section expressions from Squires, Ch.8.2* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** KU +- **Date:** 23.10.08 - 24.07.18 + +## Description + +```text +Single-cylinder shape. +Absorption included. +No multiple scattering. +No incoherent scattering emitted. +No attenuation from coherent scattering. No Bragg scattering. +bcc crystal n.n. and n.n.n. interactions only +Can do either FM or AFM order upon a flag +Assume J>0 for both FM and AFM. MUST BE CHANGED FOR CONSISTENCY +If AFM, the order is two-sublattice, e.g. the AFM Bragg ordering vectors are Q = (1 0 0) and equivalent. +One magnon branch only +Assume spin along z +Possible easy axis anisotropy along z +No external field + +KNOWN BUGS: +Gives zero scattering for too large J values (for AFM J=0.362, h approx 1). Probably this is a malfunction of zridd or call thereof +The value of the absolute scattered intensity is clearly too high. This is probably due to unit confusion. The relative intensity scaling seems about right. + +Algorithm: +0. Always perform the scattering if possible (otherwise ABSORB) +1. Choose direction within a focusing solid angle +2. Calculate the zeros of (E_i-E_f-hbar omega(kappa)) as a function of k_f +3. Choose one value of k_f (always at least one is possible!) +4. Perform the correct weight transformation +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **radius** | m | Outer radius of sample in (x,z) plane | | +| **yheight** | m | Height of sample in y direction | | +| **sigma_abs** | barns | Absorption cross section at 2200 m/s per atom | | +| **sigma_inc** | barns | Incoherent scattering cross section per atom | | +| **a** | AA | bcc Lattice constant | | +| FM | 1 | Flag for whether the order if FM (0 means AFM) | 0 | +| **J1** | meV | spin-spin interaction 1 (nn) | | +| **J2** | meV | spin-spin interaction 2 (nnn) | | +| **D** | mev | single ion anisotropy | | +| **s** | 1 | spin | | +| **DW** | 1 | Debye-Waller factor | | +| **T** | K | Temperature | | +| target_x | m | position of target to focus at . Transverse coordinate | 0 | +| target_y | m | position of target to focus at. Vertical coordinate | 0 | +| target_z | m | position of target to focus at. Straight ahead. | 0 | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 | 0 | +| F2 | 1 | magnetic form factor squared | 1 | +| focus_r | m | Radius of sphere containing target. | 0 | +| focus_xw | m | horiz. dimension of a rectangular area | 0 | +| focus_yh | m | vert. dimension of a rectangular area | 0 | +| focus_aw | deg | horiz. angular dimension of a rectangular area | 0 | +| focus_ah | deg | vert. angular dimension of a rectangular area | 0 | +| verbose | 1 | flag for test printing (print if verbose==1) | 0 | + +## Links + +- [Source code](Magnon_bcc.comp) for `Magnon_bcc.comp`. +- The test/example instrument Test_Magnon.instr. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/NCrystal_sample.md b/mcstas-comps/samples/NCrystal_sample.md new file mode 100644 index 0000000000..3a46d87de4 --- /dev/null +++ b/mcstas-comps/samples/NCrystal_sample.md @@ -0,0 +1,56 @@ +# The `NCrystal_sample` Component + +*McStas: McStas sample component for the NCrystal library for thermal neutron transport +(www).* + +## Identification + +- **Site:** +- **Author:** NCrystal developers +- **Origin:** NCrystal Developers (European Spallation Source ERIC and DTU Nutech) +- **Date:** 2015 + +## Description + +```text +McStas sample component using the NCrystal library for thermal neutron +transport in a single bulk material filling a single simple convex volume +(box, sphere or cylinder). + +The geometrical layout of the volume is determined via the xwidth, yheight, +zdepth, and radius parameters, and the material being modelled is determined +via an NCrystal configuration string ("cfg-string"). + +For more information about NCrystal and cfg-strings, refer to the NCrystal wiki. +In particular, browse the available datafiles at Data-library and read about the +format of the cfg-string expected in the "cfg" parameter at Using-NCrystal. + +For more complicated geometries, it might be desirable to use NCrystal via the +McStas Union components instead. + +Note that the physics backend of this component will be whichever NCrystal +installation is available and associated with the "ncrystal-config" command. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| cfg | str | NCrystal material configuration string (details on this page). | "void" | +| xwidth | m | x-dimension (width) of sample, if box shape is desired | 0 | +| yheight | m | y-dimension (height) of sample, if box or cylinder shape is desired | 0 | +| zdepth | m | z-dimension (depth) of sample, if box shape is desired | 0 | +| radius | m | radius of sample, if sphere or cylinder shape is desired | 0 | +| absorptionmode | 0\|1\|2 | 0 : disable absorption. 1 : enable absorption via intensity reduction. 2 : enable absorption by terminating the tracking. | 1 | +| multscat | 0\|1 | 0 : disable multiple scattering. 1 : enable multiple scattering | 1 | + +## Links + +- [Source code](NCrystal_sample.comp) for `NCrystal_sample.comp`. +- The NCrystal wiki at https://github.com/mctools/ncrystal/wiki. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/Phonon_simple.md b/mcstas-comps/samples/Phonon_simple.md new file mode 100644 index 0000000000..14b4329ab8 --- /dev/null +++ b/mcstas-comps/samples/Phonon_simple.md @@ -0,0 +1,69 @@ +# The `Phonon_simple` Component + +*McStas: A sample for phonon scattering based on cross section expressions from Squires, Ch.3. +Possibility for adding an (unphysical) bandgap.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** 04.02.04 + +## Description + +```text +Single-cylinder shape. +Absorption included. +No multiple scattering. +No incoherent scattering emitted. +No attenuation from coherent scattering. No Bragg scattering. +fcc crystal n.n. interactions only +One phonon branch only -> phonon polarization not accounted for. +Bravais lattice only. (i.e. just one atom per unit cell) + +Algorithm: +0. Always perform the scattering if possible (otherwise ABSORB) +1. Choose direction within a focusing solid angle +2. Calculate the zeros of (E_i-E_f-hbar omega(kappa)) as a function of k_f +3. Choose one value of k_f (always at least one is possible!) +4. Perform the correct weight transformation +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **radius** | m | Outer radius of sample in (x,z) plane | | +| **yheight** | m | Height of sample in y direction | | +| **sigma_abs** | barns | Absorption cross section at 2200 m/s per atom | | +| **sigma_inc** | barns | Incoherent scattering cross section per atom | | +| **a** | AA | fcc Lattice constant | | +| **b** | fm | Scattering length | | +| **M** | a.u. | Atomic mass | | +| **c** | meV/AA^(-1) | Velocity of sound | | +| **DW** | 1 | Debye-Waller factor | | +| **T** | K | Temperature | | +| target_x | m | position of target to focus at . Transverse coordinate | 0 | +| target_y | m | position of target to focus at. Vertical coordinate | 0 | +| target_z | m | position of target to focus at. Straight ahead. | 0 | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 | 0 | +| focus_r | m | Radius of sphere containing target. | 0 | +| focus_xw | m | horiz. dimension of a rectangular area | 0 | +| focus_yh | m | vert. dimension of a rectangular area | 0 | +| focus_aw | deg | horiz. angular dimension of a rectangular area | 0 | +| focus_ah | deg | vert. angular dimension of a rectangular area | 0 | +| gap | meV | Bandgap energy (unphysical) | 0 | +| e_steps_low | 1 | Amount of possible intersections beneath the elastic line | 50 | +| e_steps_high | 1 | Amount of possible intersections above the elastic line | 50 | + +## Links + +- [Source code](Phonon_simple.comp) for `Phonon_simple.comp`. +- The test/example instrument Test_Phonon.instr. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/Powder1.md b/mcstas-comps/samples/Powder1.md new file mode 100644 index 0000000000..2600577b72 --- /dev/null +++ b/mcstas-comps/samples/Powder1.md @@ -0,0 +1,56 @@ +# The `Powder1` Component + +*McStas: General powder sample with a single scattering vector.* + +## Identification + +- **Site:** +- **Author:** E.M.Lauridsen, N.B.Christensen, A.B.Abrahamsen +- **Origin:** Risoe +- **Date:** 4.2.98 + +## Description + +```text +General powder sample with a single scattering vector. No multiple , +scattering, no incoherent scattering, no secondary extinction. +The shape of the sample may be a cylinder of given radius or a box with +dimensions xwidth, yheight, zdepth. +The efficient is highly improved when restricting the vertical scattering +range on the Debye-Scherrer cone (with 'd_phi'). +You may use PowderN to use N scattering lines defined in a file. + +Example: Powder1(radius=0.015,yheight=0.05,q =1.8049,d_phi=0.07,pack=1, +j=6,DW=1,F2=56.8,Vc=85.0054,sigma_abs=0.463) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Radius of sample in (x,z) plane | 0.01 | +| yheight | m | Height of sample y direction | 0.05 | +| xwidth | m | horiz. dimension of sample, as a width | 0 | +| zdepth | m | depth of box sample | 0 | +| q | AA^-1 | Scattering vector of reflection | 1.8049 | +| d | AA | d-spacing for sample, overrides 'q' | 0 | +| d_phi | deg,0-180 | Angle corresponding to the vertical angular range to focus to, e.g. detector height. 0 for no focusing | 0 | +| pack | 1 | Packing factor | 1 | +| j | 1 | Multiplicity of reflection | 6 | +| DW | 1 | Debye-Waller factor of reflection | 1 | +| F2 | barns | Structure factor of reflection | 56.8 | +| Vc | AA^3 | Volume of unit cell | 85.0054 | +| sigma_abs | barns | Absorption cross section per unit cell at 2200 m/s | 0.463 | + +## Links + +- [Source code](Powder1.comp) for `Powder1.comp`. +- +- Test results (not up-to-date). +- See also: Powder1, Powder2 and PowderN + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/PowderN.md b/mcstas-comps/samples/PowderN.md new file mode 100644 index 0000000000..3080212b24 --- /dev/null +++ b/mcstas-comps/samples/PowderN.md @@ -0,0 +1,182 @@ +# The `PowderN` Component + +*McStas: General powder sample (N lines, single scattering, incoherent scattering)* + +## Identification + +- **Site:** +- **Author:** P. Willendrup, L. Chapon, K. Lefmann, A.B.Abrahamsen, N.B.Christensen, E.M.Lauridsen. +- **Origin:** McStas release +- **Date:** 4.2.98 + +## Description + +```text +General powder sample with +many scattering vectors +possibility for intrinsic line broadening +incoherent elastic background ratio is specified by user +No multiple scattering. No secondary extinction. + +Based on Powder1/Powder2/Single_crystal. +Geometry is a powder filled cylinder, sphere, box or any shape from an OFF file. +Incoherent scattering is only provided here to account for a background. +The efficient is highly improved when restricting the vertical scattering +range on the Debye-Scherrer cone (with 'd_phi' and 'focus_flip'). +The unit cell volume Vc may also be computed when giving the density, +the atomic/molecular weight and the number of atoms per unit cell. +A simple strain handling is available by mean of either a global Strain parameter, +or a column with a strain value per Bragg reflection. The strain values are +specified in ppm (1e-6). +The Single_crystal component can also handle a powder mode, as well as an +approximated texture. + +Sample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape. +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF_file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the PLY, OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +If you use this component and produce valuable scientific results, please +cite authors with references bellow (in Links). + +Example: PowderN(reflections = "c60.lau", d_phi = 15 , radius = 0.01, +yheight = 0.05, Vc = 1076.89, sigma_abs = 0, delta_d_d=0, DW=1)) + +Powder definition file format +Powder structure is specified with an ascii data file 'reflections'. +The powder data are free-text column based files. +The reflection list should be ordered by decreasing d-spacing values. +... d ... F2 +Lines begining by '#' are read as comments (ignored) but they may contain +the following keywords (in the header): +#Vc +#sigma_abs +#sigma_inc +#Debye_Waller +#delta_d_d/d +These values are not read if entered as component parameters (Vc=...) + +The signification of the columns in the numerical block may be +set using the 'format' parameter, by defining signification of the +columns as a vector of indexes in the order +format={j,d,F2,DW,delta_d_d/d,1/2d,q,F,Strain} + +Signification of the symbols is given below. Indices start at 1. +Indices with zero means that the column are not present, so that: +Crystallographica={ 4,5,7,0,0,0,0,0,0 } +Fullprof ={ 4,0,8,0,0,5,0,0,0 } +Lazy ={17,6,0,0,0,0,0,13,0} + +At last, the format may be overridden by direct definition of the +column indexes in the file itself by using the following keywords +in the header (e.g. '#column_j 4'): +#column_j +#column_d +#column_F2 +#column_F +#column_DW +#column_Dd +#column_inv2d +#column_q +#column_strain + +Last, CIF, FullProf and ShelX files can be read, and converted to F2(hkl) lists +if 'cif2hkl' is installed. The CIF2HKL env variable can be used to point to a +proper executable, else the McCode, then the system installed versions are used. + +Concentricity + +PowderN assumes 'concentric' shape, i.e. can contain other components inside its +optional inner hollow. Example, Sample in Al cryostat: + + +COMPONENT Cryo = PowderN(reflections="Al.laz", radius = 0.01, thickness = 0.001, +concentric = 1, p_interact=0.1) +AT (0,0,0) RELATIVE Somewhere + +COMPONENT Sample = some_other_component(with geometry FULLY enclosed in the hollow) +AT (0,0,0) RELATIVE Somewhere + +COMPONENT Cryo2 = COPY(Cryo)(concentric = 0) +AT (0,0,0) RELATIVE Somewhere + + +(The second instance of the cryostat component can also be written out completely +using PowderN(...). In both cases, this second instance needs concentric = 0.) +The concentric arrangment can not be used with OFF geometry specification. + +This sample component can advantageously benefit from the SPLIT feature, e.g. +SPLIT COMPONENT pow = PowderN(...) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflections | string | Input file for reflections (LAZ LAU CIF, FullProf, ShelX). Use only incoherent scattering if NULL or "" | "NULL" | +| geometry | str | Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust. | "NULL" | +| format | no quotes | Name of the format, or list of column indexes (see Description). | {0, 0, 0, 0, 0, 0, 0, 0, 0} | +| radius | m | Outer radius of sample in (x,z) plane | 0 | +| yheight | m | Height of sample y direction | 0 | +| xwidth | m | Horiz. dimension of sample, as a width | 0 | +| zdepth | m | Depth of box sample | 0 | +| thickness | m | Thickness of hollow sample. Negative value extends the hollow volume outside of the box/cylinder. | 0 | +| pack | 1 | Packing factor. | 1 | +| Vc | AA^3 | Volume of unit cell=nb atoms per cell/density of atoms. | 0 | +| sigma_abs | barns | Absorption cross section per unit cell at 2200 m/s. Use a negative value to inactivate it. | 0 | +| sigma_inc | barns | Incoherent cross section per unit cell. Use a negative value to inactivate it. | 0 | +| delta_d_d | 0/1 | Global relative delta_d_d/d broadening when the 'w' column is not available. Use 0 if ideal. | 0 | +| p_inc | 1 | Fraction of incoherently scattered neutron rays. | 0.1 | +| p_transmit | 1 | Fraction of transmitted (only attenuated) neutron rays. | 0.1 | +| DW | 1 | Global Debye-Waller factor when the 'DW' column is not available. Use 1 if included in F2 | 0 | +| nb_atoms | 1 | Number of sub-unit per unit cell, that is ratio of sigma for chemical formula to sigma per unit cell | 1 | +| d_omega | deg | Horizontal focus range (only for incoherent scattering), 0 for no focusing. | 0 | +| d_phi | deg | Angle corresponding to the vertical angular range to focus to, e.g. detector height. 0 for no focusing. | 0 | +| tth_sign | 1 | Sign of the scattering angle. If 0, the sign is chosen randomly (left and right). ONLY functional in combination with d_phi and ONLY applies to bragg lines. | 0 | +| p_interact | 1 | Fraction of events interacting coherently with sample. | 0.8 | +| concentric | 1 | Indicate that this component has a hollow geometry and may contain other components. It should then be duplicated after the inside part (only for box, cylinder, sphere). | 0 | +| density | g/cm^3 | Density of material. rho=density/weight/1e24*N_A. | 0 | +| weight | g/mol | Atomic/molecular weight of material. | 0 | +| barns | 1 | Flag to indicate if \|F\|^2 from 'reflections' is in barns or fm^2 (barns=1 for laz, barns=0 for lau type files). | 1 | +| Strain | ppm | Global relative delta_d_d/d shift when the 'Strain' column is not available. Use 0 if ideal. | 0 | +| focus_flip | 1 | Controls the sense of d_phi. If 0 d_phi is measured against the xz-plane. If !=0 d_phi is measured against zy-plane. | 0 | +| target_index | 1 | Relative index of component to focus incoherent scattering at, e.g. next is +1 | 0 | + +## Links + +- [Source code](PowderN.comp) for `PowderN.comp`. +- "Validation of a realistic powder sample using data from DMC at PSI" Willendrup P, Filges U, Keller L, Farhi E, Lefmann K, Physica B-Cond Matt 385 (2006) 1032. +- See also: Powder1, Single_crystal +- See ICSD Inorganic Crystal Structure Database +- Cross sections for single elements +- Web Elements +- Fullprof powder refinement +- Crystallographica software (free license) +- Geomview and Object File Format (OFF) +- Java version of Geomview (display only) jroff.jar +- qhull +- powercrust + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/Res_sample.md b/mcstas-comps/samples/Res_sample.md new file mode 100644 index 0000000000..333bcef11b --- /dev/null +++ b/mcstas-comps/samples/Res_sample.md @@ -0,0 +1,65 @@ +# The `Res_sample` Component + +*McStas: Sample for resolution function calculation.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** 1999 + +## Description + +```text +An inelastic sample with completely uniform scattering in both Q and +energy. This sample is used together with the Res_monitor component and +(optionally) the mcresplot front-end to compute the resolution function of +triple-axis or inverse-geometry time-of-flight instruments. + +The shape of the sample is either a hollow cylinder or a rectangular box. The +hollow cylinder shape is specified with an inner and outer radius. +The box is specified with dimensions xwidth, yheight, zdepth. + +The scattered neutrons will have directions towards a given disk and +energies betweed E0-dE and E0+dE. +This target area may also be rectangular if specified focus_xw and focus_yh +or focus_aw and focus_ah, respectively in meters and degrees. +The target itself is either situated according to given coordinates (x,y,z), or +setting the relative target_index of the component to focus at (next is +1). +This target position will be set to its AT position. When targeting to centered +components, such as spheres or cylinders, define an Arm component where to focus at. + +Example: Res_sample(thickness=0.001,radius=0.02,yheight=0.4,focus_r=0.05, E0=14.6,dE=2, target_x=0, target_y=0, target_z=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| thickness | m | Thickness of hollow cylinder in (x,z) plane | 0 | +| radius | m | Outer radius of hollow cylinder | 0.01 | +| focus_r | m | Radius of sphere containing target. | 0.05 | +| E0 | meV | Center of scattered energy range | 14 | +| dE | meV | half width of scattered energy range | 2 | +| target_x | m | X-position of target to focus at [m] | 0 | +| target_y | m | Y-position of target to focus at | 0 | +| target_z | m | Z-position of target to focus at [m] | .5 | +| focus_xw | m | horiz. dimension of a rectangular area | 0 | +| focus_yh | m | vert. dimension of a rectangular area | 0 | +| focus_aw | deg | horiz. angular dimension of a rectangular area | 0 | +| focus_ah | deg | vert. angular dimension of a rectangular area | 0 | +| xwidth | m | horiz. dimension of sample, as a width | 0 | +| yheight | m | vert. dimension of sample, as a height | 0.05 | +| zdepth | m | depth of sample | 0 | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 | 0 | + +## Links + +- [Source code](Res_sample.comp) for `Res_sample.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/SANS_spheres2.md b/mcstas-comps/samples/SANS_spheres2.md new file mode 100644 index 0000000000..3c7b7e8adc --- /dev/null +++ b/mcstas-comps/samples/SANS_spheres2.md @@ -0,0 +1,55 @@ +# The `SANS_spheres2` Component + +*McStas: Sample for Small Angle Neutron Scattering - hard spheres in thin solution, mono disperse.* + +## Identification + +- **Site:** +- **Author:** P. Willendrup, derived from H. Frielinghaus SANS_benchmark2 +- **Origin:** DTU +- **Date:** 16.12.2019 + +## Description + +```text +Sample for Small Angle Neutron Scattering - hard spheres in thin solution, mono disperse. + +For the scattering simulation a high fraction of neutron paths is directed to the scattering (exact fraction is sc_aim). +The remaining paths are used for the transmitted beams. The absolute intensities are treated accordingly, and the p-parameter is set accordingly. + +For the scattering probability, the integral of the scattering function between Q = 0.0001 and 1.0 AA-1 is calculated. +This is used in terms of transmisson, and of course for the scattering probability. +In this way, multiple scattering processes could be treated as well. + +The typical SANS range was considered to be between 0.0001 and 1.0 AA-1. +This means that the scattered neutrons are equally distributed in this range on logarithmic Q-scales. + +Example: SANS_spheres2(xwidth=0.01, yheight=0.01, zthick=0.001, model=1.0, dsdw_inc=0.02, sc_aim=0.97, sans_aim=0.95, R-150) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Width of sample volume | 0.01 | +| yheight | m | Height of sample volume | 0.01 | +| zthick | m | Thickness of sample volume | 0.001 | +| dsdw_inc | cm^-1 | The incoherent background from the overall sample, should read ca. 1.0 for water, 0.5 for half D2O, half H2O, and ca. 0.02 for D2O | 0.02 | +| sc_aim | 1 | The fraction of neutron paths used to represent the scattered neutrons (including everything: incoherent and coherent). rest is transmission. | 0.97 | +| sans_aim | 1 | The fraction of neutron paths used to represent the scattered neutrons in the sans-range (up to 1.0AA-1). rest is incoherent with Q>1AA-1. | 0.95 | +| R | AA | Radius of dilute, monodisperse spheres | 150 | +| phi | 1 | Volume-ratio of the spheres wrt. solution | 1e-3 | +| drho | cm^-2 | Scattering length density | 6e10 | +| singlesp | 1 | Switches between multiple scattering (parameter zero 0.0) and single scattering (parameter 1.0). The sc_aim directs a fraction of paths to the first scattering process accordingly. The no. of paths for the second scattering process is derived from the real probability. Up to 10 scattering processes are considered. | 1 | +| Qmind | AA^-1 | Lower limit of "SANS" scattering | 0.0001 | +| Qmaxd | AA^-1 | Upper limit of "SANS" scattering | 2.1544346900319 | + +## Links + +- [Source code](SANS_spheres2.comp) for `SANS_spheres2.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/Sans_spheres.md b/mcstas-comps/samples/Sans_spheres.md new file mode 100644 index 0000000000..ca33910c9e --- /dev/null +++ b/mcstas-comps/samples/Sans_spheres.md @@ -0,0 +1,54 @@ +# The `Sans_spheres` Component + +*McStas: Sample for Small Angle Neutron Scattering - hard spheres in thin solution, mono disperse.* + +## Identification + +- **Site:** +- **Author:** P. Willendrup, K. Lefmann, L. Arleth +- **Origin:** Risoe +- **Date:** 19.12.2003 + +## Description + +```text +Sample for use in a SANS instrument, models hard, mono disperse spheres in thin solution. +The shape of the sample may be a filled box with dimensions +xwidth, yheight, zdepth, a cylinder with dimensions radius and yheight, +a filled sphere with radius. + +Example: Sans_spheres(R = 100, Phi = 1e-3, Delta_rho = 0.6, sigma_abs = 50, xwidth=0.01, yheight=0.01, zdepth=0.005) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| R | AA | Radius of scattering hard spheres | 100 | +| Phi | 1 | Particle volume fraction | 1e-3 | +| Delta_rho | fm/AA^3 | Excess scattering length density | 0.6 | +| sigma_abs | m^-1 | Absorption cross section density at 2200 m/s | 0.05 | +| xwidth | m | horiz. dimension of sample, as a width | 0 | +| yheight | m | vert . dimension of sample, as a height for cylinder/box | 0 | +| zdepth | m | depth of sample | 0 | +| radius | m | Outer radius of sample in (x,z) plane for cylinder/sphere | 0 | +| target_x | m | | 0 | +| target_y | m | position of target to focus at | 0 | +| target_z | m | | 6 | +| target_index | 1 | Relative index of component to focus at, e.g. next is +1 | 0 | +| focus_xw | m | horiz. dimension of a rectangular area | 0 | +| focus_yh | m | vert. dimension of a rectangular area | 0 | +| focus_aw | deg | horiz. angular dimension of a rectangular area | 0 | +| focus_ah | deg | vert. angular dimension of a rectangular area | 0 | +| focus_r | m | Detector (disk-shaped) radius | 0 | + +## Links + +- [Source code](Sans_spheres.comp) for `Sans_spheres.comp`. +- The test/example instrument SANS.instr. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/SasView_model.md b/mcstas-comps/samples/SasView_model.md new file mode 100644 index 0000000000..9d7d7e6473 --- /dev/null +++ b/mcstas-comps/samples/SasView_model.md @@ -0,0 +1,2150 @@ +# The `SasView_model` Component + +*McStas: This SANS sample exposes SasView's scattering kernels to McStas. In this way SasView's monodisperse scattering kernels can be call from McStas.* + +## Identification + +- **Site:** +- **Author:** Jakob Garde, Torben Nielsen, Peter Willendrup +- **Origin:** SasView, DTU, European Spallation Source ERIC +- **Date:** 03.02.2016 + +## Description + +```text +Sample for use in SANS instruments. The models describe mono disperse particles in thin solution. The sample geometry may have the shape: + +Shape: - A filled box with dimensions xwidth, yheight and zdepth. +- A cylinder with dimensions radius and yheight. +- A filled sphere given by radius. + +These parameters are mutually exclusive. + +Example using spheres in thin solution, with radius=200 AA and a delta_sld=0.6 fm/AA^3: +SasView_model(model_index=47, model_scale=1.0, model_pars={1, 7, 200}, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005,) + + +The algorithm of this component requires use of the ISO C standard c99, standard from McStas 2.7 and 3.0. + +The list of scattering models in SasView is called sasmodels. The list of McStas available SasView sasmodels are found in the table below. + +A few models may require manual documentation lookup using the above link to the SasView site. + +McStas does currently not support multiplication of formfactor models with structure factor models. + +The 2D scattering scattering kernels are denoted by modelname_xy. I.e. to evalulate scattering from aligned cylinders use model_index=10 to use cylinder_xy. + +MDOC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Model no.SasView nameParameters
0NoneNone
1barbell(sld, solvent_sld, bell_radius, radius, length)
2barbell_xy(sld, solvent_sld, bell_radius, radius, length, theta, phi)
3bcc_paracrystal(dnn, d_factor, radius, sld, solvent_sld)
4bcc_paracrystal_xy(dnn, d_factor, radius, sld, solvent_sld, theta, phi, psi)
5capped_cylinder(sld, solvent_sld, radius, cap_radius, length)
6capped_cylinder_xy(sld, solvent_sld, radius, cap_radius, length, theta, phi)
7core_shell_cylinder(core_sld, shell_sld, solvent_sld, radius, thickness, length)
8core_shell_cylinder_xy(core_sld, shell_sld, solvent_sld, radius, thickness, length, theta, phi)
9cylinder(sld, solvent_sld, radius, length)
10cylinder_xy(sld, solvent_sld, radius, length, theta, phi)
11dab(length)
12dab_xy(length)
13ellipsoid(sld, solvent_sld, rpolar, requatorial)
14ellipsoid_xy(sld, solvent_sld, rpolar, requatorial, theta, phi)
15fcc_paracrystal(dnn, d_factor, radius, sld, solvent_sld)
16fcc_paracrystal_xy(dnn, d_factor, radius, sld, solvent_sld, theta, phi, psi)
17flexible_cylinder_ex(length, kuhn_length, radius, axis_ratio, sld, solvent_sld)
18flexible_cylinder_ex_xy(length, kuhn_length, radius, axis_ratio, sld, solvent_sld)
19gaussian_peak(q0, sigma)
20gaussian_peak_xy(q0, sigma)
21guinier(rg)
22guinier_xy(rg)
23hardsphere(effect_radius, volfraction)
24hardsphere_xy(effect_radius, volfraction)
25HayterMSAsq(effect_radius, zz, VolFrac, Temp, csalt, dialec)
26HayterMSAsq_xy(effect_radius, charge, volfraction, temperature, saltconc, dielectconst)
27hollow_cylinder(radius, core_radius, length, sld, solvent_sld)
28hollow_cylinder_xy(radius, core_radius, length, sld, solvent_sld, theta, phi)
29lamellar(sld, solvent_sld, thickness)
30lamellar_xy(sld, solvent_sld, thickness)
31lamellar_FFHG(tail_length, head_length, sld, head_sld, solvent_sld)
32lamellar_FFHG_xy(tail_length, head_length, sld, head_sld, solvent_sld)
33lamellarCailleHG(tail_length, head_length, Nlayers, dd, Cp, tail_sld, head_sld, solvent_sld)
34lamellarCailleHG_xy(tail_length, head_length, Nlayers, spacing, Caille_parameter, sld, head_sld, solvent_sld)
35lamellarPC(th, Nlayers, davg, pd, sld, solvent_sld)
36lamellarPC_xy(thickness, Nlayers, spacing, spacing_polydisp, sld, solvent_sld)
37lamellarPS(del, Nlayers, dd, Cp, sld, solvent_sld)
38lamellarPS_xy(thickness, Nlayers, spacing, Caille_parameter, sld, solvent_sld)
39linear_pearls(radius, edge_sep, num_pearls, pearl_sld, solvent_sld)
40linear_pearls_xy(radius, edge_sep, num_pearls, pearl_sld, solvent_sld)
41lorentz(cor_length)
42lorentz_xy(cor_length)
43mass_fractal(radius, mass_dim, cutoff_length)
44mass_fractal_xy(radius, mass_dim, cutoff_length)
45mass_surface_fractal(mass_dim, surface_dim, cluster_rg, primary_rg)
46mass_surface_fractal_xy(mass_dim, surface_dim, cluster_rg, primary_rg)
47parallelepiped(sld, solvent_sld, a_side, b_side, c_side)
48parallelepiped_xy(sld, solvent_sld, a_side, b_side, c_side, theta, phi, psi)
49pearl_necklace(radius, edge_separation, string_thickness, number_of_pearls, sld, string_sld, solvent_sld)
50pearl_necklace_xy(radius, edge_separation, string_thickness, number_of_pearls, sld, string_sld, solvent_sld)
51sphere(sld, solvent_sld, radius)
52sphere_xy(sld, solvent_sld, radius)
53star_polymer(radius2, arms)
54star_polymer_xy(radius2, arms)
55stickyhardsphere(effect_radius, volfraction, perturb, stickiness)
56stickyhardsphere_xy(effect_radius, volfraction, perturb, stickiness)
57triaxial_ellipsoid(sld, solvent_sld, req_minor, req_major, rpolar)
58triaxial_ellipsoid_xy(sld, solvent_sld, req_minor, req_major, rpolar, theta, phi, psi)
+ + + +

Available SasView sasmodels - Extended parameters description

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sasmodels nameParameters UnitsRange
barbell { 4, 1, 40, 20, 400 }  
barbell_xy { 4, 1, 40, 20, 400, 60, 60 }  
    
 Parameters:  
 Barbell scattering length density4e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Spherical bell radiusAng[0, inf]
 Cylindrical bar radiusAng[0, inf]
 Cylinder bar lengthAng[0, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
bcc { 220, 0.06, 40, 4, 1 }  
bcc_xy { 220, 0.06, 40, 4, 1, 60, 60, 60 }  
    
 Parameters:  
 Nearest neighbour distanceAng[-inf, inf]
 Paracrystal distortion factor [-inf, inf]
 Particle radiusAng[0, inf]
 Particle scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
capped_cylinder { 4, 1, 20, 20, 400 }  
capped_cylinder_xy { 4, 1, 20, 20, 400, 60, 60 }  
    
 Parameters:  
 Cylinder scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Cylinder radiusAng[0, inf]
 Cap radiusAng[0, inf]
 Cylinder lengthAng[0, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
core_shell_cylinder { 4, 4, 1, 20, 20, 400 }  
core_shell_cylinder_xy { 4, 4, 1, 20, 20, 400, 60, 60 }  
    
 Parameters:  
 Cylinder core scattering length density1e-6/Ang^2[-inf, inf]
 Cylinder shell scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Cylinder core radiusAng[0, inf]
 Cylinder shell thicknessAng[0, inf]
 Cylinder lengthAng[0, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
cylinder { 4, 1, 20, 400 }  
cylinder_xy { 4, 1, 20, 400, 60, 60 }  
    
 Parameters:  
 Cylinder scattering length density4e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Cylinder radiusAng[0, inf]
 Cylinder lengthAng[0, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
dab { 50.0 }  
dab_xy { 50.0 }  
    
 Parameters:  
 correlation lengthAng[0, inf]
    
ellipsoid { 4, 1, 20, 400 }  
ellipsoid_xy { 4, 1, 20, 400, 60, 60 }  
    
 Parameters:  
 Ellipsoid scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Polar radiusAng[0, inf]
 Equatorial radiusAng[0, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
fcc { 220, 0.06, 40, 4, 1 }  
fcc_xy { 220, 0.06, 40, 4, 1, 60, 60, 60 }  
    
 Parameters:  
 Nearest neighbour distanceAng[-inf, inf]
 Paracrystal distortion factor [-inf, inf]
 Particle radiusAng[0, inf]
 Particle scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
flexible_cylinder_ex { 1000.0, 100.0, 20.0, 1.5, 1.0, 6.3 }  
flexible_cylinder_ex_xy { 1000.0, 100.0, 20.0, 1.5, 1.0, 6.3 }  
    
 Parameters:  
 Length of the flexible cylinderAng[0, inf]
 Kuhn length of the flexible cylinderAng[0, inf]
 Radius of the flexible cylinderAng[0, inf]
 Axis_ratio (major_radius/radius [0, inf]
 Cylinder scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
    
gaussian_peak { 0.05, 0.005 }  
gaussian_peak_xy { 0.05, 0.005 }  
    
 Parameters:  
 Peak position1/Ang[-inf, inf]
 Peak width (standard deviation)1/Ang[0, inf]
    
guinier { 60.0 }  
guinier_xy { 60.0 }  
    
 Parameters:  
 Radius of GyrationAng[0, inf]
    
hardsphere { 50.0, 0.2 }  
hardsphere_xy { 50.0, 0.2 }  
    
 Parameters:  
 effective radius of hard sphereAng[0, inf]
 volume fraction of hard spheres [0, 0.74]
    
HayterMSAsq { 20.75, 19.0, 0.0192, 318.16, 0.0, 71.08 }  
HayterMSAsq_xy { 20.75, 19.0, 0.0192, 318.16, 0.0, 71.08 }  
    
 Parameters:  
 effective radius of hard sphereAng[0, inf]
 charge on sphere (in electrons)e[0, inf]
 volume fraction of spheres [0, 0.74]
 temperature, in Kelvin, for Debye length calculationK[0, inf]
 conc of salt, 1:1 electolyte, for Debye lengthM[-inf, inf]
 dielectric constant of solvent (default water), for Debye length [-inf, inf]
    
hollow_cylinder { 30.0, 20.0, 400.0, 6.3, 1 }  
hollow_cylinder_xy { 30.0, 20.0, 400.0, 6.3, 1, 90, 0 }  
    
 Parameters:  
 Cylinder radiusAng[0, inf]
 Hollow core radiusAng[0, inf]
 Cylinder lengthAng[0, inf]
 Cylinder sld1/Ang^2[-inf, inf]
 Solvent sld1/Ang^2[-inf, inf]
 Theta angledegrees[-360, 360]
 Phi angledegrees[-360, 360]
    
lamellar { 1, 6, 50 }  
lamellar_xy { 1, 6, 50 }  
    
 Parameters:  
 Layer scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Bilayer thicknessAng[0, inf]
    
lamellarCaille { 30.0, 20, 400.0, 0.1, 6.3, 1.0 }  
lamellarCaille_xy { 30.0, 20, 400.0, 0.1, 6.3, 1.0 }  
    
 Parameters:  
 sheet thicknessAng[0, inf]
 Number of layers [0, inf]
 d-spacing of Caille S(Q)Ang[0.0, inf]
 Caille parameter1/Ang^2[0.0, 0.8]
 layer scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
    
lamellarCailleHG { 10, 2, 30, 40.0, 0.001, 0.4, 2.0, 6 }  
lamellarCailleHG_xy { 10, 2, 30, 40.0, 0.001, 0.4, 2.0, 6 }  
    
 Parameters:  
 Tail thicknessAng[0, inf]
 head thicknessAng[0, inf]
 Number of layers [0, inf]
 d-spacing of Caille S(Q)Ang[0.0, inf]
 Caille parameter [0.0, 0.8]
 Tail scattering length density1e-6/Ang^2[-inf, inf]
 Head scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
    
lamellarFFHG { 15, 10, 0.4, 3.0, 6 }  
lamellarFFHG_xy { 15, 10, 0.4, 3.0, 6 }  
    
 Parameters:  
 Tail thicknessAng[0, inf]
 head thicknessAng[0, inf]
 Tail scattering length density1e-6/Ang^2[-inf, inf]
 Head scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
    
lamellarPC { 33.0, 20, 250.0, 0.0, 1.0, 6.34 }  
lamellarPC_xy { 33.0, 20, 250.0, 0.0, 1.0, 6.34 }  
    
 Parameters:  
 sheet thicknessAng[0, inf]
 Number of layers [0, inf]
 d-spacing of paracrystal stackAng[0.0, inf]
 d-spacing polydispersityAng[0.0, inf]
 layer scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
    
linear_pearls { 80.0, 350.0, 3.0, 1.0, 6.3 }  
linear_pearls_xy { 80.0, 350.0, 3.0, 1.0, 6.3 }  
    
 Parameters:  
 Radius of the pearlsAng[0, inf]
 Length of the string segment - surface to surfaceAng[0, inf]
 Number of the pearls [0, inf]
 SLD of the pearl spheres1e-6/Ang^2[-inf, inf]
 SLD of the solvent1e-6/Ang^2[-inf, inf]
    
lorentz { 50.0 }  
lorentz_xy { 50.0 }  
    
 Parameters:  
 Screening lengthAng[0, inf]
    
mass_fractal { 10.0, 1.9, 100.0 }  
mass_fractal_xy { 10.0, 1.9, 100.0 }  
    
 Parameters:  
 Particle radiusAng[0.0, inf]
 Mass fractal dimension [1.0, 6.0]
 Cut-off lengthAng[0.0, inf]
    
mass_surface_fractal { 1.8, 2.3, 86.7, 4000.0 }  
mass_surface_fractal_xy { 1.8, 2.3, 86.7, 4000.0 }  
    
 Parameters:  
 Mass fractal dimension [1e-16, 6.0]
 Surface fractal dimension [1e-16, 6.0]
 Cluster radius of gyrationAng[0.0, inf]
 Primary particle radius of gyrationAng[0.0, inf]
    
parallelepiped { 4, 1, 35, 75, 400 }  
parallelepiped_xy { 4, 1, 35, 75, 400, 60, 60, 60 }  
    
 Parameters:  
 Parallelepiped scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Shorter side of the parallelepipedAng[0, inf]
 Second side of the parallelepipedAng[0, inf]
 Larger side of the parallelepipedAng[0, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
 Rotation angle around its own c axis against q planedegrees[-inf, inf]
    
pearl_necklace { 80.0, 350.0, 2.5, 3, 1.0, 1.0, 6.3 }  
pearl_necklace_xy { 80.0, 350.0, 2.5, 3, 1.0, 1.0, 6.3 }  
    
 Parameters:  
 Mean radius of the chained spheresAngstrom[0, inf]
 Mean separation of chained particlesAngstrom[0, inf]
 Thickness of the chain linkageAngstrom[0, inf]
 Mean number of pearls in each necklacenone[0, inf]
 Scattering length density of the chained spheresAngstrom^2[-inf, inf]
 Scattering length density of the chain linkageAngstrom^2[-inf, inf]
 Scattering length density of the solventAngstrom^2[-inf, inf]
    
sphere { 1, 6, 50 }  
sphere_xy { 1, 6, 50 }  
    
 Parameters:  
 Layer scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Sphere radiusAng[0, inf]
    
star_polymer { 100.0, 3 }  
star_polymer_xy { 100.0, 3 }  
    
 Parameters:  
 Ensemble radius of gyration squared of an armAng[0.0, inf]
 Number of arms in the model [1.0, 6.0]
    
stickyhardsphere { 50.0, 0.2, 0.05, 0.2 }  
stickyhardsphere_xy { 50.0, 0.2, 0.05, 0.2 }  
    
 Parameters:  
 effective radius of hard sphereAng[0, inf]
 volume fraction of hard spheres [0, 0.74]
 perturbation parameter, epsilon [0.01, 0.1]
 stickiness, tau [-inf, inf]
    
triaxial_ellipsoid { 4, 1, 20, 400, 10 }  
triaxial_ellipsoid_xy { 4, 1, 20, 400, 10, 60, 60, 60 }  
    
 Parameters:  
 Ellipsoid scattering length density1e-6/Ang^2[-inf, inf]
 Solvent scattering length density1e-6/Ang^2[-inf, inf]
 Minor equitorial radiusAng[0, inf]
 Major equatorial radiusAng[0, inf]
 Polar radiusAng[0, inf]
 In plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
 Out of plane angledegrees[-inf, inf]
    
+

+

+

Name convention: SasView - sasmodels

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SasView namesasmodels name P(Q) S(Q)MultiplyMultiplicity
BarBellbarbell - - --
BCCrystalbcc - - --
CappedCylindercapped_cylinder - - --
CoreShellCylindercore_shell_cylinder - - --
Cylindercylinder - - --
DABdab - - --
Ellipsoidellipsoid - - --
FCCrystalfcc - - --
FlexCylEllipXflexible_cylinder_ex - - --
PeakGaussgaussian_peak - - --
Guinierguinier - - --
HardsphereStructurehardsphere - Y --
HayterMSAStructureHayterMSAsq - Y --
HollowCylinderhollow_cylinder - - --
Lamellarlamellar - - --
LamellarPSlamellarCaille - - --
LamellarPSHGlamellarCailleHG - - --
LamellarFFHGlamellarFFHG - - --
LamellarPCrystallamellarPC - - --
LinearPearlslinear_pearls - - --
Lorentzlorentz - - --
MassFractalmass_fractal - - --
MassSurfaceFractalmass_surface_fractal - - --
Parallelepipedparallelepiped - - --
PearlNecklacepearl_necklace - - --
Spheresphere - - --
StarPolymerstar_polymer - - --
StickyHSStructurestickyhardsphere - Y --
TriaxialEllipsoidtriaxial_ellipsoid - - --
+ + +MDOC_END +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| model_index | | Index of the applied sasview model. Recompile instrument for changes to take effect. | 21 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_pars | | Model parameters are given as a set of comma-separated values enclosed by {}, e.g. {60} for the model index 21 (the guinier model). Consult the sasview docs for further info. | {60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} | +| model_abs | 1/m | Absorption cross section density at 2200 m/s | 0.5 | +| xwidth | m | horiz. dimension of sample, as a width | 0 | +| yheight | m | vert . dimension of sample, as a height for cylinder/box | 0 | +| zdepth | m | depth of sample | 0 | +| radius | m | Outer radius of sample in (x,z) plane for cylinder/sphere | 0 | +| target_x | m | relative focus target position | 0 | +| target_y | m | relative focus target position | 0 | +| target_z | m | relative focus target position | 6 | +| target_index | 1 | Relative index of component to focus at, e.g. next is +1 | 0 | +| focus_xw | m | horiz. dimension of a rectangular area | 0 | +| focus_yh | m | vert. dimension of a rectangular area | 0 | +| focus_aw | deg | horiz. angular dimension of a rectangular area | 0 | +| focus_ah | deg | vert. angular dimension of a rectangular area | 0 | + +## Links + +- [Source code](SasView_model.comp) for `SasView_model.comp`. +- http://www.sasview.org/sasview/user/models/model_functions.html + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/Single_crystal.md b/mcstas-comps/samples/Single_crystal.md new file mode 100644 index 0000000000..9d0e128069 --- /dev/null +++ b/mcstas-comps/samples/Single_crystal.md @@ -0,0 +1,206 @@ +# The `Single_crystal` Component + +*McStas: Mosaic single crystal with multiple scattering vectors, optimised for speed +with large crystals and many reflections.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** December 1999 + +## Description + +```text +Single crystal with mosaic. Delta-D/D option for finite-size effects. +Rectangular geometry. Multiple scattering and secondary extinction included. +The mosaic may EITHER be specified isotropic by setting the mosaic input +parameter, OR anisotropic by setting the mosaic_a, mosaic_b, and mosaic_c +parameters. +The crystal lattice can be bent locally, keeping the external geometry unchanged. +Curvature is spherical along vertical and horizontal axes. + +Speed/stat optimisation using SPLIT +In order to dramatically improve the simulation efficiency, we recommend to +use a SPLIT keyword on this component (or prior to it), as well as to disable +the multiple scattering handling by setting order=1. This is especially powerful +for large reflection lists such as with macromolecular proteins. When an incoming +particle is identical to the preceeding, reciprocal space initialisation is +skipped, and a Monte Carlo choice is done on available reflections from the last +repciprocal space calculation! To assist the user in choosing a "relevant" value +of the SPLIT, a rolling average of the number of available reflections is +calculated and presented in the component output. + +Mosacitiy modes: +The component features three independent ways of parametrising mosaicity: +a) The original algorithm where mosaicity is implemented by extending each +reflection by a Gaussian "cigar" in reciprocal space, characterised by +the parameters mosaic and delta_d_d. +(Also known as "isotropic mosaicity".) +b) A similar mode where mosaicities can be non-isotropic and given as the +parameters mosaic_a, mosaic_b and mosaic_c, around the unit cell axes. +(Also known as "anisotropic mosaicity".) +c) Given two "macroscopically"/experimentally measured width/mosaicities +of two independent reflections, parametrised by the list +mosaic_AB = {mos_a, mos_b, a_h, a_k, a_l, b_h, b_k, b_l}, a set of +microscopic mosaicities as in b) are estimated (internally) and applied. +(Also known as "phenomenological mosaicity".) + +Powder- and PG-mode +When these two modes are used (powder=1 or PG=1), a randomised transformation +of the particle direction is made before and after scattering, thereby letting +the single crystal behave as a crystallite of either a powder (crystallite +orientation fully randomised) or pyrolytic graphite (crystallite randomised around +the c-axis). + +Curved crystal mode +The component features a method to curve the lattice planes slightly with respect +to the outer geometry of the crystal. The method is implemented as a transformation +on the particle direction vector, and should be used only in cases where +a) The reflection lattice vector is ~ orthogonal to the crystal surface +b) The modelled curvarture is "small" with respect to the crystal surface + +Sample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth +cylinder: radius x yheight +sphere: radius (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the PLY, OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends on the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Crystal definition file format +Crystal structure is specified with an ascii data file. Each line contains +4 or more numbers, separated by white spaces: + +h k l ... F2 + +The first three numbers are the (h,k,l) indices of the reciprocal lattice +point, and the 7-th number is the value of the structure factor |F|**2, in +barns. The rest of the numbers are not used; the file is in the format +output by the Crystallographica program. +The reflection list should be ordered by decreasing d-spacing values. +Lines begining by '#' are read as comments (ignored). Most sample parameters +may be defined from the data file header, following the same mechanism as +PowderN. + +Current data file header keywords include, for data format specification: +#column_h +#column_k +#column_l +#column_F2 +#column_F +and for material specification: +#sigma_abs +#sigma_inc +#Delta_d/d +#lattice_a +#lattice_b +#lattice_c +#lattice_aa +#lattice_bb +#lattice_cc + +Last, CIF, FullProf and ShelX files can be read, and converted to F2(hkl) lists +if 'cif2hkl' is installed. The CIF2HKL env variable can be used to point to a +proper executable, else the McCode, then the system installed versions are used. + +See the Component Manual for more defails. + +Example: Single_crystal(xwidth=0.01, yheight=0.01, zdepth=0.01, mosaic = 5, reflections="YBaCuO.lau") + +A PG graphite crystal plate, cut for (002) reflections +Single_crystal(xwidth = 0.002, yheight = 0.1, zdepth = 0.1, +mosaic = 30, reflections = "C_graphite.lau", +ax=0, ay=2.14, az=-1.24, +bx = 0, by = 0, bz = 2.47, +cx = 6.71, cy = 0, cz = 0) + +A leucine protein, without multiple scattering +Single_crystal(xwidth=0.005, yheight=0.005, zdepth=0.005, +mosaic = 5, reflections="leucine.lau", order=1) + +A Vanadium incoherent elastic scattering with multiple scattering +Single_crystal(xwidth=0.01, yheight=0.01, zdepth=0.01, +reflections="", sigma_abs=5.08, sigma_inc=4.935, +ax=3.0282, by=3.0282, cz=3.0282/2) + +Also, always use a non-zero value of delta_d_d. + +%VALIDATION: +This component has been validated. + +This sample component can advantageously benefit from the SPLIT feature, e.g. +SPLIT COMPONENT sx = Single_crystal(...) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflections | string | File name containing structure factors of reflections (LAZ LAU CIF, FullProf, ShelX). Use empty ("") or NULL for incoherent scattering only | 0 | +| geometry | str | Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust | 0 | +| mosaic_AB | arc_minutes, arc_minutes,1, 1, 1, 1, 1, 1 | In Plane mosaic rotation and plane vectors (anisotropic), mosaic_A, mosaic_B, A_h,A_k,A_l, B_h,B_k,B_l. Puts the crystal in the in-plane mosaic state. Vectors A and B define plane in which the crystal roation is defined, and mosaic_A, mosaic_B, denotes the resp. mosaicities (gaussian RMS) with respect to the two reflections chosen by A and B (Miller indices). | {0,0, 0,0,0, 0,0,0} | +| xwidth | m | Width of crystal | 0 | +| yheight | m | Height of crystal | 0 | +| zdepth | m | Depth of crystal (no extinction simulated) | 0 | +| radius | m | Outer radius of sample in (x,z) plane | 0 | +| delta_d_d | 1 | Lattice spacing variance, gaussian RMS | 1e-4 | +| mosaic | arc minutes | Crystal mosaic (isotropic), gaussian RMS. Puts the crystal in the isotropic mosaic model state, thus disregarding other mosaicity parameters. | -1 | +| mosaic_a | arc minutes | Horizontal (rotation around lattice vector a) mosaic (anisotropic), gaussian RMS. Put the crystal in the anisotropic crystal vector state. I.e. model mosaicity through rotation around the crystal lattice vectors. Has precedence over in-plane mosaic model. | -1 | +| mosaic_b | arc minutes | Vertical (rotation around lattice vector b) mosaic (anisotropic), gaussian RMS. | -1 | +| mosaic_c | arc minutes | Out-of-plane (Rotation around lattice vector c) mosaic (anisotropic), gaussian RMS | -1 | +| recip_cell | 1 | Choice of direct/reciprocal (0/1) unit cell definition | 0 | +| barns | 1 | Flag to indicate if \|F\|^2 from 'reflections' is in barns or fm^2. barns=1 for laz and isotropic constant elastic scattering (reflections=NULL), barns=0 for lau type files | 0 | +| ax | AA or AA^-1 | Coordinates of first (direct/recip) unit cell vector | 0 | +| ay | | a on y axis | 0 | +| az | | a on z axis | 0 | +| bx | AA or AA^-1 | Coordinates of second (direct/recip) unit cell vector | 0 | +| by | | b on y axis | 0 | +| bz | | b on z axis | 0 | +| cx | AA or AA^-1 | Coordinates of third (direct/recip) unit cell vector | 0 | +| cy | | c on y axis | 0 | +| cz | | c on z axis | 0 | +| p_transmit | 1 | Monte Carlo probability for neutrons to be transmitted without any scattering. Used to improve statistics from weak reflections | 0.001 | +| sigma_abs | barns | Absorption cross-section per unit cell at 2200 m/s | 0 | +| sigma_inc | barns | Incoherent scattering cross-section per unit cell Use -1 to inactivate | 0 | +| aa | deg | Unit cell angles alpha, beta and gamma. Then uses norms of vectors a,b and c as lattice parameters | 0 | +| bb | deg | Beta angle | 0 | +| cc | deg | Gamma angle | 0 | +| order | 1 | Limit multiple scattering up to given order (0: all, 1: first, 2: second, ...) | 0 | +| extra_order | 1 | When using order, allow additional multiple scattering without coherent scattering, sensible with very large unit cells (0: disable, 1: one extra, 2: two extra, ...) | 0 | +| RX | m | Radius of horizontal along X lattice curvature. flat for 0 | 0 | +| RY | m | Radius of vertical along Y lattice curvature. flat for 0 | 0 | +| powder | 1 | Flag to indicate powder mode, for simulation of Debye-Scherrer cones via random crystallite orientation. A powder texture can be approximated with 0ICSD Inorganic Crystal Structure Database +- Cross sections for single elements +- Web Elements +- Fullprof powder refinement +- Crystallographica software +- Geomview and Object File Format (OFF) +- Java version of Geomview (display only) jroff.jar +- qhull +- powercrust + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/Single_magnetic_crystal.md b/mcstas-comps/samples/Single_magnetic_crystal.md new file mode 100644 index 0000000000..bd88595bbb --- /dev/null +++ b/mcstas-comps/samples/Single_magnetic_crystal.md @@ -0,0 +1,97 @@ +# The `Single_magnetic_crystal` Component + +*McStas: Release: McStas 2.6 + +Mosaic magnetic single crystal with multiple scattering vectors.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen and Linda Udby +- **Origin:** DTU Physics +- **Date:** Jan 2020 + +## Description + +```text +WARNING: This is an experimental component - no experimental validation has yet been done + +Single magnetic crystal with mosaic. Delta-D/D option for finite-size effects. +Multiple scattering and secondary extinction included. +The mosaic may EITHER be specified isotropic by setting the mosaic input +parameter, OR anisotropic by setting the mosaic_h, mosaic_v, and mosaic_n +parameters. + +The scattering is computed solely in an spin up-down configuration. That is the +scattering is considered in relation to the externally defined vector (mx,my,mz), where it +can be either SF or NSF. +Simplifications and comments : +Lande splitting factor is assumed to be g=2 +Magnetic form factors are set =1 + +Sample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth +cylinder: radius x yheight +sphere: radius (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the neutron ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using qhull/powercrust, and +viewed with geomview +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Also, always use a non-zero value of delta_d_d. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| atom_sites | str | File name containing the atoms present in the unit cell. Use empty ("") or NULL for sigma_inc scattering only | 0 | +| geometry | str | Name of an Object File Format (OFF) file for complex geometry. The OFF file may be generated from XYZ coordinates using qhull/powercrust | NULL | +| xwidth | m | Width of crystal | 0 | +| yheight | m | Height of crystal | 0 | +| zdepth | m | Depth of crystal (no extinction simulated) | 0 | +| radius | m | Outer radius of sample in (x,z) plane | 0 | +| delta_d_d | 1 | Lattice spacing variance, gaussian RMS | 1e-4 | +| mosaic | arcmin | Crystal mosaic (isotropic), gaussian RMS | -1 | +| mosaic_h | arcmin | Horizontal (rotation around Y) mosaic (anisotropic), gaussian RMS | -1 | +| mosaic_v | arcmin | Vertical (rotation around Z) mosaic (anisotropic), gaussian RMS | -1 | +| mosaic_n | arcmin | Out-of-plane (Rotation around X) mosaic (anisotropic), gaussian RMS | -1 | +| recip_cell | 1 | Choice of direct/reciprocal (0/1) unit cell definition | 0 | +| q_min | AA^-1 | lower boundary of momentum transfer range to generate hkls in | 0 | +| q_max | AA^-1 | upper boundary of momentum transfer range to generate hkls in | -1 | +| mx | 1 | | 0 | +| my | 1 | Coordinates of vector defining the SF/NSF direction | 1 | +| mz | 1 | | 0 | +| na | 1 | | 1 | +| nb | 1 | Unit cell multipliers. The specified unit cell vectors are scaled by these factors. Note that the mulitpliers are applied directly to the raw input data. I.e. if recip. cell vectors are given, multipliers should be <1 (= 1/n). F.i. used to specify a magnetic unit cell which is larger than the chemical unit cell. | 1 | +| nc | 1 | | 1 | +| ax | AA or AA^-1 | | 0 | +| ay | AA or AA^-1 | Coordinates of first (direct/recip) unit cell vector | 0 | +| az | AA or AA^-1 | | 0 | +| bx | AA or AA^-1 | | 0 | +| by | AA or AA^-1 | Coordinates of second (direct/recip) unit cell vector | 0 | +| bz | AA or AA^-1 | | 0 | +| cx | AA or AA^-1 | | 0 | +| cy | AA or AA^-1 | Coordinates of third (direct/recip) unit cell vector | 0 | +| cz | AA or AA^-1 | | 0 | +| p_transmit | 1 | Monte Carlo probability for neutrons to be transmitted without any scattering. Used to improve statistics from weak reflections | -1 | +| sigma_abs | barns | absorption cross-section per unit cell at 2200 m/s | 0 | +| sigma_inc | barns | incoherent scattering cross-section per unit cell | 0 | +| order | 1 | limit multiple scattering up to given order (0: all, 1: first, 2: second, ...) | 0 | + +## Links + +- [Source code](Single_magnetic_crystal.comp) for `Single_magnetic_crystal.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/TOFRes_sample.md b/mcstas-comps/samples/TOFRes_sample.md new file mode 100644 index 0000000000..417f9ed99e --- /dev/null +++ b/mcstas-comps/samples/TOFRes_sample.md @@ -0,0 +1,74 @@ +# The `TOFRes_sample` Component + +*McStas: Sample for TOF resolution function calculation.* + +## Identification + +- **Site:** +- **Author:** KL, 10 October 2004 +- **Origin:** Risoe +- **Date:** 1999 + +## Description + +```text +An inelastic sample with completely uniform scattering in both solid angle +and energy. This sample is used together with the TOFRes_monitor component +and (optionally) the mcresplot front-end to compute the resolution +function of all time-of-flight instruments. +The method of time focusing is used to optimize the simulations. + +The shape of the sample is either: +1. Hollow cylinder (Please note that the cylinder **must** be specified with both +a radius and a wall-thickness!) +2. A massive, rectangular box specified with dimensions xwidth, yheight, zdepth. +(i.e. **withouht** a thickness) + +hollow cylinder shape **must** be specified with both a radius and a wall-thickness. +The box is + +The scattered neutrons will have directions towards a given target and +detector arrival time in an interval of time_width centered on time_bin. +This target area is default disk shaped, but may also be rectangular +if specified focus_xw and focus_yh +or focus_aw and focus_ah, respectively in meters and degrees. +The target itself is either situated according to given coordinates (x,y,z), +or setting the relative target_index of the component to focus at +(next is +1). This target position will be set to its AT position. +When targeting to centered components, such as spheres or cylinders, +define an Arm component where to focus at. + +Example: TOFRes_sample(thickness=0.001, radius=0.01, yheight=0.04, focus_xw=0.025, focus_yh=0.025, time_bin=3e4, time_width=200, target_x=0, target_y=0, target_z=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| thickness | m | Thickness of hollow cylinder in (x,z) plane | 0 | +| radius | m | Outer radius of hollow cylinder | 0.01 | +| yheight | m | vert. dimension of sample, as a height | 0.05 | +| focus_r | m | Radius of sphere containing target | 0.05 | +| time_bin | us | position of time bin | 20000 | +| time_width | us | width of time bin | 10 | +| f | 1 | Adaptive time-shortening factor | 50 | +| target_x | | | 0 | +| target_y | m | position of target to focus at | 0 | +| target_z | | | .5 | +| focus_xw | m | horiz. dimension of a rectangular area | 0 | +| focus_yh | m | vert. dimension of a rectangular area | 0 | +| focus_aw | deg | horiz. angular dimension of a rectangular area | 0 | +| focus_ah | deg | vert. angular dimension of a rectangular area | 0 | +| xwidth | m | horiz. dimension of sample, as a width | 0 | +| zdepth | m | depth of sample | 0 | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 | 0 | + +## Links + +- [Source code](TOFRes_sample.comp) for `TOFRes_sample.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/samples/Tunneling_sample.md b/mcstas-comps/samples/Tunneling_sample.md new file mode 100644 index 0000000000..5eed4ec16a --- /dev/null +++ b/mcstas-comps/samples/Tunneling_sample.md @@ -0,0 +1,76 @@ +# The `Tunneling_sample` Component + +*McStas: A Double-cylinder shaped all-incoherent scatterer +with elastic, quasielastic (Lorentzian), and tunneling (sharp) +components.* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** 10.05.07 + +## Description + +```text +A Double-cylinder shaped all-incoherent scatterer +with both elastic, quasielastic (Lorentzian), and tunneling (sharp) +components. No multiple scattering. Absorbtion included. +The shape of the sample may be a box with dimensions xwidth, yheight, zdepth. +The area to scatter to is a disk of radius 'focus_r' situated at the target. +This target area may also be rectangular if specified focus_xw and focus_yh +or focus_aw and focus_ah, respectively in meters and degrees. +The target itself is either situated according to given coordinates (x,y,z), +or defined with the relative target_index of the component to focus +to (next is +1). +This target position will be set to its AT position. When targeting to +centered components, such as spheres or cylinders, define an Arm component +where to focus to. + +The outgoing polarization is calculated as for nuclear spin incoherence: +P' = 1/3*P-2/3P = -1/3P +As above multiple scattering is ignored . + +Example: Tunneling_sample(thickness=0.001,radius=0.01,yheight=0.02,focus_r=0.035, +target_index=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| thickness | m | Thickness of cylindrical sample in (x,z) plane | 0 | +| radius | m | Outer radius of sample in (x,z) plane | 0.01 | +| focus_r | m | Radius of disk containing target. Use 0 for full space | 0 | +| p_interact | 1 | MC Probability for scattering the ray; otherwise transmit | 1 | +| f_QE | 1 | Fraction of quasielastic scattering | 0 | +| f_tun | 1 | Fraction of tunneling scattering (f_QE+f_tun < 1) | 0 | +| gamma | meV | Lorentzian width of quasielastic broadening (HWHM) | 0 | +| E_tun | meV | Tunneling energy | 0 | +| target_x | m | X-position of target to focus at | 0 | +| target_y | m | Y-position of target to focus at | 0 | +| target_z | m | Z-position of target to focus at | 0.235 | +| focus_xw | m | horiz. dimension of a rectangular area | 0 | +| focus_yh | m | vert. dimension of a rectangular area | 0 | +| focus_aw | deg | horiz. angular dimension of a rectangular area | 0 | +| focus_ah | deg | vert. angular dimension of a rectangular area | 0 | +| xwidth | m | horiz. dimension of sample, as a width | 0 | +| yheight | m | vert. dimension of sample, as a height | 0.05 | +| zdepth | m | depth of sample | 0 | +| sigma_abs | barns | Absorbtion cross section pr. unit cell | 5.08 | +| sigma_inc | barns | Total incoherent scattering cross section pr. unit cell | 4.935 | +| Vc | AA^3 | Unit cell volume | 13.827 | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 | 0 | + +## Links + +- [Source code](Tunneling_sample.comp) for `Tunneling_sample.comp`. +- Test +- results (not up-to-date). + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_adsorbed_layer.md b/mcstas-comps/sasmodels/SasView_adsorbed_layer.md new file mode 100644 index 0000000000..3abce1c719 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_adsorbed_layer.md @@ -0,0 +1,61 @@ +# The `SasView_adsorbed_layer` Component + +*McStas: SasView adsorbed_layer model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_adsorbed_layer component, generated from adsorbed_layer.c in sasmodels. + +Example: +SasView_adsorbed_layer(second_moment, adsorbed_amount, density_shell, radius, volfraction, sld_shell, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| second_moment | Ang | ([0.0, inf]) Second moment of polymer distribution. | 23.0 | +| adsorbed_amount | mg/m^2 | ([0.0, inf]) Adsorbed amount of polymer. | 1.9 | +| density_shell | g/cm^3 | ([0.0, inf]) Bulk density of polymer in the shell. | 0.7 | +| radius | Ang | ([0.0, inf]) Core particle radius. | 500.0 | +| volfraction | None | ([0.0, inf]) Core particle volume fraction. | 0.14 | +| sld_shell | 1e-6/Ang^2 | ([-inf, inf]) Polymer shell SLD. | 1.5 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent SLD. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_adsorbed_layer.comp) for `SasView_adsorbed_layer.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_barbell.md b/mcstas-comps/sasmodels/SasView_barbell.md new file mode 100644 index 0000000000..da1b60f36d --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_barbell.md @@ -0,0 +1,61 @@ +# The `SasView_barbell` Component + +*McStas: SasView barbell model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_barbell component, generated from barbell.c in sasmodels. + +Example: +SasView_barbell(sld, sld_solvent, radius_bell, radius, length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_bell=0.0, pd_radius=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Barbell scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius_bell | Ang | ([0, inf]) Spherical bell radius. | 40 | +| radius | Ang | ([0, inf]) Cylindrical bar radius. | 20 | +| length | Ang | ([0, inf]) Cylinder bar length. | 400 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_bell | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_barbell.comp) for `SasView_barbell.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_barbell_aniso.md b/mcstas-comps/sasmodels/SasView_barbell_aniso.md new file mode 100644 index 0000000000..3017d4ffba --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_barbell_aniso.md @@ -0,0 +1,65 @@ +# The `SasView_barbell_aniso` Component + +*McStas: SasView barbell model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_barbell component, generated from barbell.c in sasmodels. + +Example: +SasView_barbell_aniso(sld, sld_solvent, radius_bell, radius, length, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_bell=0.0, pd_radius=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Barbell scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius_bell | Ang | ([0, inf]) Spherical bell radius. | 40 | +| radius | Ang | ([0, inf]) Cylindrical bar radius. | 20 | +| length | Ang | ([0, inf]) Cylinder bar length. | 400 | +| theta | | | 60 | +| phi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_bell | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_barbell_aniso.comp) for `SasView_barbell_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_bcc_paracrystal.md b/mcstas-comps/sasmodels/SasView_bcc_paracrystal.md new file mode 100644 index 0000000000..604dee11f9 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_bcc_paracrystal.md @@ -0,0 +1,59 @@ +# The `SasView_bcc_paracrystal` Component + +*McStas: SasView bcc_paracrystal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_bcc_paracrystal component, generated from bcc_paracrystal.c in sasmodels. + +Example: +SasView_bcc_paracrystal(dnn, d_factor, radius, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dnn | Ang | ([-inf, inf]) Nearest neighbour distance. | 220 | +| d_factor | | ([-inf, inf]) Paracrystal distortion factor. | 0.06 | +| radius | Ang | ([0, inf]) Particle radius. | 40 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Particle scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_bcc_paracrystal.comp) for `SasView_bcc_paracrystal.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_bcc_paracrystal_aniso.md b/mcstas-comps/sasmodels/SasView_bcc_paracrystal_aniso.md new file mode 100644 index 0000000000..f145006292 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_bcc_paracrystal_aniso.md @@ -0,0 +1,65 @@ +# The `SasView_bcc_paracrystal_aniso` Component + +*McStas: SasView bcc_paracrystal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_bcc_paracrystal component, generated from bcc_paracrystal.c in sasmodels. + +Example: +SasView_bcc_paracrystal_aniso(dnn, d_factor, radius, sld, sld_solvent, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dnn | Ang | ([-inf, inf]) Nearest neighbour distance. | 220 | +| d_factor | | ([-inf, inf]) Paracrystal distortion factor. | 0.06 | +| radius | Ang | ([0, inf]) Particle radius. | 40 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Particle scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| theta | | | 60 | +| phi | | | 60 | +| Psi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_bcc_paracrystal_aniso.comp) for `SasView_bcc_paracrystal_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_binary_hard_sphere.md b/mcstas-comps/sasmodels/SasView_binary_hard_sphere.md new file mode 100644 index 0000000000..b5980b602f --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_binary_hard_sphere.md @@ -0,0 +1,62 @@ +# The `SasView_binary_hard_sphere` Component + +*McStas: SasView binary_hard_sphere model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_binary_hard_sphere component, generated from binary_hard_sphere.c in sasmodels. + +Example: +SasView_binary_hard_sphere(radius_lg, radius_sm, volfraction_lg, volfraction_sm, sld_lg, sld_sm, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_lg=0.0, pd_radius_sm=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_lg | Ang | ([0, inf]) radius of large particle. | 100 | +| radius_sm | Ang | ([0, inf]) radius of small particle. | 25 | +| volfraction_lg | | ([0, 1]) volume fraction of large particle. | 0.1 | +| volfraction_sm | | ([0, 1]) volume fraction of small particle. | 0.2 | +| sld_lg | 1e-6/Ang^2 | ([-inf, inf]) scattering length density of large particle. | 3.5 | +| sld_sm | 1e-6/Ang^2 | ([-inf, inf]) scattering length density of small particle. | 0.5 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6.36 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_lg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_sm | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_binary_hard_sphere.comp) for `SasView_binary_hard_sphere.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_broad_peak.md b/mcstas-comps/sasmodels/SasView_broad_peak.md new file mode 100644 index 0000000000..13e4548507 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_broad_peak.md @@ -0,0 +1,61 @@ +# The `SasView_broad_peak` Component + +*McStas: SasView broad_peak model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_broad_peak component, generated from broad_peak.c in sasmodels. + +Example: +SasView_broad_peak(porod_scale, porod_exp, peak_scale, correlation_length, peak_pos, width_exp, shape_exp, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_correlation_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| porod_scale | | ([-inf, inf]) Power law scale factor. | 1e-05 | +| porod_exp | | ([-inf, inf]) Exponent of power law. | 3.0 | +| peak_scale | | ([-inf, inf]) Scale factor for broad peak. | 10.0 | +| correlation_length | Ang | ([-inf, inf]) screening length. | 50.0 | +| peak_pos | 1/Ang | ([-inf, inf]) Peak position in q. | 0.1 | +| width_exp | | ([-inf, inf]) Exponent of peak width. | 2.0 | +| shape_exp | | ([-inf, inf]) Exponent of peak shape. | 1.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_correlation_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_broad_peak.comp) for `SasView_broad_peak.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_capped_cylinder.md b/mcstas-comps/sasmodels/SasView_capped_cylinder.md new file mode 100644 index 0000000000..31630cf2f1 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_capped_cylinder.md @@ -0,0 +1,61 @@ +# The `SasView_capped_cylinder` Component + +*McStas: SasView capped_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_capped_cylinder component, generated from capped_cylinder.c in sasmodels. + +Example: +SasView_capped_cylinder(sld, sld_solvent, radius, radius_cap, length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_radius_cap=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius | Ang | ([0, inf]) Cylinder radius. | 20 | +| radius_cap | Ang | ([0, inf]) Cap radius. | 20 | +| length | Ang | ([0, inf]) Cylinder length. | 400 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_cap | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_capped_cylinder.comp) for `SasView_capped_cylinder.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_capped_cylinder_aniso.md b/mcstas-comps/sasmodels/SasView_capped_cylinder_aniso.md new file mode 100644 index 0000000000..3710ecadda --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_capped_cylinder_aniso.md @@ -0,0 +1,65 @@ +# The `SasView_capped_cylinder_aniso` Component + +*McStas: SasView capped_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_capped_cylinder component, generated from capped_cylinder.c in sasmodels. + +Example: +SasView_capped_cylinder_aniso(sld, sld_solvent, radius, radius_cap, length, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_radius_cap=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius | Ang | ([0, inf]) Cylinder radius. | 20 | +| radius_cap | Ang | ([0, inf]) Cap radius. | 20 | +| length | Ang | ([0, inf]) Cylinder length. | 400 | +| theta | | | 60 | +| phi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_cap | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_capped_cylinder_aniso.comp) for `SasView_capped_cylinder_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_core_multi_shell.md b/mcstas-comps/sasmodels/SasView_core_multi_shell.md new file mode 100644 index 0000000000..cba0fab235 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_core_multi_shell.md @@ -0,0 +1,38 @@ +# The `SasView_core_multi_shell` Component + +*McStas: SasView core_multi_shell model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_multi_shell component, generated from core_multi_shell.c in sasmodels. + +Example: +SasView_core_multi_shell(sld_core, radius, sld_solvent, n, sld[n], thickness[n], +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness[n]=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](SasView_core_multi_shell.comp) for `SasView_core_multi_shell.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_core_shell_bicelle.md b/mcstas-comps/sasmodels/SasView_core_shell_bicelle.md new file mode 100644 index 0000000000..0952b8f484 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_core_shell_bicelle.md @@ -0,0 +1,65 @@ +# The `SasView_core_shell_bicelle` Component + +*McStas: SasView core_shell_bicelle model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_bicelle component, generated from core_shell_bicelle.c in sasmodels. + +Example: +SasView_core_shell_bicelle(radius, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius. | 80 | +| thick_rim | Ang | ([0, inf]) Rim shell thickness. | 10 | +| thick_face | Ang | ([0, inf]) Cylinder face thickness. | 10 | +| length | Ang | ([0, inf]) Cylinder length. | 50 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 1 | +| sld_face | 1e-6/Ang^2 | ([-inf, inf]) Cylinder face scattering length density. | 4 | +| sld_rim | 1e-6/Ang^2 | ([-inf, inf]) Cylinder rim scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_face | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_core_shell_bicelle.comp) for `SasView_core_shell_bicelle.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_core_shell_bicelle_aniso.md b/mcstas-comps/sasmodels/SasView_core_shell_bicelle_aniso.md new file mode 100644 index 0000000000..82899120cc --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_core_shell_bicelle_aniso.md @@ -0,0 +1,69 @@ +# The `SasView_core_shell_bicelle_aniso` Component + +*McStas: SasView core_shell_bicelle model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_bicelle component, generated from core_shell_bicelle.c in sasmodels. + +Example: +SasView_core_shell_bicelle_aniso(radius, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius. | 80 | +| thick_rim | Ang | ([0, inf]) Rim shell thickness. | 10 | +| thick_face | Ang | ([0, inf]) Cylinder face thickness. | 10 | +| length | Ang | ([0, inf]) Cylinder length. | 50 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 1 | +| sld_face | 1e-6/Ang^2 | ([-inf, inf]) Cylinder face scattering length density. | 4 | +| sld_rim | 1e-6/Ang^2 | ([-inf, inf]) Cylinder rim scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| theta | | | 90 | +| phi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_face | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_core_shell_bicelle_aniso.comp) for `SasView_core_shell_bicelle_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical.md b/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical.md new file mode 100644 index 0000000000..a7bb26049d --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical.md @@ -0,0 +1,66 @@ +# The `SasView_core_shell_bicelle_elliptical` Component + +*McStas: SasView core_shell_bicelle_elliptical model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_bicelle_elliptical component, generated from core_shell_bicelle_elliptical.c in sasmodels. + +Example: +SasView_core_shell_bicelle_elliptical(radius, x_core, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius r_minor. | 30 | +| x_core | None | ([0, inf]) Axial ratio of core, X = r_major/r_minor. | 3 | +| thick_rim | Ang | ([0, inf]) Rim shell thickness. | 8 | +| thick_face | Ang | ([0, inf]) Cylinder face thickness. | 14 | +| length | Ang | ([0, inf]) Cylinder length. | 50 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 4 | +| sld_face | 1e-6/Ang^2 | ([-inf, inf]) Cylinder face scattering length density. | 7 | +| sld_rim | 1e-6/Ang^2 | ([-inf, inf]) Cylinder rim scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_face | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_core_shell_bicelle_elliptical.comp) for `SasView_core_shell_bicelle_elliptical.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical_aniso.md b/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical_aniso.md new file mode 100644 index 0000000000..2423fb840d --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical_aniso.md @@ -0,0 +1,72 @@ +# The `SasView_core_shell_bicelle_elliptical_aniso` Component + +*McStas: SasView core_shell_bicelle_elliptical model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_bicelle_elliptical component, generated from core_shell_bicelle_elliptical.c in sasmodels. + +Example: +SasView_core_shell_bicelle_elliptical_aniso(radius, x_core, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius r_minor. | 30 | +| x_core | None | ([0, inf]) Axial ratio of core, X = r_major/r_minor. | 3 | +| thick_rim | Ang | ([0, inf]) Rim shell thickness. | 8 | +| thick_face | Ang | ([0, inf]) Cylinder face thickness. | 14 | +| length | Ang | ([0, inf]) Cylinder length. | 50 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 4 | +| sld_face | 1e-6/Ang^2 | ([-inf, inf]) Cylinder face scattering length density. | 7 | +| sld_rim | 1e-6/Ang^2 | ([-inf, inf]) Cylinder rim scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| theta | | | 90.0 | +| phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_face | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_core_shell_bicelle_elliptical_aniso.comp) for `SasView_core_shell_bicelle_elliptical_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough.md b/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough.md new file mode 100644 index 0000000000..c027da92b9 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough.md @@ -0,0 +1,67 @@ +# The `SasView_core_shell_bicelle_elliptical_belt_rough` Component + +*McStas: SasView core_shell_bicelle_elliptical_belt_rough model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_bicelle_elliptical_belt_rough component, generated from core_shell_bicelle_elliptical_belt_rough.c in sasmodels. + +Example: +SasView_core_shell_bicelle_elliptical_belt_rough(radius, x_core, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, sigma, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius r_minor. | 30 | +| x_core | None | ([0, inf]) Axial ratio of core, X = r_major/r_minor. | 3 | +| thick_rim | Ang | ([0, inf]) Rim or belt shell thickness. | 8 | +| thick_face | Ang | ([0, inf]) Cylinder face thickness. | 14 | +| length | Ang | ([0, inf]) Cylinder length. | 50 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 4 | +| sld_face | 1e-6/Ang^2 | ([-inf, inf]) Cylinder face scattering length density. | 7 | +| sld_rim | 1e-6/Ang^2 | ([-inf, inf]) Cylinder rim scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| sigma | Ang | ([0, inf]) Interfacial roughness. | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_face | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_core_shell_bicelle_elliptical_belt_rough.comp) for `SasView_core_shell_bicelle_elliptical_belt_rough.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough_aniso.md b/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough_aniso.md new file mode 100644 index 0000000000..ba101119f3 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough_aniso.md @@ -0,0 +1,73 @@ +# The `SasView_core_shell_bicelle_elliptical_belt_rough_aniso` Component + +*McStas: SasView core_shell_bicelle_elliptical_belt_rough model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_bicelle_elliptical_belt_rough component, generated from core_shell_bicelle_elliptical_belt_rough.c in sasmodels. + +Example: +SasView_core_shell_bicelle_elliptical_belt_rough_aniso(radius, x_core, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, sigma, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius r_minor. | 30 | +| x_core | None | ([0, inf]) Axial ratio of core, X = r_major/r_minor. | 3 | +| thick_rim | Ang | ([0, inf]) Rim or belt shell thickness. | 8 | +| thick_face | Ang | ([0, inf]) Cylinder face thickness. | 14 | +| length | Ang | ([0, inf]) Cylinder length. | 50 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 4 | +| sld_face | 1e-6/Ang^2 | ([-inf, inf]) Cylinder face scattering length density. | 7 | +| sld_rim | 1e-6/Ang^2 | ([-inf, inf]) Cylinder rim scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| sigma | Ang | ([0, inf]) Interfacial roughness. | 0 | +| theta | | | 90.0 | +| phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_face | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_core_shell_bicelle_elliptical_belt_rough_aniso.comp) for `SasView_core_shell_bicelle_elliptical_belt_rough_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_core_shell_cylinder.md b/mcstas-comps/sasmodels/SasView_core_shell_cylinder.md new file mode 100644 index 0000000000..f42a09b214 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_core_shell_cylinder.md @@ -0,0 +1,62 @@ +# The `SasView_core_shell_cylinder` Component + +*McStas: SasView core_shell_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_cylinder component, generated from core_shell_cylinder.c in sasmodels. + +Example: +SasView_core_shell_cylinder(sld_core, sld_shell, sld_solvent, radius, thickness, length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 4 | +| sld_shell | 1e-6/Ang^2 | ([-inf, inf]) Cylinder shell scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius | Ang | ([0, inf]) Cylinder core radius. | 20 | +| thickness | Ang | ([0, inf]) Cylinder shell thickness. | 20 | +| length | Ang | ([0, inf]) Cylinder length. | 400 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_core_shell_cylinder.comp) for `SasView_core_shell_cylinder.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_core_shell_cylinder_aniso.md b/mcstas-comps/sasmodels/SasView_core_shell_cylinder_aniso.md new file mode 100644 index 0000000000..3e0530ec1c --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_core_shell_cylinder_aniso.md @@ -0,0 +1,66 @@ +# The `SasView_core_shell_cylinder_aniso` Component + +*McStas: SasView core_shell_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_cylinder component, generated from core_shell_cylinder.c in sasmodels. + +Example: +SasView_core_shell_cylinder_aniso(sld_core, sld_shell, sld_solvent, radius, thickness, length, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 4 | +| sld_shell | 1e-6/Ang^2 | ([-inf, inf]) Cylinder shell scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius | Ang | ([0, inf]) Cylinder core radius. | 20 | +| thickness | Ang | ([0, inf]) Cylinder shell thickness. | 20 | +| length | Ang | ([0, inf]) Cylinder length. | 400 | +| theta | | | 60 | +| phi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_core_shell_cylinder_aniso.comp) for `SasView_core_shell_cylinder_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_core_shell_ellipsoid.md b/mcstas-comps/sasmodels/SasView_core_shell_ellipsoid.md new file mode 100644 index 0000000000..196cab4e79 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_core_shell_ellipsoid.md @@ -0,0 +1,62 @@ +# The `SasView_core_shell_ellipsoid` Component + +*McStas: SasView core_shell_ellipsoid model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_ellipsoid component, generated from core_shell_ellipsoid.c in sasmodels. + +Example: +SasView_core_shell_ellipsoid(radius_equat_core, x_core, thick_shell, x_polar_shell, sld_core, sld_shell, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_equat_core=0.0, pd_thick_shell=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_equat_core | Ang | ([0, inf]) Equatorial radius of core. | 20 | +| x_core | None | ([0, inf]) axial ratio of core, X = r_polar/r_equatorial. | 3 | +| thick_shell | Ang | ([0, inf]) thickness of shell at equator. | 30 | +| x_polar_shell | | ([0, inf]) ratio of thickness of shell at pole to that at equator. | 1 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Core scattering length density. | 2 | +| sld_shell | 1e-6/Ang^2 | ([-inf, inf]) Shell scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_equat_core | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_shell | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_core_shell_ellipsoid.comp) for `SasView_core_shell_ellipsoid.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_core_shell_ellipsoid_aniso.md b/mcstas-comps/sasmodels/SasView_core_shell_ellipsoid_aniso.md new file mode 100644 index 0000000000..d2027627dd --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_core_shell_ellipsoid_aniso.md @@ -0,0 +1,66 @@ +# The `SasView_core_shell_ellipsoid_aniso` Component + +*McStas: SasView core_shell_ellipsoid model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_ellipsoid component, generated from core_shell_ellipsoid.c in sasmodels. + +Example: +SasView_core_shell_ellipsoid_aniso(radius_equat_core, x_core, thick_shell, x_polar_shell, sld_core, sld_shell, sld_solvent, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_equat_core=0.0, pd_thick_shell=0.0, pd_theta=0.0, pd_phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_equat_core | Ang | ([0, inf]) Equatorial radius of core. | 20 | +| x_core | None | ([0, inf]) axial ratio of core, X = r_polar/r_equatorial. | 3 | +| thick_shell | Ang | ([0, inf]) thickness of shell at equator. | 30 | +| x_polar_shell | | ([0, inf]) ratio of thickness of shell at pole to that at equator. | 1 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Core scattering length density. | 2 | +| sld_shell | 1e-6/Ang^2 | ([-inf, inf]) Shell scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6.3 | +| theta | | | 0 | +| phi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_equat_core | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_shell | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_core_shell_ellipsoid_aniso.comp) for `SasView_core_shell_ellipsoid_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_core_shell_parallelepiped.md b/mcstas-comps/sasmodels/SasView_core_shell_parallelepiped.md new file mode 100644 index 0000000000..5823baaad0 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_core_shell_parallelepiped.md @@ -0,0 +1,70 @@ +# The `SasView_core_shell_parallelepiped` Component + +*McStas: SasView core_shell_parallelepiped model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_parallelepiped component, generated from core_shell_parallelepiped.c in sasmodels. + +Example: +SasView_core_shell_parallelepiped(sld_core, sld_a, sld_b, sld_c, sld_solvent, length_a, length_b, length_c, thick_rim_a, thick_rim_b, thick_rim_c, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_length_b=0.0, pd_length_c=0.0, pd_thick_rim_a=0.0, pd_thick_rim_b=0.0, pd_thick_rim_c=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped core scattering length density. | 1 | +| sld_a | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped A rim scattering length density. | 2 | +| sld_b | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped B rim scattering length density. | 4 | +| sld_c | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped C rim scattering length density. | 2 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| length_a | Ang | ([0, inf]) Shorter side of the parallelepiped. | 35 | +| length_b | Ang | ([0, inf]) Second side of the parallelepiped. | 75 | +| length_c | Ang | ([0, inf]) Larger side of the parallelepiped. | 400 | +| thick_rim_a | Ang | ([0, inf]) Thickness of A rim. | 10 | +| thick_rim_b | Ang | ([0, inf]) Thickness of B rim. | 10 | +| thick_rim_c | Ang | ([0, inf]) Thickness of C rim. | 10 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_b | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_c | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim_b | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim_c | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_core_shell_parallelepiped.comp) for `SasView_core_shell_parallelepiped.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_core_shell_parallelepiped_aniso.md b/mcstas-comps/sasmodels/SasView_core_shell_parallelepiped_aniso.md new file mode 100644 index 0000000000..35d090d50b --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_core_shell_parallelepiped_aniso.md @@ -0,0 +1,76 @@ +# The `SasView_core_shell_parallelepiped_aniso` Component + +*McStas: SasView core_shell_parallelepiped model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_parallelepiped component, generated from core_shell_parallelepiped.c in sasmodels. + +Example: +SasView_core_shell_parallelepiped_aniso(sld_core, sld_a, sld_b, sld_c, sld_solvent, length_a, length_b, length_c, thick_rim_a, thick_rim_b, thick_rim_c, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_length_b=0.0, pd_length_c=0.0, pd_thick_rim_a=0.0, pd_thick_rim_b=0.0, pd_thick_rim_c=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped core scattering length density. | 1 | +| sld_a | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped A rim scattering length density. | 2 | +| sld_b | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped B rim scattering length density. | 4 | +| sld_c | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped C rim scattering length density. | 2 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| length_a | Ang | ([0, inf]) Shorter side of the parallelepiped. | 35 | +| length_b | Ang | ([0, inf]) Second side of the parallelepiped. | 75 | +| length_c | Ang | ([0, inf]) Larger side of the parallelepiped. | 400 | +| thick_rim_a | Ang | ([0, inf]) Thickness of A rim. | 10 | +| thick_rim_b | Ang | ([0, inf]) Thickness of B rim. | 10 | +| thick_rim_c | Ang | ([0, inf]) Thickness of C rim. | 10 | +| theta | | | 0 | +| phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_b | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_c | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim_b | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim_c | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_core_shell_parallelepiped_aniso.comp) for `SasView_core_shell_parallelepiped_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_core_shell_sphere.md b/mcstas-comps/sasmodels/SasView_core_shell_sphere.md new file mode 100644 index 0000000000..84a7de148a --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_core_shell_sphere.md @@ -0,0 +1,60 @@ +# The `SasView_core_shell_sphere` Component + +*McStas: SasView core_shell_sphere model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_sphere component, generated from core_shell_sphere.c in sasmodels. + +Example: +SasView_core_shell_sphere(radius, thickness, sld_core, sld_shell, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Sphere core radius. | 60.0 | +| thickness | Ang | ([0, inf]) Sphere shell thickness. | 10.0 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) core scattering length density. | 1.0 | +| sld_shell | 1e-6/Ang^2 | ([-inf, inf]) shell scattering length density. | 2.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 3.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_core_shell_sphere.comp) for `SasView_core_shell_sphere.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_correlation_length.md b/mcstas-comps/sasmodels/SasView_correlation_length.md new file mode 100644 index 0000000000..3b9383d7dd --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_correlation_length.md @@ -0,0 +1,59 @@ +# The `SasView_correlation_length` Component + +*McStas: SasView correlation_length model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_correlation_length component, generated from correlation_length.c in sasmodels. + +Example: +SasView_correlation_length(lorentz_scale, porod_scale, cor_length, porod_exp, lorentz_exp, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_cor_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lorentz_scale | | ([0, inf]) Lorentzian Scaling Factor. | 10.0 | +| porod_scale | | ([0, inf]) Porod Scaling Factor. | 1e-06 | +| cor_length | Ang | ([0, inf]) Correlation length, xi, in Lorentzian. | 50.0 | +| porod_exp | | ([0, inf]) Porod Exponent, n, in q^-n. | 3.0 | +| lorentz_exp | | ([0, inf]) Lorentzian Exponent, m, in 1/( 1 + (q.xi)^m). | 2.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_cor_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_correlation_length.comp) for `SasView_correlation_length.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_cylinder.md b/mcstas-comps/sasmodels/SasView_cylinder.md new file mode 100644 index 0000000000..42747263a2 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_cylinder.md @@ -0,0 +1,59 @@ +# The `SasView_cylinder` Component + +*McStas: SasView cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_cylinder component, generated from cylinder.c in sasmodels. + +Example: +SasView_cylinder(sld, sld_solvent, radius, length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius | Ang | ([0, inf]) Cylinder radius. | 20 | +| length | Ang | ([0, inf]) Cylinder length. | 400 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_cylinder.comp) for `SasView_cylinder.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_cylinder_aniso.md b/mcstas-comps/sasmodels/SasView_cylinder_aniso.md new file mode 100644 index 0000000000..3c31fe2e5e --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_cylinder_aniso.md @@ -0,0 +1,63 @@ +# The `SasView_cylinder_aniso` Component + +*McStas: SasView cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_cylinder component, generated from cylinder.c in sasmodels. + +Example: +SasView_cylinder_aniso(sld, sld_solvent, radius, length, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius | Ang | ([0, inf]) Cylinder radius. | 20 | +| length | Ang | ([0, inf]) Cylinder length. | 400 | +| theta | | | 60 | +| phi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_cylinder_aniso.comp) for `SasView_cylinder_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_dab.md b/mcstas-comps/sasmodels/SasView_dab.md new file mode 100644 index 0000000000..d82580eca1 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_dab.md @@ -0,0 +1,55 @@ +# The `SasView_dab` Component + +*McStas: SasView dab model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_dab component, generated from dab.c in sasmodels. + +Example: +SasView_dab(cor_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_cor_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| cor_length | Ang | ([0, inf]) correlation length. | 50.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_cor_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_dab.comp) for `SasView_dab.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_ellipsoid.md b/mcstas-comps/sasmodels/SasView_ellipsoid.md new file mode 100644 index 0000000000..6e9d08dba2 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_ellipsoid.md @@ -0,0 +1,59 @@ +# The `SasView_ellipsoid` Component + +*McStas: SasView ellipsoid model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_ellipsoid component, generated from ellipsoid.c in sasmodels. + +Example: +SasView_ellipsoid(sld, sld_solvent, radius_polar, radius_equatorial, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_polar=0.0, pd_radius_equatorial=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Ellipsoid scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius_polar | Ang | ([0, inf]) Polar radius. | 20 | +| radius_equatorial | Ang | ([0, inf]) Equatorial radius. | 400 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_polar | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_equatorial | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_ellipsoid.comp) for `SasView_ellipsoid.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_ellipsoid_aniso.md b/mcstas-comps/sasmodels/SasView_ellipsoid_aniso.md new file mode 100644 index 0000000000..f4bfe0e7ee --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_ellipsoid_aniso.md @@ -0,0 +1,63 @@ +# The `SasView_ellipsoid_aniso` Component + +*McStas: SasView ellipsoid model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_ellipsoid component, generated from ellipsoid.c in sasmodels. + +Example: +SasView_ellipsoid_aniso(sld, sld_solvent, radius_polar, radius_equatorial, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_polar=0.0, pd_radius_equatorial=0.0, pd_theta=0.0, pd_phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Ellipsoid scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius_polar | Ang | ([0, inf]) Polar radius. | 20 | +| radius_equatorial | Ang | ([0, inf]) Equatorial radius. | 400 | +| theta | | | 60 | +| phi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_polar | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_equatorial | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_ellipsoid_aniso.comp) for `SasView_ellipsoid_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_elliptical_cylinder.md b/mcstas-comps/sasmodels/SasView_elliptical_cylinder.md new file mode 100644 index 0000000000..c288fe6e65 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_elliptical_cylinder.md @@ -0,0 +1,60 @@ +# The `SasView_elliptical_cylinder` Component + +*McStas: SasView elliptical_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_elliptical_cylinder component, generated from elliptical_cylinder.c in sasmodels. + +Example: +SasView_elliptical_cylinder(radius_minor, r_ratio, length, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_minor=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_minor | Ang | ([0, inf]) Ellipse minor radius. | 20.0 | +| r_ratio | | ([1, inf]) Ratio of major radius over minor radius. | 1.5 | +| length | Ang | ([1, inf]) Length of the cylinder. | 400.0 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 4.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_minor | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_elliptical_cylinder.comp) for `SasView_elliptical_cylinder.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_elliptical_cylinder_aniso.md b/mcstas-comps/sasmodels/SasView_elliptical_cylinder_aniso.md new file mode 100644 index 0000000000..89e82727cb --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_elliptical_cylinder_aniso.md @@ -0,0 +1,66 @@ +# The `SasView_elliptical_cylinder_aniso` Component + +*McStas: SasView elliptical_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_elliptical_cylinder component, generated from elliptical_cylinder.c in sasmodels. + +Example: +SasView_elliptical_cylinder_aniso(radius_minor, r_ratio, length, sld, sld_solvent, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_minor=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_minor | Ang | ([0, inf]) Ellipse minor radius. | 20.0 | +| r_ratio | | ([1, inf]) Ratio of major radius over minor radius. | 1.5 | +| length | Ang | ([1, inf]) Length of the cylinder. | 400.0 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 4.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1.0 | +| theta | | | 90.0 | +| phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_minor | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_elliptical_cylinder_aniso.comp) for `SasView_elliptical_cylinder_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_fcc_paracrystal.md b/mcstas-comps/sasmodels/SasView_fcc_paracrystal.md new file mode 100644 index 0000000000..257369125a --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_fcc_paracrystal.md @@ -0,0 +1,59 @@ +# The `SasView_fcc_paracrystal` Component + +*McStas: SasView fcc_paracrystal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_fcc_paracrystal component, generated from fcc_paracrystal.c in sasmodels. + +Example: +SasView_fcc_paracrystal(dnn, d_factor, radius, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dnn | Ang | ([-inf, inf]) Nearest neighbour distance. | 220 | +| d_factor | | ([-inf, inf]) Paracrystal distortion factor. | 0.06 | +| radius | Ang | ([0, inf]) Particle radius. | 40 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Particle scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_fcc_paracrystal.comp) for `SasView_fcc_paracrystal.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_fcc_paracrystal_aniso.md b/mcstas-comps/sasmodels/SasView_fcc_paracrystal_aniso.md new file mode 100644 index 0000000000..3579fcdf6e --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_fcc_paracrystal_aniso.md @@ -0,0 +1,65 @@ +# The `SasView_fcc_paracrystal_aniso` Component + +*McStas: SasView fcc_paracrystal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_fcc_paracrystal component, generated from fcc_paracrystal.c in sasmodels. + +Example: +SasView_fcc_paracrystal_aniso(dnn, d_factor, radius, sld, sld_solvent, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dnn | Ang | ([-inf, inf]) Nearest neighbour distance. | 220 | +| d_factor | | ([-inf, inf]) Paracrystal distortion factor. | 0.06 | +| radius | Ang | ([0, inf]) Particle radius. | 40 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Particle scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| theta | | | 60 | +| phi | | | 60 | +| Psi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_fcc_paracrystal_aniso.comp) for `SasView_fcc_paracrystal_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_flexible_cylinder.md b/mcstas-comps/sasmodels/SasView_flexible_cylinder.md new file mode 100644 index 0000000000..2cac2b7846 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_flexible_cylinder.md @@ -0,0 +1,61 @@ +# The `SasView_flexible_cylinder` Component + +*McStas: SasView flexible_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_flexible_cylinder component, generated from flexible_cylinder.c in sasmodels. + +Example: +SasView_flexible_cylinder(length, kuhn_length, radius, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length=0.0, pd_kuhn_length=0.0, pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| length | Ang | ([0, inf]) Length of the flexible cylinder. | 1000.0 | +| kuhn_length | Ang | ([0, inf]) Kuhn length of the flexible cylinder. | 100.0 | +| radius | Ang | ([0, inf]) Radius of the flexible cylinder. | 20.0 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 1.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_kuhn_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_flexible_cylinder.comp) for `SasView_flexible_cylinder.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_flexible_cylinder_elliptical.md b/mcstas-comps/sasmodels/SasView_flexible_cylinder_elliptical.md new file mode 100644 index 0000000000..3839e937d3 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_flexible_cylinder_elliptical.md @@ -0,0 +1,62 @@ +# The `SasView_flexible_cylinder_elliptical` Component + +*McStas: SasView flexible_cylinder_elliptical model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_flexible_cylinder_elliptical component, generated from flexible_cylinder_elliptical.c in sasmodels. + +Example: +SasView_flexible_cylinder_elliptical(length, kuhn_length, radius, axis_ratio, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length=0.0, pd_kuhn_length=0.0, pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| length | Ang | ([0, inf]) Length of the flexible cylinder. | 1000.0 | +| kuhn_length | Ang | ([0, inf]) Kuhn length of the flexible cylinder. | 100.0 | +| radius | Ang | ([1, inf]) Radius of the flexible cylinder. | 20.0 | +| axis_ratio | | ([0, inf]) Axis_ratio (major_radius/minor_radius. | 1.5 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 1.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_kuhn_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_flexible_cylinder_elliptical.comp) for `SasView_flexible_cylinder_elliptical.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_fractal.md b/mcstas-comps/sasmodels/SasView_fractal.md new file mode 100644 index 0000000000..9d939bbf2a --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_fractal.md @@ -0,0 +1,61 @@ +# The `SasView_fractal` Component + +*McStas: SasView fractal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_fractal component, generated from fractal.c in sasmodels. + +Example: +SasView_fractal(volfraction, radius, fractal_dim, cor_length, sld_block, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_cor_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| volfraction | | ([0.0, 1]) volume fraction of blocks. | 0.05 | +| radius | Ang | ([0.0, inf]) radius of particles. | 5.0 | +| fractal_dim | | ([0.0, 6.0]) fractal dimension. | 2.0 | +| cor_length | Ang | ([0.0, inf]) cluster correlation length. | 100.0 | +| sld_block | 1e-6/Ang^2 | ([-inf, inf]) scattering length density of particles. | 2.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) scattering length density of solvent. | 6.4 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_cor_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_fractal.comp) for `SasView_fractal.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_fractal_core_shell.md b/mcstas-comps/sasmodels/SasView_fractal_core_shell.md new file mode 100644 index 0000000000..07173dc47a --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_fractal_core_shell.md @@ -0,0 +1,64 @@ +# The `SasView_fractal_core_shell` Component + +*McStas: SasView fractal_core_shell model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_fractal_core_shell component, generated from fractal_core_shell.c in sasmodels. + +Example: +SasView_fractal_core_shell(radius, thickness, sld_core, sld_shell, sld_solvent, volfraction, fractal_dim, cor_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_cor_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0.0, inf]) Sphere core radius. | 60.0 | +| thickness | Ang | ([0.0, inf]) Sphere shell thickness. | 10.0 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Sphere core scattering length density. | 1.0 | +| sld_shell | 1e-6/Ang^2 | ([-inf, inf]) Sphere shell scattering length density. | 2.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 3.0 | +| volfraction | | ([0.0, inf]) Volume fraction of building block spheres. | 0.05 | +| fractal_dim | | ([0.0, 6.0]) Fractal dimension. | 2.0 | +| cor_length | Ang | ([0.0, inf]) Correlation length of fractal-like aggregates. | 100.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_cor_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_fractal_core_shell.comp) for `SasView_fractal_core_shell.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_fuzzy_sphere.md b/mcstas-comps/sasmodels/SasView_fuzzy_sphere.md new file mode 100644 index 0000000000..9f9565530f --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_fuzzy_sphere.md @@ -0,0 +1,58 @@ +# The `SasView_fuzzy_sphere` Component + +*McStas: SasView fuzzy_sphere model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_fuzzy_sphere component, generated from fuzzy_sphere.c in sasmodels. + +Example: +SasView_fuzzy_sphere(sld, sld_solvent, radius, fuzziness, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Particle scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 3 | +| radius | Ang | ([0, inf]) Sphere radius. | 60 | +| fuzziness | Ang | ([0, inf]) std deviation of Gaussian convolution for interface (must be << radius). | 10 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_fuzzy_sphere.comp) for `SasView_fuzzy_sphere.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_gauss_lorentz_gel.md b/mcstas-comps/sasmodels/SasView_gauss_lorentz_gel.md new file mode 100644 index 0000000000..6ca0657ad5 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_gauss_lorentz_gel.md @@ -0,0 +1,59 @@ +# The `SasView_gauss_lorentz_gel` Component + +*McStas: SasView gauss_lorentz_gel model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_gauss_lorentz_gel component, generated from gauss_lorentz_gel.c in sasmodels. + +Example: +SasView_gauss_lorentz_gel(gauss_scale, cor_length_static, lorentz_scale, cor_length_dynamic, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_cor_length_static=0.0, pd_cor_length_dynamic=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| gauss_scale | | ([-inf, inf]) Gauss scale factor. | 100.0 | +| cor_length_static | Ang | ([0, inf]) Static correlation length. | 100.0 | +| lorentz_scale | | ([-inf, inf]) Lorentzian scale factor. | 50.0 | +| cor_length_dynamic | Ang | ([0, inf]) Dynamic correlation length. | 20.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_cor_length_static | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_cor_length_dynamic | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_gauss_lorentz_gel.comp) for `SasView_gauss_lorentz_gel.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_gaussian_peak.md b/mcstas-comps/sasmodels/SasView_gaussian_peak.md new file mode 100644 index 0000000000..f0f3544a6e --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_gaussian_peak.md @@ -0,0 +1,55 @@ +# The `SasView_gaussian_peak` Component + +*McStas: SasView gaussian_peak model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_gaussian_peak component, generated from gaussian_peak.c in sasmodels. + +Example: +SasView_gaussian_peak(peak_pos, sigma, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| peak_pos | 1/Ang | ([-inf, inf]) Peak position. | 0.05 | +| sigma | 1/Ang | ([0, inf]) Peak width (standard deviation). | 0.005 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](SasView_gaussian_peak.comp) for `SasView_gaussian_peak.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_gel_fit.md b/mcstas-comps/sasmodels/SasView_gel_fit.md new file mode 100644 index 0000000000..c2eaa3f17b --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_gel_fit.md @@ -0,0 +1,60 @@ +# The `SasView_gel_fit` Component + +*McStas: SasView gel_fit model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_gel_fit component, generated from gel_fit.c in sasmodels. + +Example: +SasView_gel_fit(guinier_scale, lorentz_scale, rg, fractal_dim, cor_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0, pd_cor_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| guinier_scale | cm^-1 | ([-inf, inf]) Guinier term scale. | 1.7 | +| lorentz_scale | cm^-1 | ([-inf, inf]) Lorentz term scale. | 3.5 | +| rg | Ang | ([2, inf]) Radius of gyration. | 104.0 | +| fractal_dim | | ([0, inf]) Fractal exponent. | 2.0 | +| cor_length | Ang | ([0, inf]) Correlation length. | 16.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_cor_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_gel_fit.comp) for `SasView_gel_fit.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_guinier.md b/mcstas-comps/sasmodels/SasView_guinier.md new file mode 100644 index 0000000000..762bcc3bf5 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_guinier.md @@ -0,0 +1,55 @@ +# The `SasView_guinier` Component + +*McStas: SasView guinier model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_guinier component, generated from guinier.c in sasmodels. + +Example: +SasView_guinier(rg, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rg | Ang | ([-inf, inf]) Radius of Gyration. | 60.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_guinier.comp) for `SasView_guinier.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_guinier_porod.md b/mcstas-comps/sasmodels/SasView_guinier_porod.md new file mode 100644 index 0000000000..a354c40450 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_guinier_porod.md @@ -0,0 +1,57 @@ +# The `SasView_guinier_porod` Component + +*McStas: SasView guinier_porod model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_guinier_porod component, generated from guinier_porod.c in sasmodels. + +Example: +SasView_guinier_porod(rg, s, porod_exp, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rg | Ang | ([0, inf]) Radius of gyration. | 60.0 | +| s | | ([0, inf]) Dimension variable. | 1.0 | +| porod_exp | | ([0, inf]) Porod exponent. | 3.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_guinier_porod.comp) for `SasView_guinier_porod.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_hardsphere.md b/mcstas-comps/sasmodels/SasView_hardsphere.md new file mode 100644 index 0000000000..985d677af5 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_hardsphere.md @@ -0,0 +1,56 @@ +# The `SasView_hardsphere` Component + +*McStas: SasView hardsphere model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_hardsphere component, generated from hardsphere.c in sasmodels. + +Example: +SasView_hardsphere(radius_effective, volfraction, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_effective=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_effective | Ang | ([0, inf]) effective radius of hard sphere. | 50.0 | +| volfraction | | ([0, 0.74]) volume fraction of hard spheres. | 0.2 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_effective | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_hardsphere.comp) for `SasView_hardsphere.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_hayter_msa.md b/mcstas-comps/sasmodels/SasView_hayter_msa.md new file mode 100644 index 0000000000..9cbb985e8b --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_hayter_msa.md @@ -0,0 +1,61 @@ +# The `SasView_hayter_msa` Component + +*McStas: SasView hayter_msa model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_hayter_msa component, generated from hayter_msa.c in sasmodels. + +Example: +SasView_hayter_msa(radius_effective, volfraction, charge, temperature, concentration_salt, dielectconst, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_effective=0.0, pd_charge=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_effective | Ang | ([0, inf]) effective radius of charged sphere. | 20.75 | +| volfraction | None | ([0, 0.74]) volume fraction of spheres. | 0.0192 | +| charge | e | ([1e-06, 200]) charge on sphere (in electrons). | 19.0 | +| temperature | K | ([0, 450]) temperature, in Kelvin, for Debye length calculation. | 318.16 | +| concentration_salt | M | ([0, inf]) conc of salt, moles/litre, 1:1 electolyte, for Debye length. | 0.0 | +| dielectconst | None | ([-inf, inf]) dielectric constant (relative permittivity) of solvent, kappa, default water, for Debye length. | 71.08 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_effective | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_charge | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_hayter_msa.comp) for `SasView_hayter_msa.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_hollow_cylinder.md b/mcstas-comps/sasmodels/SasView_hollow_cylinder.md new file mode 100644 index 0000000000..600489a5a0 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_hollow_cylinder.md @@ -0,0 +1,61 @@ +# The `SasView_hollow_cylinder` Component + +*McStas: SasView hollow_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_hollow_cylinder component, generated from hollow_cylinder.c in sasmodels. + +Example: +SasView_hollow_cylinder(radius, thickness, length, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius. | 20.0 | +| thickness | Ang | ([0, inf]) Cylinder wall thickness. | 10.0 | +| length | Ang | ([0, inf]) Cylinder total length. | 400.0 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder sld. | 6.3 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent sld. | 1 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_hollow_cylinder.comp) for `SasView_hollow_cylinder.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_hollow_cylinder_aniso.md b/mcstas-comps/sasmodels/SasView_hollow_cylinder_aniso.md new file mode 100644 index 0000000000..c0e2fc0dac --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_hollow_cylinder_aniso.md @@ -0,0 +1,65 @@ +# The `SasView_hollow_cylinder_aniso` Component + +*McStas: SasView hollow_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_hollow_cylinder component, generated from hollow_cylinder.c in sasmodels. + +Example: +SasView_hollow_cylinder_aniso(radius, thickness, length, sld, sld_solvent, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_length=0.0, pd_theta=0.0, pd_phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius. | 20.0 | +| thickness | Ang | ([0, inf]) Cylinder wall thickness. | 10.0 | +| length | Ang | ([0, inf]) Cylinder total length. | 400.0 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder sld. | 6.3 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent sld. | 1 | +| theta | | | 90 | +| phi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_hollow_cylinder_aniso.comp) for `SasView_hollow_cylinder_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_hollow_rectangular_prism.md b/mcstas-comps/sasmodels/SasView_hollow_rectangular_prism.md new file mode 100644 index 0000000000..1ca62baa2b --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_hollow_rectangular_prism.md @@ -0,0 +1,61 @@ +# The `SasView_hollow_rectangular_prism` Component + +*McStas: SasView hollow_rectangular_prism model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_hollow_rectangular_prism component, generated from hollow_rectangular_prism.c in sasmodels. + +Example: +SasView_hollow_rectangular_prism(sld, sld_solvent, length_a, b2a_ratio, c2a_ratio, thickness, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_thickness=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped scattering length density. | 6.3 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Shortest, external, size of the parallelepiped. | 35 | +| b2a_ratio | Ang | ([0, inf]) Ratio sides b/a. | 1 | +| c2a_ratio | Ang | ([0, inf]) Ratio sides c/a. | 1 | +| thickness | Ang | ([0, inf]) Thickness of parallelepiped. | 1 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_hollow_rectangular_prism.comp) for `SasView_hollow_rectangular_prism.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_hollow_rectangular_prism_aniso.md b/mcstas-comps/sasmodels/SasView_hollow_rectangular_prism_aniso.md new file mode 100644 index 0000000000..27f2be3e0e --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_hollow_rectangular_prism_aniso.md @@ -0,0 +1,67 @@ +# The `SasView_hollow_rectangular_prism_aniso` Component + +*McStas: SasView hollow_rectangular_prism model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_hollow_rectangular_prism component, generated from hollow_rectangular_prism.c in sasmodels. + +Example: +SasView_hollow_rectangular_prism_aniso(sld, sld_solvent, length_a, b2a_ratio, c2a_ratio, thickness, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_thickness=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped scattering length density. | 6.3 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Shortest, external, size of the parallelepiped. | 35 | +| b2a_ratio | Ang | ([0, inf]) Ratio sides b/a. | 1 | +| c2a_ratio | Ang | ([0, inf]) Ratio sides c/a. | 1 | +| thickness | Ang | ([0, inf]) Thickness of parallelepiped. | 1 | +| theta | | | 0 | +| phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_hollow_rectangular_prism_aniso.comp) for `SasView_hollow_rectangular_prism_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_hollow_rectangular_prism_thin_walls.md b/mcstas-comps/sasmodels/SasView_hollow_rectangular_prism_thin_walls.md new file mode 100644 index 0000000000..8a858622b8 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_hollow_rectangular_prism_thin_walls.md @@ -0,0 +1,59 @@ +# The `SasView_hollow_rectangular_prism_thin_walls` Component + +*McStas: SasView hollow_rectangular_prism_thin_walls model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_hollow_rectangular_prism_thin_walls component, generated from hollow_rectangular_prism_thin_walls.c in sasmodels. + +Example: +SasView_hollow_rectangular_prism_thin_walls(sld, sld_solvent, length_a, b2a_ratio, c2a_ratio, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped scattering length density. | 6.3 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Shorter side of the parallelepiped. | 35 | +| b2a_ratio | Ang | ([0, inf]) Ratio sides b/a. | 1 | +| c2a_ratio | Ang | ([0, inf]) Ratio sides c/a. | 1 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_hollow_rectangular_prism_thin_walls.comp) for `SasView_hollow_rectangular_prism_thin_walls.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_lamellar_hg.md b/mcstas-comps/sasmodels/SasView_lamellar_hg.md new file mode 100644 index 0000000000..da691b5d8b --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_lamellar_hg.md @@ -0,0 +1,60 @@ +# The `SasView_lamellar_hg` Component + +*McStas: SasView lamellar_hg model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_lamellar_hg component, generated from lamellar_hg.c in sasmodels. + +Example: +SasView_lamellar_hg(length_tail, length_head, sld, sld_head, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_tail=0.0, pd_length_head=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| length_tail | Ang | ([0, inf]) Tail thickness ( total = H+T+T+H). | 15 | +| length_head | Ang | ([0, inf]) Head thickness. | 10 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Tail scattering length density. | 0.4 | +| sld_head | 1e-6/Ang^2 | ([-inf, inf]) Head scattering length density. | 3.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_tail | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_head | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_lamellar_hg.comp) for `SasView_lamellar_hg.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_lamellar_hg_stack_caille.md b/mcstas-comps/sasmodels/SasView_lamellar_hg_stack_caille.md new file mode 100644 index 0000000000..d05e1b0a36 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_lamellar_hg_stack_caille.md @@ -0,0 +1,63 @@ +# The `SasView_lamellar_hg_stack_caille` Component + +*McStas: SasView lamellar_hg_stack_caille model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_lamellar_hg_stack_caille component, generated from lamellar_hg_stack_caille.c in sasmodels. + +Example: +SasView_lamellar_hg_stack_caille(length_tail, length_head, Nlayers, d_spacing, Caille_parameter, sld, sld_head, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_tail=0.0, pd_length_head=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| length_tail | Ang | ([0, inf]) Tail thickness. | 10 | +| length_head | Ang | ([0, inf]) head thickness. | 2 | +| Nlayers | | ([1, inf]) Number of layers. | 30 | +| d_spacing | Ang | ([0.0, inf]) lamellar d-spacing of Caille S(Q). | 40.0 | +| Caille_parameter | | ([0.0, 0.8]) Caille parameter. | 0.001 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Tail scattering length density. | 0.4 | +| sld_head | 1e-6/Ang^2 | ([-inf, inf]) Head scattering length density. | 2.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_tail | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_head | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_lamellar_hg_stack_caille.comp) for `SasView_lamellar_hg_stack_caille.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_lamellar_stack_caille.md b/mcstas-comps/sasmodels/SasView_lamellar_stack_caille.md new file mode 100644 index 0000000000..19b7d739c9 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_lamellar_stack_caille.md @@ -0,0 +1,60 @@ +# The `SasView_lamellar_stack_caille` Component + +*McStas: SasView lamellar_stack_caille model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_lamellar_stack_caille component, generated from lamellar_stack_caille.c in sasmodels. + +Example: +SasView_lamellar_stack_caille(thickness, Nlayers, d_spacing, Caille_parameter, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_thickness=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| thickness | Ang | ([0, inf]) sheet thickness. | 30.0 | +| Nlayers | | ([1, inf]) Number of layers. | 20 | +| d_spacing | Ang | ([0.0, inf]) lamellar d-spacing of Caille S(Q). | 400.0 | +| Caille_parameter | 1/Ang^2 | ([0.0, 0.8]) Caille parameter. | 0.1 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) layer scattering length density. | 6.3 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_lamellar_stack_caille.comp) for `SasView_lamellar_stack_caille.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_lamellar_stack_paracrystal.md b/mcstas-comps/sasmodels/SasView_lamellar_stack_paracrystal.md new file mode 100644 index 0000000000..f8320ac5f4 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_lamellar_stack_paracrystal.md @@ -0,0 +1,60 @@ +# The `SasView_lamellar_stack_paracrystal` Component + +*McStas: SasView lamellar_stack_paracrystal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_lamellar_stack_paracrystal component, generated from lamellar_stack_paracrystal.c in sasmodels. + +Example: +SasView_lamellar_stack_paracrystal(thickness, Nlayers, d_spacing, sigma_d, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_thickness=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| thickness | Ang | ([0, inf]) sheet thickness. | 33.0 | +| Nlayers | | ([1, inf]) Number of layers. | 20 | +| d_spacing | Ang | ([0.0, inf]) lamellar spacing of paracrystal stack. | 250.0 | +| sigma_d | Ang | ([0.0, inf]) Sigma (polydispersity) of the lamellar spacing. | 0.0 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) layer scattering length density. | 1.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6.34 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_lamellar_stack_paracrystal.comp) for `SasView_lamellar_stack_paracrystal.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_line.md b/mcstas-comps/sasmodels/SasView_line.md new file mode 100644 index 0000000000..22368f26d3 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_line.md @@ -0,0 +1,55 @@ +# The `SasView_line` Component + +*McStas: SasView line model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_line component, generated from line.c in sasmodels. + +Example: +SasView_line(intercept, slope, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| intercept | 1/cm | ([-inf, inf]) intercept in linear model. | 1.0 | +| slope | Ang/cm | ([-inf, inf]) slope in linear model. | 1.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](SasView_line.comp) for `SasView_line.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_linear_pearls.md b/mcstas-comps/sasmodels/SasView_linear_pearls.md new file mode 100644 index 0000000000..8baefef305 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_linear_pearls.md @@ -0,0 +1,59 @@ +# The `SasView_linear_pearls` Component + +*McStas: SasView linear_pearls model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_linear_pearls component, generated from linear_pearls.c in sasmodels. + +Example: +SasView_linear_pearls(radius, edge_sep, num_pearls, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Radius of the pearls. | 80.0 | +| edge_sep | Ang | ([0, inf]) Length of the string segment - surface to surface. | 350.0 | +| num_pearls | | ([1, inf]) Number of the pearls. | 3.0 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) SLD of the pearl spheres. | 1.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) SLD of the solvent. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_linear_pearls.comp) for `SasView_linear_pearls.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_lorentz.md b/mcstas-comps/sasmodels/SasView_lorentz.md new file mode 100644 index 0000000000..90e0b65ad0 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_lorentz.md @@ -0,0 +1,55 @@ +# The `SasView_lorentz` Component + +*McStas: SasView lorentz model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_lorentz component, generated from lorentz.c in sasmodels. + +Example: +SasView_lorentz(cor_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_cor_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| cor_length | Ang | ([0, inf]) Screening length. | 50.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_cor_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_lorentz.comp) for `SasView_lorentz.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_mass_fractal.md b/mcstas-comps/sasmodels/SasView_mass_fractal.md new file mode 100644 index 0000000000..c216099e05 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_mass_fractal.md @@ -0,0 +1,58 @@ +# The `SasView_mass_fractal` Component + +*McStas: SasView mass_fractal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_mass_fractal component, generated from mass_fractal.c in sasmodels. + +Example: +SasView_mass_fractal(radius, fractal_dim_mass, cutoff_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_cutoff_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0.0, inf]) Particle radius. | 10.0 | +| fractal_dim_mass | | ([1.0, 6.0]) Mass fractal dimension. | 1.9 | +| cutoff_length | Ang | ([0.0, inf]) Cut-off length. | 100.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_cutoff_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_mass_fractal.comp) for `SasView_mass_fractal.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_mass_surface_fractal.md b/mcstas-comps/sasmodels/SasView_mass_surface_fractal.md new file mode 100644 index 0000000000..ab0ae7ea65 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_mass_surface_fractal.md @@ -0,0 +1,59 @@ +# The `SasView_mass_surface_fractal` Component + +*McStas: SasView mass_surface_fractal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_mass_surface_fractal component, generated from mass_surface_fractal.c in sasmodels. + +Example: +SasView_mass_surface_fractal(fractal_dim_mass, fractal_dim_surf, rg_cluster, rg_primary, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg_cluster=0.0, pd_rg_primary=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| fractal_dim_mass | | ([0.0, 6.0]) Mass fractal dimension. | 1.8 | +| fractal_dim_surf | | ([0.0, 6.0]) Surface fractal dimension. | 2.3 | +| rg_cluster | Ang | ([0.0, inf]) Cluster radius of gyration. | 4000.0 | +| rg_primary | Ang | ([0.0, inf]) Primary particle radius of gyration. | 86.7 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg_cluster | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_rg_primary | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_mass_surface_fractal.comp) for `SasView_mass_surface_fractal.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_mono_gauss_coil.md b/mcstas-comps/sasmodels/SasView_mono_gauss_coil.md new file mode 100644 index 0000000000..8d01c3f200 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_mono_gauss_coil.md @@ -0,0 +1,56 @@ +# The `SasView_mono_gauss_coil` Component + +*McStas: SasView mono_gauss_coil model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_mono_gauss_coil component, generated from mono_gauss_coil.c in sasmodels. + +Example: +SasView_mono_gauss_coil(i_zero, rg, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| i_zero | 1/cm | ([0.0, inf]) Intensity at q=0. | 70.0 | +| rg | Ang | ([0.0, inf]) Radius of gyration. | 75.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_mono_gauss_coil.comp) for `SasView_mono_gauss_coil.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_multilayer_vesicle.md b/mcstas-comps/sasmodels/SasView_multilayer_vesicle.md new file mode 100644 index 0000000000..1cb53ee799 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_multilayer_vesicle.md @@ -0,0 +1,63 @@ +# The `SasView_multilayer_vesicle` Component + +*McStas: SasView multilayer_vesicle model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_multilayer_vesicle component, generated from multilayer_vesicle.c in sasmodels. + +Example: +SasView_multilayer_vesicle(volfraction, radius, thick_shell, thick_solvent, sld_solvent, sld, n_shells, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_shell=0.0, pd_thick_solvent=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| volfraction | | ([0.0, 1]) volume fraction of vesicles. | 0.05 | +| radius | Ang | ([0.0, inf]) radius of solvent filled core. | 60.0 | +| thick_shell | Ang | ([0.0, inf]) thickness of one shell. | 10.0 | +| thick_solvent | Ang | ([0.0, inf]) solvent thickness between shells. | 10.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) solvent scattering length density. | 6.4 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Shell scattering length density. | 0.4 | +| n_shells | | ([1.0, inf]) Number of shell plus solvent layer pairs (must be integer). | 2.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_shell | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_solvent | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_multilayer_vesicle.comp) for `SasView_multilayer_vesicle.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_onion.md b/mcstas-comps/sasmodels/SasView_onion.md new file mode 100644 index 0000000000..190ddcff01 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_onion.md @@ -0,0 +1,38 @@ +# The `SasView_onion` Component + +*McStas: SasView onion model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_onion component, generated from onion.c in sasmodels. + +Example: +SasView_onion(sld_core, radius_core, sld_solvent, n_shells, sld_in[n_shells], sld_out[n_shells], thickness[n_shells], A[n_shells], +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_core=0.0, pd_thickness[n_shells]=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](SasView_onion.comp) for `SasView_onion.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_parallelepiped.md b/mcstas-comps/sasmodels/SasView_parallelepiped.md new file mode 100644 index 0000000000..7487a58585 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_parallelepiped.md @@ -0,0 +1,61 @@ +# The `SasView_parallelepiped` Component + +*McStas: SasView parallelepiped model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_parallelepiped component, generated from parallelepiped.c in sasmodels. + +Example: +SasView_parallelepiped(sld, sld_solvent, length_a, length_b, length_c, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_length_b=0.0, pd_length_c=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Shorter side of the parallelepiped. | 35 | +| length_b | Ang | ([0, inf]) Second side of the parallelepiped. | 75 | +| length_c | Ang | ([0, inf]) Larger side of the parallelepiped. | 400 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_b | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_c | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_parallelepiped.comp) for `SasView_parallelepiped.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_parallelepiped_aniso.md b/mcstas-comps/sasmodels/SasView_parallelepiped_aniso.md new file mode 100644 index 0000000000..59dc60697b --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_parallelepiped_aniso.md @@ -0,0 +1,67 @@ +# The `SasView_parallelepiped_aniso` Component + +*McStas: SasView parallelepiped model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_parallelepiped component, generated from parallelepiped.c in sasmodels. + +Example: +SasView_parallelepiped_aniso(sld, sld_solvent, length_a, length_b, length_c, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_length_b=0.0, pd_length_c=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Shorter side of the parallelepiped. | 35 | +| length_b | Ang | ([0, inf]) Second side of the parallelepiped. | 75 | +| length_c | Ang | ([0, inf]) Larger side of the parallelepiped. | 400 | +| theta | | | 60 | +| phi | | | 60 | +| Psi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_b | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_c | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_parallelepiped_aniso.comp) for `SasView_parallelepiped_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_peak_lorentz.md b/mcstas-comps/sasmodels/SasView_peak_lorentz.md new file mode 100644 index 0000000000..04a28469ec --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_peak_lorentz.md @@ -0,0 +1,55 @@ +# The `SasView_peak_lorentz` Component + +*McStas: SasView peak_lorentz model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_peak_lorentz component, generated from peak_lorentz.c in sasmodels. + +Example: +SasView_peak_lorentz(peak_pos, peak_hwhm, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| peak_pos | 1/Ang | ([-inf, inf]) Peak postion in q. | 0.05 | +| peak_hwhm | 1/Ang | ([-inf, inf]) HWHM of peak. | 0.005 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](SasView_peak_lorentz.comp) for `SasView_peak_lorentz.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_pearl_necklace.md b/mcstas-comps/sasmodels/SasView_pearl_necklace.md new file mode 100644 index 0000000000..0bd611c7a4 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_pearl_necklace.md @@ -0,0 +1,62 @@ +# The `SasView_pearl_necklace` Component + +*McStas: SasView pearl_necklace model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_pearl_necklace component, generated from pearl_necklace.c in sasmodels. + +Example: +SasView_pearl_necklace(radius, edge_sep, thick_string, num_pearls, sld, sld_string, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_string=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Mean radius of the chained spheres. | 80.0 | +| edge_sep | Ang | ([0, inf]) Mean separation of chained particles. | 350.0 | +| thick_string | Ang | ([0, inf]) Thickness of the chain linkage. | 2.5 | +| num_pearls | none | ([1, inf]) Number of pearls in the necklace (must be integer). | 3 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Scattering length density of the chained spheres. | 1.0 | +| sld_string | 1e-6/Ang^2 | ([-inf, inf]) Scattering length density of the chain linkage. | 1.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Scattering length density of the solvent. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_string | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_pearl_necklace.comp) for `SasView_pearl_necklace.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_poly_gauss_coil.md b/mcstas-comps/sasmodels/SasView_poly_gauss_coil.md new file mode 100644 index 0000000000..5b34aba699 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_poly_gauss_coil.md @@ -0,0 +1,57 @@ +# The `SasView_poly_gauss_coil` Component + +*McStas: SasView poly_gauss_coil model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_poly_gauss_coil component, generated from poly_gauss_coil.c in sasmodels. + +Example: +SasView_poly_gauss_coil(i_zero, rg, polydispersity, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| i_zero | 1/cm | ([0.0, inf]) Intensity at q=0. | 70.0 | +| rg | Ang | ([0.0, inf]) Radius of gyration. | 75.0 | +| polydispersity | None | ([1.0, inf]) Polymer Mw/Mn. | 2.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_poly_gauss_coil.comp) for `SasView_poly_gauss_coil.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_polymer_excl_volume.md b/mcstas-comps/sasmodels/SasView_polymer_excl_volume.md new file mode 100644 index 0000000000..3cf6c90727 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_polymer_excl_volume.md @@ -0,0 +1,56 @@ +# The `SasView_polymer_excl_volume` Component + +*McStas: SasView polymer_excl_volume model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_polymer_excl_volume component, generated from polymer_excl_volume.c in sasmodels. + +Example: +SasView_polymer_excl_volume(rg, porod_exp, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rg | Ang | ([0, inf]) Radius of Gyration. | 60.0 | +| porod_exp | | ([0, inf]) Porod exponent. | 3.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_polymer_excl_volume.comp) for `SasView_polymer_excl_volume.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_polymer_micelle.md b/mcstas-comps/sasmodels/SasView_polymer_micelle.md new file mode 100644 index 0000000000..00aefb2ce4 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_polymer_micelle.md @@ -0,0 +1,65 @@ +# The `SasView_polymer_micelle` Component + +*McStas: SasView polymer_micelle model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_polymer_micelle component, generated from polymer_micelle.c in sasmodels. + +Example: +SasView_polymer_micelle(ndensity, v_core, v_corona, sld_solvent, sld_core, sld_corona, radius_core, rg, d_penetration, n_aggreg, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_core=0.0, pd_rg=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| ndensity | 1e15/cm^3 | ([0.0, inf]) Number density of micelles. | 8.94 | +| v_core | Ang^3 | ([0.0, inf]) Core volume . | 62624.0 | +| v_corona | Ang^3 | ([0.0, inf]) Corona volume. | 61940.0 | +| sld_solvent | 1e-6/Ang^2 | ([0.0, inf]) Solvent scattering length density. | 6.4 | +| sld_core | 1e-6/Ang^2 | ([0.0, inf]) Core scattering length density. | 0.34 | +| sld_corona | 1e-6/Ang^2 | ([0.0, inf]) Corona scattering length density. | 0.8 | +| radius_core | Ang | ([0.0, inf]) Radius of core ( must be >> rg ). | 45.0 | +| rg | Ang | ([0.0, inf]) Radius of gyration of chains in corona. | 20.0 | +| d_penetration | | ([-inf, inf]) Factor to mimic non-penetration of Gaussian chains. | 1.0 | +| n_aggreg | | ([-inf, inf]) Aggregation number of the micelle. | 6.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_core | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_rg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_polymer_micelle.comp) for `SasView_polymer_micelle.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_porod.md b/mcstas-comps/sasmodels/SasView_porod.md new file mode 100644 index 0000000000..6506a81c58 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_porod.md @@ -0,0 +1,53 @@ +# The `SasView_porod` Component + +*McStas: SasView porod model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_porod component, generated from porod.c in sasmodels. + +Example: +SasView_porod(, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](SasView_porod.comp) for `SasView_porod.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_power_law.md b/mcstas-comps/sasmodels/SasView_power_law.md new file mode 100644 index 0000000000..341bd595f6 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_power_law.md @@ -0,0 +1,54 @@ +# The `SasView_power_law` Component + +*McStas: SasView power_law model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_power_law component, generated from power_law.c in sasmodels. + +Example: +SasView_power_law(power, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| power | | ([-inf, inf]) Power law exponent. | 4.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](SasView_power_law.comp) for `SasView_power_law.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_pringle.md b/mcstas-comps/sasmodels/SasView_pringle.md new file mode 100644 index 0000000000..b9ea376c0b --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_pringle.md @@ -0,0 +1,61 @@ +# The `SasView_pringle` Component + +*McStas: SasView pringle model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_pringle component, generated from pringle.c in sasmodels. + +Example: +SasView_pringle(radius, thickness, alpha, beta, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Pringle radius. | 60.0 | +| thickness | Ang | ([0, inf]) Thickness of pringle. | 10.0 | +| alpha | | ([-inf, inf]) Curvature parameter alpha. | 0.001 | +| beta | | ([-inf, inf]) Curvature paramter beta. | 0.02 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Pringle sld. | 1.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent sld. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_pringle.comp) for `SasView_pringle.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_raspberry.md b/mcstas-comps/sasmodels/SasView_raspberry.md new file mode 100644 index 0000000000..1f650dd879 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_raspberry.md @@ -0,0 +1,64 @@ +# The `SasView_raspberry` Component + +*McStas: SasView raspberry model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_raspberry component, generated from raspberry.c in sasmodels. + +Example: +SasView_raspberry(sld_lg, sld_sm, sld_solvent, volfraction_lg, volfraction_sm, surface_fraction, radius_lg, radius_sm, penetration, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_lg=0.0, pd_radius_sm=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld_lg | 1e-6/Ang^2 | ([-inf, inf]) large particle scattering length density. | -0.4 | +| sld_sm | 1e-6/Ang^2 | ([-inf, inf]) small particle scattering length density. | 3.5 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) solvent scattering length density. | 6.36 | +| volfraction_lg | | ([-inf, inf]) volume fraction of large spheres. | 0.05 | +| volfraction_sm | | ([-inf, inf]) volume fraction of small spheres. | 0.005 | +| surface_fraction | | ([-inf, inf]) fraction of small spheres at surface. | 0.4 | +| radius_lg | Ang | ([0, inf]) radius of large spheres. | 5000 | +| radius_sm | Ang | ([0, inf]) radius of small spheres. | 100 | +| penetration | Ang | ([-1, 1]) fractional penetration depth of small spheres into large sphere. | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_lg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_sm | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_raspberry.comp) for `SasView_raspberry.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_rectangular_prism.md b/mcstas-comps/sasmodels/SasView_rectangular_prism.md new file mode 100644 index 0000000000..ade2f42973 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_rectangular_prism.md @@ -0,0 +1,52 @@ +# The `SasView_rectangular_prism` Component + +*McStas: SasView rectangular_prism model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | | | 6.3 | +| sld_solvent | | | 1 | +| length_a | | | 35 | +| b2a_ratio | | | 1 | +| c2a_ratio | | | 1 | +| model_scale | | | 1.0 | +| model_abs | | | 0.0 | +| xwidth | | | 0.01 | +| yheight | | | 0.01 | +| zdepth | | | 0.005 | +| R | | | 0 | +| target_x | | | 0 | +| target_y | | | 0 | +| target_z | | | 1 | +| target_index | | | 1 | +| focus_xw | | | 0.5 | +| focus_yh | | | 0.5 | +| focus_aw | | | 0 | +| focus_ah | | | 0 | +| focus_r | | | 0 | +| pd_length_a | | | 0.0 | + +## Links + +- [Source code](SasView_rectangular_prism.comp) for `SasView_rectangular_prism.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_rectangular_prism_aniso.md b/mcstas-comps/sasmodels/SasView_rectangular_prism_aniso.md new file mode 100644 index 0000000000..2ffe1b1b7d --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_rectangular_prism_aniso.md @@ -0,0 +1,65 @@ +# The `SasView_rectangular_prism_aniso` Component + +*McStas: SasView rectangular_prism model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_rectangular_prism component, generated from rectangular_prism.c in sasmodels. + +Example: +SasView_rectangular_prism_aniso(sld, sld_solvent, length_a, b2a_ratio, c2a_ratio, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped scattering length density. | 6.3 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Shorter side of the parallelepiped. | 35 | +| b2a_ratio | | ([0, inf]) Ratio sides b/a. | 1 | +| c2a_ratio | | ([0, inf]) Ratio sides c/a. | 1 | +| theta | | | 0 | +| phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_rectangular_prism_aniso.comp) for `SasView_rectangular_prism_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_rpa.md b/mcstas-comps/sasmodels/SasView_rpa.md new file mode 100644 index 0000000000..0e12929ccb --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_rpa.md @@ -0,0 +1,38 @@ +# The `SasView_rpa` Component + +*McStas: SasView rpa model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_rpa component, generated from rpa.c in sasmodels. + +Example: +SasView_rpa(case_num, N[4], Phi[4], v[4], L[4], b[4], K12, K13, K14, K23, K24, K34, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](SasView_rpa.comp) for `SasView_rpa.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_sc_paracrystal.md b/mcstas-comps/sasmodels/SasView_sc_paracrystal.md new file mode 100644 index 0000000000..a7cbb72ef1 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_sc_paracrystal.md @@ -0,0 +1,59 @@ +# The `SasView_sc_paracrystal` Component + +*McStas: SasView sc_paracrystal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_sc_paracrystal component, generated from sc_paracrystal.c in sasmodels. + +Example: +SasView_sc_paracrystal(dnn, d_factor, radius, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dnn | Ang | ([0.0, inf]) Nearest neighbor distance. | 220.0 | +| d_factor | | ([-inf, inf]) Paracrystal distortion factor. | 0.06 | +| radius | Ang | ([0.0, inf]) Radius of sphere. | 40.0 | +| sld | 1e-6/Ang^2 | ([0.0, inf]) Sphere scattering length density. | 3.0 | +| sld_solvent | 1e-6/Ang^2 | ([0.0, inf]) Solvent scattering length density. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_sc_paracrystal.comp) for `SasView_sc_paracrystal.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_sc_paracrystal_aniso.md b/mcstas-comps/sasmodels/SasView_sc_paracrystal_aniso.md new file mode 100644 index 0000000000..d9ad553ac4 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_sc_paracrystal_aniso.md @@ -0,0 +1,65 @@ +# The `SasView_sc_paracrystal_aniso` Component + +*McStas: SasView sc_paracrystal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_sc_paracrystal component, generated from sc_paracrystal.c in sasmodels. + +Example: +SasView_sc_paracrystal_aniso(dnn, d_factor, radius, sld, sld_solvent, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dnn | Ang | ([0.0, inf]) Nearest neighbor distance. | 220.0 | +| d_factor | | ([-inf, inf]) Paracrystal distortion factor. | 0.06 | +| radius | Ang | ([0.0, inf]) Radius of sphere. | 40.0 | +| sld | 1e-6/Ang^2 | ([0.0, inf]) Sphere scattering length density. | 3.0 | +| sld_solvent | 1e-6/Ang^2 | ([0.0, inf]) Solvent scattering length density. | 6.3 | +| theta | | | 0 | +| phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_sc_paracrystal_aniso.comp) for `SasView_sc_paracrystal_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_sphere.md b/mcstas-comps/sasmodels/SasView_sphere.md new file mode 100644 index 0000000000..eeabe569cc --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_sphere.md @@ -0,0 +1,57 @@ +# The `SasView_sphere` Component + +*McStas: SasView sphere model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_sphere component, generated from sphere.c in sasmodels. + +Example: +SasView_sphere(sld, sld_solvent, radius, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Layer scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| radius | Ang | ([0, inf]) Sphere radius. | 50 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_sphere.comp) for `SasView_sphere.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_spinodal.md b/mcstas-comps/sasmodels/SasView_spinodal.md new file mode 100644 index 0000000000..94991f36a8 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_spinodal.md @@ -0,0 +1,55 @@ +# The `SasView_spinodal` Component + +*McStas: SasView spinodal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_spinodal component, generated from spinodal.c in sasmodels. + +Example: +SasView_spinodal(gamma, q_0, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| gamma | | ([-inf, inf]) Exponent. | 3.0 | +| q_0 | 1/Ang | ([-inf, inf]) Correlation peak position. | 0.1 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](SasView_spinodal.comp) for `SasView_spinodal.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_squarewell.md b/mcstas-comps/sasmodels/SasView_squarewell.md new file mode 100644 index 0000000000..611304c875 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_squarewell.md @@ -0,0 +1,58 @@ +# The `SasView_squarewell` Component + +*McStas: SasView squarewell model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_squarewell component, generated from squarewell.c in sasmodels. + +Example: +SasView_squarewell(radius_effective, volfraction, welldepth, wellwidth, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_effective=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_effective | Ang | ([0, inf]) effective radius of hard sphere. | 50.0 | +| volfraction | | ([0, 0.08]) volume fraction of spheres. | 0.04 | +| welldepth | kT | ([0.0, 1.5]) depth of well, epsilon. | 1.5 | +| wellwidth | diameters | ([1.0, inf]) width of well in diameters (=2R) units, must be > 1. | 1.2 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_effective | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_squarewell.comp) for `SasView_squarewell.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_stacked_disks.md b/mcstas-comps/sasmodels/SasView_stacked_disks.md new file mode 100644 index 0000000000..9cbc5f520b --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_stacked_disks.md @@ -0,0 +1,64 @@ +# The `SasView_stacked_disks` Component + +*McStas: SasView stacked_disks model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_stacked_disks component, generated from stacked_disks.c in sasmodels. + +Example: +SasView_stacked_disks(thick_core, thick_layer, radius, n_stacking, sigma_d, sld_core, sld_layer, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_thick_core=0.0, pd_thick_layer=0.0, pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| thick_core | Ang | ([0, inf]) Thickness of the core disk. | 10.0 | +| thick_layer | Ang | ([0, inf]) Thickness of layer each side of core. | 10.0 | +| radius | Ang | ([0, inf]) Radius of the stacked disk. | 15.0 | +| n_stacking | | ([1, inf]) Number of stacked layer/core/layer disks. | 1.0 | +| sigma_d | Ang | ([0, inf]) Sigma of nearest neighbor spacing. | 0 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Core scattering length density. | 4 | +| sld_layer | 1e-6/Ang^2 | ([-inf, inf]) Layer scattering length density. | 0.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 5.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_thick_core | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_layer | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_stacked_disks.comp) for `SasView_stacked_disks.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_stacked_disks_aniso.md b/mcstas-comps/sasmodels/SasView_stacked_disks_aniso.md new file mode 100644 index 0000000000..3d221ba12c --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_stacked_disks_aniso.md @@ -0,0 +1,68 @@ +# The `SasView_stacked_disks_aniso` Component + +*McStas: SasView stacked_disks model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_stacked_disks component, generated from stacked_disks.c in sasmodels. + +Example: +SasView_stacked_disks_aniso(thick_core, thick_layer, radius, n_stacking, sigma_d, sld_core, sld_layer, sld_solvent, theta, phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_thick_core=0.0, pd_thick_layer=0.0, pd_radius=0.0, pd_theta=0.0, pd_phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| thick_core | Ang | ([0, inf]) Thickness of the core disk. | 10.0 | +| thick_layer | Ang | ([0, inf]) Thickness of layer each side of core. | 10.0 | +| radius | Ang | ([0, inf]) Radius of the stacked disk. | 15.0 | +| n_stacking | | ([1, inf]) Number of stacked layer/core/layer disks. | 1.0 | +| sigma_d | Ang | ([0, inf]) Sigma of nearest neighbor spacing. | 0 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Core scattering length density. | 4 | +| sld_layer | 1e-6/Ang^2 | ([-inf, inf]) Layer scattering length density. | 0.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 5.0 | +| theta | | | 0 | +| phi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_thick_core | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_layer | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_stacked_disks_aniso.comp) for `SasView_stacked_disks_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_star_polymer.md b/mcstas-comps/sasmodels/SasView_star_polymer.md new file mode 100644 index 0000000000..cf9ba3c7e1 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_star_polymer.md @@ -0,0 +1,56 @@ +# The `SasView_star_polymer` Component + +*McStas: SasView star_polymer model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_star_polymer component, generated from star_polymer.c in sasmodels. + +Example: +SasView_star_polymer(rg_squared, arms, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg_squared=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rg_squared | Ang^2 | ([0.0, inf]) Ensemble radius of gyration SQUARED of the full polymer. | 100.0 | +| arms | | ([1.0, 6.0]) Number of arms in the model. | 3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg_squared | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_star_polymer.comp) for `SasView_star_polymer.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_stickyhardsphere.md b/mcstas-comps/sasmodels/SasView_stickyhardsphere.md new file mode 100644 index 0000000000..efae8adf40 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_stickyhardsphere.md @@ -0,0 +1,58 @@ +# The `SasView_stickyhardsphere` Component + +*McStas: SasView stickyhardsphere model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_stickyhardsphere component, generated from stickyhardsphere.c in sasmodels. + +Example: +SasView_stickyhardsphere(radius_effective, volfraction, perturb, stickiness, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_effective=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_effective | Ang | ([0, inf]) effective radius of hard sphere. | 50.0 | +| volfraction | | ([0, 0.74]) volume fraction of hard spheres. | 0.2 | +| perturb | | ([0.01, 0.1]) perturbation parameter, tau. | 0.05 | +| stickiness | | ([-inf, inf]) stickiness, epsilon. | 0.2 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_effective | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_stickyhardsphere.comp) for `SasView_stickyhardsphere.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_superball.md b/mcstas-comps/sasmodels/SasView_superball.md new file mode 100644 index 0000000000..f45c298902 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_superball.md @@ -0,0 +1,58 @@ +# The `SasView_superball` Component + +*McStas: SasView superball model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_superball component, generated from superball.c in sasmodels. + +Example: +SasView_superball(sld, sld_solvent, length_a, exponent_p, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Superball scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Cube edge length of the superball. | 50 | +| exponent_p | | ([0, inf]) Exponent describing the roundness of the superball. | 2.5 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_superball.comp) for `SasView_superball.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_superball_aniso.md b/mcstas-comps/sasmodels/SasView_superball_aniso.md new file mode 100644 index 0000000000..153ce8bf69 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_superball_aniso.md @@ -0,0 +1,64 @@ +# The `SasView_superball_aniso` Component + +*McStas: SasView superball model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_superball component, generated from superball.c in sasmodels. + +Example: +SasView_superball_aniso(sld, sld_solvent, length_a, exponent_p, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Superball scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Cube edge length of the superball. | 50 | +| exponent_p | | ([0, inf]) Exponent describing the roundness of the superball. | 2.5 | +| theta | | | 0 | +| phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_superball_aniso.comp) for `SasView_superball_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_surface_fractal.md b/mcstas-comps/sasmodels/SasView_surface_fractal.md new file mode 100644 index 0000000000..e1b08f9ad5 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_surface_fractal.md @@ -0,0 +1,58 @@ +# The `SasView_surface_fractal` Component + +*McStas: SasView surface_fractal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_surface_fractal component, generated from surface_fractal.c in sasmodels. + +Example: +SasView_surface_fractal(radius, fractal_dim_surf, cutoff_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_cutoff_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Particle radius. | 10.0 | +| fractal_dim_surf | | ([1, 3]) Surface fractal dimension. | 2.0 | +| cutoff_length | Ang | ([0.0, inf]) Cut-off Length. | 500.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_cutoff_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_surface_fractal.comp) for `SasView_surface_fractal.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_teubner_strey.md b/mcstas-comps/sasmodels/SasView_teubner_strey.md new file mode 100644 index 0000000000..801a17b62f --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_teubner_strey.md @@ -0,0 +1,58 @@ +# The `SasView_teubner_strey` Component + +*McStas: SasView teubner_strey model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_teubner_strey component, generated from teubner_strey.c in sasmodels. + +Example: +SasView_teubner_strey(volfraction_a, sld_a, sld_b, d, xi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| volfraction_a | | ([0, 1.0]) Volume fraction of phase a. | 0.5 | +| sld_a | 1e-6/Ang^2 | ([-inf, inf]) SLD of phase a. | 0.3 | +| sld_b | 1e-6/Ang^2 | ([-inf, inf]) SLD of phase b. | 6.3 | +| d | Ang | ([0, inf]) Domain size (periodicity). | 100.0 | +| xi | Ang | ([0, inf]) Correlation length. | 30.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](SasView_teubner_strey.comp) for `SasView_teubner_strey.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_triaxial_ellipsoid.md b/mcstas-comps/sasmodels/SasView_triaxial_ellipsoid.md new file mode 100644 index 0000000000..f7dc4cf396 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_triaxial_ellipsoid.md @@ -0,0 +1,61 @@ +# The `SasView_triaxial_ellipsoid` Component + +*McStas: SasView triaxial_ellipsoid model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_triaxial_ellipsoid component, generated from triaxial_ellipsoid.c in sasmodels. + +Example: +SasView_triaxial_ellipsoid(sld, sld_solvent, radius_equat_minor, radius_equat_major, radius_polar, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_equat_minor=0.0, pd_radius_equat_major=0.0, pd_radius_polar=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Ellipsoid scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius_equat_minor | Ang | ([0, inf]) Minor equatorial radius, Ra. | 20 | +| radius_equat_major | Ang | ([0, inf]) Major equatorial radius, Rb. | 400 | +| radius_polar | Ang | ([0, inf]) Polar radius, Rc. | 10 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_equat_minor | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_equat_major | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_polar | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_triaxial_ellipsoid.comp) for `SasView_triaxial_ellipsoid.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_triaxial_ellipsoid_aniso.md b/mcstas-comps/sasmodels/SasView_triaxial_ellipsoid_aniso.md new file mode 100644 index 0000000000..4276e876af --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_triaxial_ellipsoid_aniso.md @@ -0,0 +1,67 @@ +# The `SasView_triaxial_ellipsoid_aniso` Component + +*McStas: SasView triaxial_ellipsoid model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_triaxial_ellipsoid component, generated from triaxial_ellipsoid.c in sasmodels. + +Example: +SasView_triaxial_ellipsoid_aniso(sld, sld_solvent, radius_equat_minor, radius_equat_major, radius_polar, theta, phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_equat_minor=0.0, pd_radius_equat_major=0.0, pd_radius_polar=0.0, pd_theta=0.0, pd_phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Ellipsoid scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius_equat_minor | Ang | ([0, inf]) Minor equatorial radius, Ra. | 20 | +| radius_equat_major | Ang | ([0, inf]) Major equatorial radius, Rb. | 400 | +| radius_polar | Ang | ([0, inf]) Polar radius, Rc. | 10 | +| theta | | | 60 | +| phi | | | 60 | +| Psi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_equat_minor | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_equat_major | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_polar | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_triaxial_ellipsoid_aniso.comp) for `SasView_triaxial_ellipsoid_aniso.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_two_lorentzian.md b/mcstas-comps/sasmodels/SasView_two_lorentzian.md new file mode 100644 index 0000000000..401911130e --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_two_lorentzian.md @@ -0,0 +1,61 @@ +# The `SasView_two_lorentzian` Component + +*McStas: SasView two_lorentzian model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_two_lorentzian component, generated from two_lorentzian.c in sasmodels. + +Example: +SasView_two_lorentzian(lorentz_scale_1, lorentz_length_1, lorentz_exp_1, lorentz_scale_2, lorentz_length_2, lorentz_exp_2, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_lorentz_length_1=0.0, pd_lorentz_length_2=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lorentz_scale_1 | | ([-inf, inf]) First power law scale factor. | 10.0 | +| lorentz_length_1 | Ang | ([-inf, inf]) First Lorentzian screening length. | 100.0 | +| lorentz_exp_1 | | ([-inf, inf]) First exponent of power law. | 3.0 | +| lorentz_scale_2 | | ([-inf, inf]) Second scale factor for broad Lorentzian peak. | 1.0 | +| lorentz_length_2 | Ang | ([-inf, inf]) Second Lorentzian screening length. | 10.0 | +| lorentz_exp_2 | | ([-inf, inf]) Second exponent of power law. | 2.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_lorentz_length_1 | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_lorentz_length_2 | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_two_lorentzian.comp) for `SasView_two_lorentzian.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_two_power_law.md b/mcstas-comps/sasmodels/SasView_two_power_law.md new file mode 100644 index 0000000000..37e97ea335 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_two_power_law.md @@ -0,0 +1,57 @@ +# The `SasView_two_power_law` Component + +*McStas: SasView two_power_law model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_two_power_law component, generated from two_power_law.c in sasmodels. + +Example: +SasView_two_power_law(coefficent_1, crossover, power_1, power_2, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| coefficent_1 | | ([-inf, inf]) coefficent A in low Q region. | 1.0 | +| crossover | 1/Ang | ([0, inf]) crossover location. | 0.04 | +| power_1 | | ([0, inf]) power law exponent at low Q. | 1.0 | +| power_2 | | ([0, inf]) power law exponent at high Q. | 4.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](SasView_two_power_law.comp) for `SasView_two_power_law.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sasmodels/SasView_vesicle.md b/mcstas-comps/sasmodels/SasView_vesicle.md new file mode 100644 index 0000000000..9d0d09a040 --- /dev/null +++ b/mcstas-comps/sasmodels/SasView_vesicle.md @@ -0,0 +1,60 @@ +# The `SasView_vesicle` Component + +*McStas: SasView vesicle model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_vesicle component, generated from vesicle.c in sasmodels. + +Example: +SasView_vesicle(sld, sld_solvent, volfraction, radius, thickness, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) vesicle shell scattering length density. | 0.5 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) solvent scattering length density. | 6.36 | +| volfraction | | ([0, 1.0]) volume fraction of shell. | 0.05 | +| radius | Ang | ([0, inf]) vesicle core radius. | 100 | +| thickness | Ang | ([0, inf]) vesicle shell thickness. | 30 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](SasView_vesicle.comp) for `SasView_vesicle.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sources/Adapt_check.md b/mcstas-comps/sources/Adapt_check.md new file mode 100644 index 0000000000..bb89a325a6 --- /dev/null +++ b/mcstas-comps/sources/Adapt_check.md @@ -0,0 +1,40 @@ +# The `Adapt_check` Component + +*McStas: Optimization specifier for the Source_adapt component.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** 1999 + +## Description + +```text +This components works together with the Source_adapt component, and +is used to define the criteria for selecting which neutrons are +considered "good" in the adaptive algorithm. The name of the +associated Source_adapt component in the instrument definition is +given as parameter. The component is special in that its position +does not matter; all neutrons that have not been absorbed prior to +the component are considered "good". + +Example: Adapt_check(source_comp="MySource") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **source_comp** | string | The name of the Source_adapt component in the instrument definition. | | + +## Links + +- [Source code](Adapt_check.comp) for `Adapt_check.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sources/ESS_butterfly.md b/mcstas-comps/sources/ESS_butterfly.md new file mode 100644 index 0000000000..94da0b275c --- /dev/null +++ b/mcstas-comps/sources/ESS_butterfly.md @@ -0,0 +1,109 @@ +# The `ESS_butterfly` Component + +*McStas: ESS butterfly moderator, 2016 revision* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup and Esben Klinkby +- **Origin:** DTU +- **Date:** August-September 2016 + +## Description + +```text +ESS butterfly moderator with automatic choice of coordinate system, with origin +placed at relevant "Moderator Focus Coordinate System" depending on sector location. + +To select beamport N 5 simply use + +COMPONENT Source = ESS_butterfly(sector="N",beamline=5,Lmin=0.1,Lmax=20,dist=2, +cold_frac=0.5, yheight=0.03,focus_xw=0.1, focus_yh=0.1) + +Geometry +The geometry corresponds correctly to the latest release of the butterfly moderator, +including changes warranted by the ESS CCB in July 2016, the so called BF1 type moderator. +A set of official release documents are available with this component, see the benchmarking +website mentioned below. + +Brilliances, geometry adapted from earlier BF2 design +The geometry and brightness data implemented in the McStas ESS source component ESS_butterfly.comp, +are released as an updated component library for McStas 2.3, as well as a stand alone archive for +use with earlier versions of McStas. + +The following features are worth highlighting: +
    +
  • The brightness data are still based on last years MCNP calculations, based on the Butterfly 2 geometry. +As a result, the spatial variation of the brightness across the moderator face should be considered to +have an uncertainty of the order of 10%. Detailed information on the reasoning behind the change to +the Butterfly 1 geometry can be found in [1] and detailed information on horizontal spatial brightness +variation can be found in [2]. The spectral shape has been checked and has not changed significantly. +
  • A scaling factor has been introduced to in order to account for the decrease in brightness since 2015. +To accommodate the influence of the changed geometry, this scaling factor has been applied independently +for the cold and thermal contributions and is beamline dependent. It is adjusted to agree with the +spectrally-integrated 6cm width data shown in [1],Figure 3. +
  • To allow future user adjustments of brilliance, the scalar parameters c_performance and t_performance +have been implemented. For now, we recommend to keep these at their default value of 1.0. +
  • The geometry has been updated to correspond within about 2 mm to the geometry described in [1]. This +has been done by ensuring that the position and apparent width of the moderators correspond to [1],Figure 2, +which has been derived from current MCNP butterfly 1 model. +
  • The beamport is now defined directly by its sector and number (e.g. 'W' and '5'), rather than giving the angle, +as before. [1],Figure 5 shows the geometry of the moderator2, beamport insert and beamline axis for beamline W5. +Since the underlying data is still from last years MCNP run, when the brightness was calculated at 10-degree +intervals, this means that the spectral curve for the nearest beamport on the grid 5,15,25,35,45,55 degrees +is used. The use of this grid has no effect on the accuracy of the geometry or brilliance because of the above- +mentioned beamline-dependent adjustments to the brilliance and geometry. See the website [3] for details. +
+As before, the beamports all originate at the focal point of the sector. The beamline will in almost all cases be +horizontally tilted in order to view the cold or thermal moderator, which should be done using an Arm component. + +

We expect to release an MCNP-event-based source model later in 2016, and possibly also new set of brilliance +functions for ESS_butterfly.comp. These are expected to include more realistic brilliances in terms of variation +across sectors and potentially also performance losses due to engineering reality. + +Engineering reality +An ad-hoc method for future implementation of "engineering reality" is included, use the +"c_performance/t_performance" parameters to down-scale performance uniformly across all wavelengths. + +References: +

    +
  1. Release document "Update to ESS Moderators, latest version" +
  2. Release document "Description and performance of the new baseline ESS moderators, latest version" +
  3. http://essbutterfly.mcstas.org/ benchmarking website with comparative McStas-MCNP figures +
  4. html-based, interactive 3D model of moderators and monolith, as seen from beamline N4. +
  5. Source code for ESS_butterfly.comp at GitHub. +
+``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sector | str | Defines the 'sector' of your instrument position. Valid values are "N","S","E" and "W" | "N" | +| beamline | 1 | Defines the 'beamline number' of your instrument position. Valid values are 1..10 or 1..11 depending on sector | 1 | +| yheight | m | Defines the moderator height. Valid values are 0.03 m and 0.06 m | 0.03 | +| cold_frac | 1 | Defines the statistical fraction of events emitted from the cold part of the moderator | 0.5 | +| target_index | 1 | Relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. | 0 | +| dist | m | Distance from origin to focusing rectangle; at (0,0,dist) - alternatively use target_index | 0 | +| focus_xw | m | Width of focusing rectangle | 0 | +| focus_yh | m | Height of focusing rectangle | 0 | +| c_performance | 1 | Cold brilliance scalar performance multiplicator c_performance > 0 | 1 | +| t_performance | 1 | Thermal brilliance scalar performance multiplicator t_performance > 0 | 1 | +| **Lmin** | AA | Minimum wavelength simulated | | +| **Lmax** | AA | Maximum wavelength simulated | | +| tmax_multiplier | 1 | Defined maximum emission time at moderator, tmax= tmax_multiplier * ESS_PULSE_DURATION. | 3 | +| n_pulses | 1 | Number of pulses simulated. 0 and 1 creates one pulse. | 1 | +| acc_power | MW | Accelerator power in MW | 5 | +| tfocus_dist | m | Position of time focusing window along z axis | 0 | +| tfocus_time | s | Time position of time focusing window | 0 | +| tfocus_width | s | Time width of time focusing window | 0 | + +## Links + +- [Source code](ESS_butterfly.comp) for `ESS_butterfly.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sources/ESS_moderator.md b/mcstas-comps/sources/ESS_moderator.md new file mode 100644 index 0000000000..d4f0a84845 --- /dev/null +++ b/mcstas-comps/sources/ESS_moderator.md @@ -0,0 +1,83 @@ +# The `ESS_moderator` Component + +*McStas: A parametrised pulsed source for modelling ESS long pulses.* + +## Identification + +- **Site:** +- **Author:** P Willendrup and E Klinkby, February 2014, derived from K Lefmann ESS_moderator_long +- **Origin:** DTU +- **Date:** + +## Description + +```text +Produces a time-of-flight spectrum, from the ESS parameters +Chooses evenly in lambda, evenly/exponentially decaying in time +Adapted from ESS_moderator_long by: K Lefmann, 2001 + +Updates and simplified interface: +
    +
  1. The spectrum from the source(s) is defined via the sourcedef string input parameter which allows these values: +
      +
    • sourcedef="2001", legacy "Mezei moderators" from the original F. Mezei documents +"ESS reference moderator characteristics for generic instrument performance evaluation", but rescaled to ESS TDR frequency, pulselength and power. +
    • sourcedef="TDR", Mezei moderators, with a wavelength-dependent correction term to the cold flux, derived from +2012 MCNPX calculations by ESS neutronics group. Corrections calculated by K Lieutenant (Vitess) and +implemented here by E Klinkby. NOTE: uses the 2001 brilliance for the thermal moderator! +
    • sourcedef="2014", updated brilliance using formulation by Troels Schoenfeldt, including support for the "pancacke", i.e. flat geometry. +
    • sourcedef="2015", updated brilliance using formulation by Troels Schoenfeldt, new butterfly baseline. +
    +
  2. The component can use target_index for focusing to a given beam port. Use an Arm() and ROTATED to position +relatively to the moderator. +
  3. The component relies on the new ess_source-lib which is expected to become further enriched during design-finaliziation and construciton of the ESS. +
+ +

Note that this component does not implement "engineering reality" and currently uses a coordinate system centered on the moderator assembly. An +updated moderator component which references the "Moderator focus coordinate system" will be released later during the spring of 2016. + +

Derived from ESS_moderator_long which was debugged intensively against Mezei note (4/12 2000) and VitESS @ Rencurel 2006. + +----------------------------------------------- +Correction by J. Saroun, NPI Rez: +1) version 2015: accepts negative port angles +2) version 2015: weight by cosine of the port angle +Warning: The negative beamport angle is not taken into acccount by mcplot + +%VALIDATION +Mezei-modererators validated against VitESS and Mezei note (4/12 2000) @ Rencurel 2006 +Benchmarked against multiple versions of ESS moderator group simulation data 2013-2015 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| isleft | 1 | Fraction of thermal neutrons generated at the "left" moderator slab in case of "2013" or "2014" | 0.9 | +| **Lmin** | AA | Lower edge of wavelength distribution | | +| **Lmax** | AA | Upper edge of wavelength distribution | | +| cold_frac | 1 | Fraction of neutron statistics from cold source. It is implicitely assumed that supermirror allows each beamline to choose the desired fraction of cold and thermal neutrons (i.e. extreme idealization). | 1.0 | +| dist | m | Distance from source to focusing rectangle; at (0,0,dist) | 0 | +| **focus_xw** | m | Width of focusing rectangle | | +| **focus_yh** | m | Height of focusing rectangle | | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. | 0 | +| tmax_multiplier | 1 | Defined maximum emission time at moderator, tmax= tmax_multiplier * ESS_PULSE_DURATION. Only in combination with sourcedef="2013", "2014" or "2015" | 3 | +| yheight_c | m | Height of the cold source | 0.12 | +| yheight_t | m | Height of the thermal source | 0.12 | +| n_pulses | 1 | Number of pulses simulated. 0 and 1 creates one pulse. The integrated intensity is constant | 1 | +| acc_power | MW | Accelerator power in MW | 5 | +| beamport_angle | deg | Direction within the beamport sector (0 < angle < extraction_opening for 2014, -extraction_opening/2 < angle < extraction_opening/2 for 2015) to direct neutrons. For sourcedef="2015", the only allowed values are 5,15,...,55 degrees measured from the central point. | -1 | +| sourcedef | string | ESS source "database", values: "TDR", "2001", "2013", "2014", "2015" | "2015" | +| xwidth_c | m | Width / arc-length opening of the cold source. | 0.1 | +| xwidth_t | m | Edge of thermal source | 0.18 | +| extraction_opening | deg | Width of extraction-area in degrees (60 or 120 degrees). 120 deg only in combination with sourcedef="2014" and "2015". | 120 | + +## Links + +- [Source code](ESS_moderator.comp) for `ESS_moderator.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sources/Moderator.md b/mcstas-comps/sources/Moderator.md new file mode 100644 index 0000000000..9f116bd6ba --- /dev/null +++ b/mcstas-comps/sources/Moderator.md @@ -0,0 +1,44 @@ +# The `Moderator` Component + +*McStas: A simple pulsed source for time-of-flight.* + +## Identification + +- **Site:** +- **Author:** KN, M.Hagen +- **Origin:** Risoe +- **Date:** August 1998 + +## Description + +```text +Produces a simple time-of-flight spectrum, with a flat energy distribution + +Example: Moderator(radius = 0.0707, dist = 9.035, focus_xw = 0.021, focus_yh = 0.021, Emin = 10, Emax = 15, Ec = 9.0, t0 = 37.15, gamma = 39.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Radius of source | 0.07 | +| **Emin** | meV | Lower edge of energy distribution | | +| **Emax** | meV | Upper edge of energy distribution | | +| dist | m | Distance from source to the focusing rectangle | 0 | +| focus_xw | m | Width of focusing rectangle | 0.02 | +| focus_yh | m | Height of focusing rectangle | 0.02 | +| t0 | mus | decay constant for low-energy neutrons | 37.15 | +| Ec | meV | Critical energy, below which the flux decay is constant | 9.0 | +| gamma | meV | energy dependence of decay time | 39.1 | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. | 1 | +| flux | 1/(s cm 2 st meV) | flux | 1 | + +## Links + +- [Source code](Moderator.comp) for `Moderator.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sources/Monitor_Optimizer.md b/mcstas-comps/sources/Monitor_Optimizer.md new file mode 100644 index 0000000000..8d441dd560 --- /dev/null +++ b/mcstas-comps/sources/Monitor_Optimizer.md @@ -0,0 +1,47 @@ +# The `Monitor_Optimizer` Component + +*McStas: To be used after the Source_Optimizer component* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 17 Sept 1999 + +## Description + +```text +A component that optimizes the neutron flux passing through the +Source_Optimizer in order to have the maximum flux at the +Monitor_Optimizer position(s). +Source_optimizer should be placed just after the source. +Monitor_Optimizer should be placed at the position to optimize. +I prefer to put one just before the sample. + +See Source_Optimizer for +usage example and additional informations. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **optim_comp** | str | name of the Source_Optimizer component in the instrument definition. Do not use quotes (no quotes) | | +| xmin | m | Lower x bound of monitor opening | -0.1 | +| xmax | m | Upper x bound of monitor opening | 0.1 | +| ymin | m | Lower y bound of monitor opening | -0.1 | +| ymax | m | Upper y bound of monitor opening | 0.1 | +| xwidth | m | Width of monitor. Overrides xmin,xmax. | 0 | +| yheight | m | Height of monitor. Overrides ymin,ymax. | 0 | + +## Links + +- [Source code](Monitor_Optimizer.comp) for `Monitor_Optimizer.comp`. +- Source_Optimizer + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sources/Source_4PI.md b/mcstas-comps/sources/Source_4PI.md new file mode 100644 index 0000000000..9b0f37aa09 --- /dev/null +++ b/mcstas-comps/sources/Source_4PI.md @@ -0,0 +1,38 @@ +# The `Source_4PI` Component + +*McStas: Spherical, 4PI-emitting, monochromatic source for benchmarking purposes* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** May 2024 + +## Description + +```text +Spherical, 4PI-emitting, monochromatic source for benchmarking purposes +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Radius of spherical source | 0 | +| flux | n/s/4PI | Neutron flux | 1e14 | +| gauss | | Flag to indicate if Energy/Wavelength distribution is gaussian | 0 | +| E0 | meV | Mean energy of neutrons. | 0 | +| dE | meV | Energy half spread of neutrons (flat or gaussian sigma). | 0 | +| lambda0 | AA | Mean wavelength of neutrons. | 0 | +| dlambda | AA | Wavelength half spread of neutrons. | 0 | + +## Links + +- [Source code](Source_4PI.comp) for `Source_4PI.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sources/Source_Maxwell_3.md b/mcstas-comps/sources/Source_Maxwell_3.md new file mode 100644 index 0000000000..7b3627bc34 --- /dev/null +++ b/mcstas-comps/sources/Source_Maxwell_3.md @@ -0,0 +1,58 @@ +# The `Source_Maxwell_3` Component + +*McStas: Source with up to three Maxwellian distributions* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** March 2001 + +## Description + +```text +A parametrised continuous source for modelling a (cubic) source +with (up to) 3 Maxwellian distributions. +The source produces a continuous spectrum. +The sampling of the neutrons is uniform in wavelength. + +Units of flux: neutrons/cm^2/second/ster +(McStas units are in general neutrons/second) + +Example: PSI cold source T1=150.42 K / 2.51 AA I1 = 3.67 E11 +T2=38.74 K / 4.95 AA I2 = 3.64 E11 +T3=14.84 K / 9.5 AA I3 = 0.95 E11 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| size | m | Edge of cube shaped source (for backward compatibility) | 0 | +| yheight | m | Height of rectangular source | 0 | +| xwidth | m | Width of rectangular source | 0 | +| **Lmin** | AA | Lower edge of lambda distribution | | +| **Lmax** | AA | Upper edge of lambda distribution | | +| **dist** | m | Distance from source to focusing rectangle; at (0,0,dist) | | +| **focus_xw** | m | Width of focusing rectangle | | +| **focus_yh** | m | Height of focusing rectangle | | +| **T1** | K | 1st temperature of thermal distribution | | +| T2 | K | 2nd temperature of thermal distribution | 300 | +| T3 | K | 3nd temperature of - - - | 300 | +| **I1** | 1/(cm**2*st) | flux, 1 (in flux units, see above) | | +| I2 | 1/(cm**2*st) | flux, 2 (in flux units, see above) | 0 | +| I3 | 1/(cm**2*st) | flux, 3 - - - | 0 | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. | 1 | +| lambda0 | AA | Mean wavelength of neutrons. | 0 | +| dlambda | AA | Wavelength spread of neutrons. | 0 | + +## Links + +- [Source code](Source_Maxwell_3.comp) for `Source_Maxwell_3.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sources/Source_Optimizer.md b/mcstas-comps/sources/Source_Optimizer.md new file mode 100644 index 0000000000..a09971f2d0 --- /dev/null +++ b/mcstas-comps/sources/Source_Optimizer.md @@ -0,0 +1,103 @@ +# The `Source_Optimizer` Component + +*McStas: A component that optimizes the neutron flux passing through the +Source_Optimizer in order to have the maximum flux at the +Monitor_Optimizer position.* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi +- **Origin:** ILL (France) +- **Date:** 17 Sept 1999 + +## Description + +```text +Principle: The optimizer first (step 1) computes neutron state parameter +limits passing in the Source_Optimizer, and then (step 2) records a Reference +source as well as the state (at Source_Optimizer position) of neutrons +reaching Monitor. The optimized source is defined as a fraction of the +Reference source plus the distribution of 'good' neutrons reaching the +Monitor. The optimization then starts (step 3), and focuses new neutrons on +the Monitor_Optimizer. In fact it changes 'bad' neutrons into 'good' ones +(that reach the Monitor), acting on their position, spin and divergence or +velocity. The overall Monitor flux is kept during process. The energy and +polarisation distributions are kept during optimization as far as possible +during optimisation. The optimization method considers that all neutron +parameters - (x,y), (vx,vy,vz) or (vx/v2,vy/v2,v2), (sx,sy,sz) or +(sx/s2,sy/s2,s2) - are independent. + +Options: The optimized source can be computed regularly ('continuous' +option) or only once ('not continuous'). The time spent in steps 1 and 2 can +be reduced for a shorter optimization ('auto'). The neutrons passing during +steps 1 and 2 can be smoothed for a better neutron weight distribution +('smooth' option). + +Source_optimizer can be placed at any position where you want to act on the +flux, for instance just after the source. +Monitor_Optimizer should be placed at position(s) to optimize. +I prefer to put one just before the sample. + +Default parameters bins, step, and keep are 10, 10% and 10% respectively. +The option string can be empty (""), which stands for default configuration +that works fine in usual cases: + +options="continuous optimization, auto mode, smooth, SetXY+SetDivV+SetDivS" + +Possible options are +continuous for continuous source optimization (default). +verbose displays optimization process (debug purpose). +auto uses the shortest possible 'step 1' and 'step 2' and sets 'step' value as required (default). +smooth remove possible spikes generated in steps 1 and 2 (default is smooth). +inactivate to inactivate the Optimizer. +no or not revert next option +bins=[value=10] set the Number of cells for sampling neutron states +step=[value=10] Optimizer step in % of simulation. +keep=[value=10] Percentage of initial source distribution that is kept +file=[name] Filename where to save optimized source distributions (no file is generated if not given. Default ext. is .src) +SetXY Keywords to indicate what may be changed during +SetV optimisation. Default is position, divergence and spin +SetS direction ("SetXY+SetDivV+SetdivS"). Choosing the speed +SetDivV or spin optimization (SetV or SetS) may modify the energy +SetDivS or polarisation distribution (norm of V and S) as the three components are then independent. + +Parameters bins, step and keep can also be entered as optional parameters. + +EXAMPLE: I use the following settings + +optim_s = Source_Optimizer(options="please be clever") (same as empty) +(...) +Monitor_Optimizer(xmin=-0.05, xmax=0.05, ymin=-0.05, ymax=0.05, +optim_comp = "optim_s") + +A good optimization needs to record enough non optimized neutrons on Monitor +during step 2. Typical enhancement in computation speed is by a factor 20. +This component usually works well. + +NOTE: You must be aware that in some cases (SetV and SetS), +the optimization might sligtly afect the energy or spin distribution of the +source. The optimizer tries to do its best anyway. +Also, some 'spikes' may sometime appear in monitor signals in the course of +the optimization, coming from non-optimized neutrons with original weight. +The 'smooth' option minimises this effect (on by default). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| bins | 1 | Number of cells for sampling neutron states. | 10 | +| step | 0-100 | Optimizer step in percent of simulation. | 0.1 | +| keep | 0-100 | Percentage of initial source distribution that is kept. | 0.1 | +| options | str | string of options. See Description | 0 | + +## Links + +- [Source code](Source_Optimizer.comp) for `Source_Optimizer.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sources/Source_adapt.md b/mcstas-comps/sources/Source_adapt.md new file mode 100644 index 0000000000..e86b220f7e --- /dev/null +++ b/mcstas-comps/sources/Source_adapt.md @@ -0,0 +1,80 @@ +# The `Source_adapt` Component + +*McStas: Neutron source with adaptive importance sampling* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** 1999 + +## Description + +```text +Rectangular source with flat energy or wavelength distribution that +uses adaptive importance sampling to improve simulation efficiency. +Works together with the Adapt_check component. + +The source divides the three-dimensional phase space of (energy, +horizontal position, horizontal divergence) into a number of +rectangular bins. The probability for selecting neutrons from each +bin is adjusted so that neutrons that reach the Adapt_check +component with high weights are emitted more frequently than those +with low weights. The adjustment is made so as to attemt to make +the weights at the Adapt_check components equal. + +Focusing is achieved by only emitting neutrons towards a rectangle +perpendicular to and placed at a certain distance along the Z axis. +Focusing is only approximate (for simplicity); neutrons are also +emitted to pass slightly above and below the focusing rectangle, +more so for wider focusing. + +In order to prevent false learning, a parameter beta sets a +fraction of the neutrons that are emitted uniformly, without regard +to the adaptive distribution. The parameter alpha sets an initial +fraction of neutrons that are emitted with low weights; this is +done to prevent early neutrons with rare initial parameters but +high weight to ruin the statistics before the component adapts its +distribution to the problem at hand. Good general-purpose values +for these parameters are alpha = beta = 0.25. + +%VALIDATION +This component is not validated. It does not work properly with MPI. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| N_E | 1 | Number of bins in energy (or wavelength) dimension | 20 | +| N_xpos | 1 | Number of bins in horizontal position | 20 | +| N_xdiv | 1 | Number of bins in horizontal divergence | 20 | +| xmin | m | Left edge of rectangular source | 0 | +| xmax | m | Right edge | 0 | +| ymin | m | Lower edge | 0 | +| ymax | m | Upper edge | 0 | +| xwidth | m | Width of source | 0 | +| yheight | m | Height of source | 0 | +| filename | string | Optional filename for adaptive distribution output | 0 | +| dist | m | Distance to target rectangle along z axis | 0 | +| focus_xw | m | Width of target | 0.05 | +| focus_yh | m | Height of target | 0.1 | +| E0 | meV | Mean energy of neutrons | 0 | +| dE | meV | Energy spread (energy range is from E0-dE to E0+dE) | 0 | +| lambda0 | AA | Mean wavelength of neutrons (if energy not specified) | 0 | +| dlambda | AA | Wavelength spread half width | 0 | +| flux | | (1/(cm 2 AA st)) Absolute source flux | 1e13 | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. | 1 | +| alpha | 1 | Learning cut-off factor (0 < alpha <= 1) | 0.25 | +| beta | 1 | Aggressiveness of adaptive algorithm (0 < beta <= 1) | 0.25 | + +## Links + +- [Source code](Source_adapt.comp) for `Source_adapt.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sources/Source_div.md b/mcstas-comps/sources/Source_div.md new file mode 100644 index 0000000000..2da2f2247f --- /dev/null +++ b/mcstas-comps/sources/Source_div.md @@ -0,0 +1,62 @@ +# The `Source_div` Component + +*McStas: Neutron source with Gaussian or uniform divergence* + +## Identification + +- **Site:** +- **Author:** KL +- **Origin:** Risoe +- **Date:** November 20, 1998 + +## Description + +```text +The routine is a rectangular neutron source, which has a gaussian or uniform +divergent output in the forward direction. +The neutron energy is distributed between lambda0-dlambda and +lambda0+dlambda or between E0-dE and E0+dE. The flux unit is specified +in n/cm2/s/st/energy unit (meV or Angs). +In the case of uniform distribution (gauss=0), angles are uniformly distributed +between -focus_aw and +focus_aw as well as -focus_ah and +focus_ah. +For Gaussian distribution (gauss=1), 'focus_aw' and 'focus_ah' define the +FWHM of a Gaussian distribution. Energy/wavelength distribution is also +Gaussian. + +Example: Source_div(xwidth=0.1, yheight=0.1, focus_aw=2, focus_ah=2, E0=14, dE=2, gauss=0) + +%VALIDATION +Feb 2005: tested by Kim Lefmann (o.k.) +Apr 2005: energy distribution used in external tests of Fermi choppers (o.k.) +Jun 2005: wavelength distribution used in external tests of velocity selectors (o.k.) +Validated by: K. Lieutenant + +%BUGS +distribution is uniform in (hor. and vert.) angle (relative to moderator normal), +therefore not suited for large angles +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **xwidth** | m | Width of source | | +| **yheight** | m | Height of source | | +| **focus_aw** | deg | FWHM (Gaussian) or maximal (uniform) horz. width divergence | | +| **focus_ah** | deg | FWHM (Gaussian) or maximal (uniform) vert. height divergence | | +| E0 | meV | Mean energy of neutrons. | 0.0 | +| dE | meV | Energy half spread of neutrons. | 0.0 | +| lambda0 | Ang | Mean wavelength of neutrons (only relevant for E0=0) | 0.0 | +| dlambda | Ang | Wavelength half spread of neutrons. | 0.0 | +| gauss | 0\|1 | Criterion: 0: uniform, 1: Gaussian distributions | 0 | +| flux | 1/(s cm 2 st energy_unit) | flux per energy unit, Angs or meV | 1 | + +## Links + +- [Source code](Source_div.comp) for `Source_div.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sources/Source_div_quasi.md b/mcstas-comps/sources/Source_div_quasi.md new file mode 100644 index 0000000000..188858e50f --- /dev/null +++ b/mcstas-comps/sources/Source_div_quasi.md @@ -0,0 +1,64 @@ +# The `Source_div_quasi` Component + +*McStas: Quasi-stochastic neutron source with Gaussian or uniform divergence* + +## Identification + +- **Site:** +- **Author:** Mads Carlsen and Erik Bergbäck Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Jan 22 + +## Description + +```text +A flat rectangular surface source with uniform or Gaussian divergence profile and focussing. +If the parametere gauss is not set (the default) the divergence profile is flat +in the range [-focus_ax,focus_ay]. If gauss is set, the focux_ax,focus_ay is considered +the standard deviation of the gaussian profile. +Currently focussing is only active for flat profile. The "focus window" is defined by focus_xw,focus_yh and dist. +The spectral intensity profile is uniformly distributed in the energy interval defined by e0+-dE/2 or +by wavelength lambda0+-dlambda/2 + +The phase space spanned by the generated neutrons is sampled by means of Halton-sequences, instead of regular +pseudo random numbers. This ensures that samples are evenly distributed within the phase space region of interest. + +Example: Source_div_quasi(xwidth=0.1, yheight=0.1, focus_aw=2, focus_ah=2, E0=14, dE=2, gauss=0) + +%VALIDATION + +%BUGS +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| spectrum_file | | File from which to read the spectral intensity profile | "" | +| xwidth | m | Width of source | 0 | +| yheight | m | Height of source | 0 | +| focus_xw | m | Width of sampling window | 0 | +| focus_yh | m | Height of sampling window | 0 | +| dist | m | Downstream distance to place sampling target window | 0 | +| focus_aw | rad | Std. dev. (Gaussian) or maximal (uniform) horz. width divergence. focus_xw overrrides if it is more restrictive. | 0 | +| focus_ah | rad | Std. dev. (Gaussian) or maximal (uniform) vert. height divergence. focus_yh overrrides if it is more restrictive. | 0 | +| E0 | meV | Mean energy of neutrons. | 0 | +| dE | meV | Energy spread of neutrons. | 0 | +| lambda0 | AA | Mean wavelength of neutrons (only relevant for E0=0) | 0 | +| dlambda | AA | Wavelength half spread of neutrons. | 0 | +| flux | 1/(s*cm**2*st*energy unit) | Flux per energy unit, Angs or meV | 0 | +| gauss | 1 | Criterion: 0: uniform, 1: Gaussian distribution of energy/wavelength | 0 | +| gauss_a | 1 | Criterion: 0: uniform, 1: Gaussian divergence distribution | 0 | +| randomphase | | When=1, the X-ray phase is randomised | 1 | +| phase | | Set to finite value to define X-ray phase (0:2 pi) | 0 | +| verbose | | Generate more output on the console. | 1 | + +## Links + +- [Source code](Source_div_quasi.comp) for `Source_div_quasi.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sources/Source_gen.md b/mcstas-comps/sources/Source_gen.md new file mode 100644 index 0000000000..a17c35333d --- /dev/null +++ b/mcstas-comps/sources/Source_gen.md @@ -0,0 +1,123 @@ +# The `Source_gen` Component + +*McStas: Circular/squared neutron source with flat or Maxwellian energy/wavelength +spectrum* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi, Kim Lefmann +- **Origin:** ILL/Risoe +- **Date:** Aug 27, 2001 + +## Description + +```text +This routine is a neutron source (rectangular or circular), which aims at +a square target centered at the beam (in order to improve MC-acceptance +rate). The angular divergence is then given by the dimensions of the +target. However, it may be directly set using the 'focus-aw' and 'focus_ah' +parameters. + +The neutron energy/wavelength is distributed uniformly in wavelength between +Emin=E0-dE and Emax=E0+dE or Lmin=lambda0-dlambda and Lmax=lambda0+dlambda. +The I1 may be either arbitrary (I1=0), or specified in neutrons per steradian +per square cm per Angstrom per s. A Maxwellian spectra may be selected if you +give the source temperatures (up to 3). + +Finally, a file with the flux as a +function of the wavelength [lambda(AA) flux(n/s/cm^2/st/AA)] may be used +with the 'flux_file' parameter. Format is 2 columns free text. + +Additional distributions for the horizontal and vertical phase spaces +distributions (position-divergence) may be specified with the +'xdiv_file' and 'ydiv_file' parameters. Format is free text, requiring +a comment line '# xylimits: pos_min pos_max div_min div_max' to set +the axis of the distribution matrix. All these files may be generated using +standard monitors (better in McStas/PGPLOT format), e.g.: +Monitor_nD(options="auto lambda per cm2") +Monitor_nD(options="x hdiv, all auto") +Monitor_nD(options="y vdiv, all auto") + +The source shape is defined by its radius, or can alternatively be squared +if you specify non-zero yheight and xwidth parameters. +The beam is divergence uniform,. +The source may have a thickness, which will broaden the default zero time +distribution. + +Usage example: +Source_gen(radius=0.1,lambda0=2.36,dlambda=0.16,T1=20,I1=1e13,focus_xw=0.01,focus_yh=0.01) +Source_gen(yheight=0.1,xwidth=0.1,Emin=1,Emax=3,I1=1e13,verbose=1,focus_xw=0.01,focus_yh=0.01) +EXTEND +%{ +t = rand0max(1e-3); // set time from 0 to 1 ms for TOF instruments. +%} + +Some neutron facility parameters: +PSI cold source T1=296.2,I1=8.5E11, T2=40.68,I2=5.2E11 +ILL VCS cold source T1=216.8,I1=1.24e+13,T2=33.9,I2=1.02e+13 +(H1, 58 MW) T3=16.7 ,I3=3.0423e+12 +ILL HCS cold source T1=413.5,I1=10.22e12,T2=145.8,I2=3.44e13 +(H5, 58 MW) T3=40.1 ,I3=2.78e13 +ILL Thermal tube T1=683.7,I1=0.5874e+13,T2=257.7,I2=2.5099e+13 +(H12, 58 MW) T3=16.7 ,I3=1.0343e+12 +ILL Hot source T1=1695, I1=1.74e13,T2=708, I2=3.9e12 (58MW) +HZB cold source T1=43.7 ,I1=1.4e12, T2=137.2,I2=2.08e12,radius=.155 (10MW) +HZB bi-spectral T1=43.7, I1=1.4e12, T2=137.2,I2=2.08e12,T3=293.0,I3=1.77e12 +HZB thermal tube T1=293.0,I1=2.64e12 (10MW) +FRM2 cold,20MW T1=35.0, I1=9.38e12,T2=547.5,I2=2.23e12,T3=195.4,I3=1.26e13 +FRM2 thermal,20MW T1=285.6,I1=3.06e13,T2=300.0,I2=1.68e12,T3=429.9,I3=6.77e12 +LLB cold,14MW T1=220, I1=2.09e12,T2=60, I2=3.83e12,T3=20, I3=1.04e12 +TRIGA thermal 1MW T1=300, I1=3.5e11 (scale by thermal power in MW) + +%VALIDATION +Feb 2005: output cross-checked for 3 Maxwellians against VITESS source +I(lambda), I(hor_div), I(vert_div) identical in shape and absolute values +Validated by: K. Lieutenant +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| flux_file | str | Name of a two columns [lambda flux] text file that contains the wavelength distribution of the flux in either [1/(s*cm**2*st)] or [1/(s*cm**2*st*AA)] (see flux_file_perAA flag) Comments (#) and further columns are ignored. Format is compatible with McStas/PGPLOT wavelength monitor files. When specified, temperature and intensity values are ignored. | "NULL" | +| xdiv_file | str | Name of the x-horiz. divergence distribution file, given as a free format text matrix, preceeded with a line '# xylimits: xmin xmax xdiv_min xdiv_max' | "NULL" | +| ydiv_file | str | Name of the y-vert. divergence distribution file, given as a free format text matrix, preceeded with a line '# xylimits: ymin ymax ydiv_min ydiv_max' | "NULL" | +| radius | m | Radius of circle in (x,y,0) plane where neutrons are generated. You may also use 'yheight' and 'xwidth' for a square source | 0.0 | +| dist | m | Distance to target along z axis. | 0 | +| focus_xw | m | Width of target. | 0.045 | +| focus_yh | m | Height of target. | 0.12 | +| focus_aw | deg | maximal (uniform) horz. width divergence | 0 | +| focus_ah | deg | maximal (uniform) vert. height divergence | 0 | +| E0 | meV | Mean energy of neutrons. | 0 | +| dE | meV | Energy spread of neutrons, half width. | 0 | +| lambda0 | AA | Mean wavelength of neutrons. | 0 | +| dlambda | AA | Wavelength spread of neutrons,half width | 0 | +| I1 | 1/(cm**2*sr) | Source flux per solid angle, area and Angstrom if I1=0, the source emits 1 in 4*PI whole space. | 1 | +| yheight | m | Source y-height, then does not use radius parameter | 0.1 | +| xwidth | m | Source x-width, then does not use radius parameter | 0.1 | +| verbose | 0/1 | display info about the source. -1 inactivate source. | 0 | +| T1 | K | Temperature of the Maxwellian source, 0=none | 0 | +| flux_file_perAA | 1 | When true (1), indicates that flux file data is already per Aangstroem. If false, file data is per wavelength bin. | 0 | +| flux_file_log | 1 | When true, will transform the flux table in log scale to improve the sampling. | 0 | +| Lmin | AA | Minimum wavelength of neutrons | 0 | +| Lmax | AA | Maximum wavelength of neutrons | 0 | +| Emin | meV | Minimum energy of neutrons | 0 | +| Emax | meV | Maximum energy of neutrons | 0 | +| T2 | K | Second Maxwellian source Temperature, 0=none | 0 | +| I2 | 1/(cm**2*sr) | Second Maxwellian Source flux | 0 | +| T3 | K | Third Maxwellian source Temperature, 0=none | 0 | +| I3 | 1/(cm**2*sr) | Third Maxwellian Source flux | 0 | +| zdepth | m | Source z-zdepth, not anymore flat | 0 | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. | 1 | + +## Links + +- [Source code](Source_gen.comp) for `Source_gen.comp`. +- P. Ageron, Nucl. Inst. Meth. A 284 (1989) 197 + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/sources/Source_simple.md b/mcstas-comps/sources/Source_simple.md new file mode 100644 index 0000000000..9078667482 --- /dev/null +++ b/mcstas-comps/sources/Source_simple.md @@ -0,0 +1,54 @@ +# The `Source_simple` Component + +*McStas: A circular neutron source with flat energy spectrum and arbitrary flux* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann +- **Origin:** Risoe +- **Date:** October 30, 1997 + +## Description + +```text +The routine is a circular neutron source, which aims at a square target +centered at the beam (in order to improve MC-acceptance rate). The angular +divergence is then given by the dimensions of the target. +The neutron energy is uniformly distributed between lambda0-dlambda and +lambda0+dlambda or between E0-dE and E0+dE. +The flux unit is specified in n/cm2/s/st/energy unit (meV or Angs). + +This component replaces Source_flat, Source_flat_lambda, +Source_flux and Source_flux_lambda. + +Example: Source_simple(radius=0.1, dist=2, focus_xw=.1, focus_yh=.1, E0=14, dE=2) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Radius of circle in (x,y,0) plane where neutrons are generated. | 0.1 | +| yheight | m | Height of rectangle in (x,y,0) plane where neutrons are generated. | 0 | +| xwidth | m | Width of rectangle in (x,y,0) plane where neutrons are generated. | 0 | +| dist | m | Distance to target along z axis. | 0 | +| focus_xw | m | Width of target | .045 | +| focus_yh | m | Height of target | .12 | +| E0 | meV | Mean energy of neutrons. | 0 | +| dE | meV | Energy half spread of neutrons (flat or gaussian sigma). | 0 | +| lambda0 | AA | Mean wavelength of neutrons. | 0 | +| dlambda | AA | Wavelength half spread of neutrons. | 0 | +| flux | 1/(s*cm**2*st*energy unit) | flux per energy unit, Angs or meV if flux=0, the source emits 1 in 4*PI whole space. | 1 | +| gauss | 1 | Gaussian (1) or Flat (0) energy/wavelength distribution | 0 | +| target_index | 1 | relative index of component to focus at, e.g. next is +1 this is used to compute 'dist' automatically. | 1 | + +## Links + +- [Source code](Source_simple.comp) for `Source_simple.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/AF_HB_1D_process.md b/mcstas-comps/union/AF_HB_1D_process.md new file mode 100644 index 0000000000..daf19048bc --- /dev/null +++ b/mcstas-comps/union/AF_HB_1D_process.md @@ -0,0 +1,57 @@ +# The `AF_HB_1D_process` Component + +*McStas: 1D Antiferromagnetic Heisenberg chain* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +1D Antiferromagnetic Heisenberg chain + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| atom_distance | AA | Distance between atom's in chain | 1 | +| number_density | 1/AA^3 | Number of scatteres per volume | 0 | +| unit_cell_volume | AA^3 | Unit cell volume (set either unit_cell_volume or number density) | 0 | +| A_constant | unitless | Constant from Müller paper 1981, probably somewhere between 1 and 1.5 | 1 | +| J_interaction | meV | Exchange constant | 1 | +| packing_factor | 1 | How dense is the material compared to optimal 0-1 | 1 | +| interact_fraction | 1 | How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) | -1 | +| init | string | name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](AF_HB_1D_process.comp) for `AF_HB_1D_process.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/IncoherentPhonon_process.md b/mcstas-comps/union/IncoherentPhonon_process.md new file mode 100644 index 0000000000..0936112294 --- /dev/null +++ b/mcstas-comps/union/IncoherentPhonon_process.md @@ -0,0 +1,60 @@ +# The `IncoherentPhonon_process` Component + +*McStas: A component to simulate inelastic scattering in the incoherent approximation +Takes into account one, two, and three phonon scattering explicitly, +and multi-phonon scattering (with n>4) via the saddle point method* + +## Identification + +- **Site:** +- **Author:** Victor Laliena +- **Origin:** University of Zaragoza +- **Date:** 06.11.2018 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +expects geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + + +Algorithm: +Described elsewhere, see e.g. https://doi.org/10.3233/JNR-190117 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| T | K | Temperature | 394 | +| density | g/cm3 | Material density | 6.0 | +| M | amu | ion mass | 50.94 | +| sigmaCoh | barns | Coherent scattering cross section | 0.0184 | +| sigmaInc | barns | Incoherent scattering cross section | 5.08 | +| DOSfn | string | Path to the file that contains the DoS | NULL | +| nphe_exact | 1 | Number of terms in the phonon expansion taken exact. Has to be between 1 and 3. | 1 | +| nphe_approx | 1 | Number of terms in the phonon expansion taken approximate. | 0 | +| approx | 1 | Approximation type: 0 gaussian, 1 saddle point | 0 | +| mph_resum | 0/1 | Resumate the remaining terms of the phonon expansion via a saddle point: 0 No, 1 Yes | 0 | +| nxs | 1 | Number of energy points at which the total cross sections are precomputed | 1000 | +| kabsmin | A^-1 | Lower cut-off for the neutron wave-vector k | 0.1 | +| kabsmax | A^-1 | Higher cut-off for the neutron wave-vector k | 25 | +| interact_fraction | 1 | How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) | -1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](IncoherentPhonon_process.comp) for `IncoherentPhonon_process.comp`. +- See https://doi.org/10.3233/JNR-190117 + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Incoherent_process.md b/mcstas-comps/union/Incoherent_process.md new file mode 100644 index 0000000000..79d08fb3d2 --- /dev/null +++ b/mcstas-comps/union/Incoherent_process.md @@ -0,0 +1,57 @@ +# The `Incoherent_process` Component + +*McStas: A sample component to separate geometry and phsysics* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +This Union_process is based on the Incoherent.comp component originally written +by Kim Lefmann and Kristian Nielsen + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sigma | barns | Incoherent scattering cross section | 5.08 | +| f_QE | 1 | Fraction of quasielastic scattering (rest is elastic) [1] | 0 | +| gamma | meV | Lorentzian width of quasielastic broadening (HWHM) [1] | 0 | +| packing_factor | 1 | How dense is the material compared to optimal 0-1 | 1 | +| unit_cell_volume | AA^3 | Unit cell volume | 13.8 | +| interact_fraction | 1 | How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) | -1 | +| init | string | name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Incoherent_process.comp) for `Incoherent_process.comp`. +- The test/example instrument Test_Phonon.instr. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Mirror_surface.md b/mcstas-comps/union/Mirror_surface.md new file mode 100644 index 0000000000..c2e93334da --- /dev/null +++ b/mcstas-comps/union/Mirror_surface.md @@ -0,0 +1,61 @@ +# The `Mirror_surface` Component + +*McStas: A Mirror surface process* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +This is a Union surface process that describes a supermirror or other surface +that only have specular reflection. The reflectivity can be given as a file +or using the standard reflectivity inputs. To use this in a simulation an +instance of this component should be defined in the instrument file, then +attatched to one or more geometries in their surface stacks pertaining to +each face of the geometry. + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflect | str | Name of reflectivity file. Format q(Angs-1) R(0-1) | 0 | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.0219 | +| alpha | AA | Slope of reflectivity | 6.07 | +| m | 1 | m-value of material. Zero means completely absorbing. | 2 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Mirror_surface.comp) for `Mirror_surface.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/NCrystal_process.md b/mcstas-comps/union/NCrystal_process.md new file mode 100644 index 0000000000..dfade469c3 --- /dev/null +++ b/mcstas-comps/union/NCrystal_process.md @@ -0,0 +1,71 @@ +# The `NCrystal_process` Component + +*McStas: NCrystal_process component for the Union framework.* + +## Identification + +- **Site:** +- **Author:** NCrystal developers, converted to a Union component by Mads Bertelsen +- **Origin:** NCrystal Developers (European Spallation Source ERIC and DTU Nutech) +- **Date:** 20.08.15 + +## Description + +```text +This process uses the NCrystal library as a Union process, see user documentation +for the NCrystal_sample.comp component for more information. The process only +uses the physics, as the Union components has a separate geometry system. +Absorption is also handled by Union, so any absorption output from NCrystal +is ignored. + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + + +Original header text for NCrystal_sample.comp: +McStas sample component for the NCrystal scattering library. Find more +information at the NCrystal +wiki. In particular, browse the available datafiles at Data-library +and read about format of the configuration string expected in the "cfg" +parameter at Using-NCrystal. + +

NCrystal is available under the Apache 2.0 license. Depending +on the configuration choices, optional NCrystal modules under different +licenses might be enabled - see About for more +details. + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| cfg | str | NCrystal material configuration string (details on this page). | "" | +| packing_factor | 1 | Material packing factor | 1 | +| interact_fraction | 1 | How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) | -1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](NCrystal_process.comp) for `NCrystal_process.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Non_process.md b/mcstas-comps/union/Non_process.md new file mode 100644 index 0000000000..e839217483 --- /dev/null +++ b/mcstas-comps/union/Non_process.md @@ -0,0 +1,54 @@ +# The `Non_process` Component + +*McStas: This process dos nothing and is used for testing* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** ESS DMSC +- **Date:** 20.08.15 + +## Description + +```text +This process dos nothing and is used for testing + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sigma | barns | Scattering cross section | 5.08 | +| packing_factor | 1 | How dense is the material compared to optimal 0-1 | 1 | +| unit_cell_volume | AA^3 | Unit cell volume | 13.8 | +| interact_fraction | 1 | How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) | -1 | +| init | string | name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Non_process.comp) for `Non_process.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/PhononSimple_process.md b/mcstas-comps/union/PhononSimple_process.md new file mode 100644 index 0000000000..096485a71e --- /dev/null +++ b/mcstas-comps/union/PhononSimple_process.md @@ -0,0 +1,62 @@ +# The `PhononSimple_process` Component + +*McStas: Port of PhononSimple to Union components* + +## Identification + +- **Site:** +- **Author:** Anders Komar Ravn, based on template by Mads Bertelsen and Phonon_Simple +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Port of the PhononSimple component from the McStas library to the Union +components. + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| packing_factor | 1 | How dense is the material compared to optimal 0-1 | 1 | +| unit_cell_volume | AA^3 | Unit cell volume | 13.8 | +| interact_fraction | 1 | How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) | -1 | +| a | AA | fcc lattice constant | 4.95 | +| c | meV*AA | Velocity of sound | 10 | +| M | units | Nucleus atomic mass in units | 207.2 | +| b | fm | Scattring length | 9.4 | +| T | K | Temperature | 290 | +| DW | 1 | Debye-Waller factor | 1 | +| longitudinal | 0/1 | Simulate longitudinal branches | 1 | +| transverse | 0/1 | Simulate transverse branches | 1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](PhononSimple_process.comp) for `PhononSimple_process.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Powder_process.md b/mcstas-comps/union/Powder_process.md new file mode 100644 index 0000000000..4d01f5eec9 --- /dev/null +++ b/mcstas-comps/union/Powder_process.md @@ -0,0 +1,62 @@ +# The `Powder_process` Component + +*McStas: Port of the PowderN process to the Union components* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +This Union_process is based on the PowderN.comp component originally written +by P. Willendrup, L. Chapon, K. Lefmann, A.B.Abrahamsen, N.B.Christensen, +E.M.Lauridsen. + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflections | string | Input file for reflections. No scattering if NULL or "" [string] | "NULL" | +| packing_factor | 1 | How dense is the material compared to optimal 0-1 | 1 | +| Vc | AA^3 | Volume of unit cell=nb atoms per cell/density of atoms. | 0 | +| delta_d_d | 0/1 | Global relative delta_d_d/d broadening when the 'w' column is not available. Use 0 if ideal. | 0 | +| DW | 1 | Global Debye-Waller factor when the 'DW' column is not available. Use 1 if included in F2 | 0 | +| nb_atoms | 1 | Number of sub-unit per unit cell, that is ratio of sigma for chemical formula to sigma per unit cell | 1 | +| d_phi | deg | Angle corresponding to the vertical angular range to focus to, e.g. detector height. 0 for no focusing. | 0 | +| density | g/cm^3 | Density of material. rho=density/weight/1e24*N_A. | 0 | +| weight | g/mol | Atomic/molecular weight of material. | 0 | +| barns | 1 | Flag to indicate if \|F\|^2 from 'reflections' is in barns or fm^2 (barns=1 for laz, barns=0 for lau type files). | 1 | +| Strain | ppm | Global relative delta_d_d/d shift when the 'Strain' column is not available. Use 0 if ideal. | 0 | +| interact_fraction | 1 | How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) | -1 | +| format | no quotes | Name of the format, or list of column indexes (see Description). | {0, 0, 0, 0, 0, 0, 0, 0, 0} | + +## Links + +- [Source code](Powder_process.comp) for `Powder_process.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Single_crystal_process.md b/mcstas-comps/union/Single_crystal_process.md new file mode 100644 index 0000000000..a0e2dc50e6 --- /dev/null +++ b/mcstas-comps/union/Single_crystal_process.md @@ -0,0 +1,78 @@ +# The `Single_crystal_process` Component + +*McStas: Port of the Single_crystal component to the Union components* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +This Union_process is based on the Single_crystal.comp component originally +written by Kristian Nielsen + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflections | string | File name containing structure factors of reflections. Use empty ("") or NULL for incoherent scattering only | 0 | +| delta_d_d | 1 | Lattice spacing variance, gaussian RMS | 1e-4 | +| mosaic | arc minutes | Crystal mosaic (isotropic), gaussian RMS. Puts the crystal in the isotropic mosaic model state, thus disregarding other mosaicity parameters. | -1 | +| mosaic_a | arc minutes | Horizontal (rotation around lattice vector a) mosaic (anisotropic), gaussian RMS. Put the crystal in the anisotropic crystal vector state. I.e. model mosaicity through rotation around the crystal lattice vectors. Has precedence over in-plane mosaic model. | -1 | +| mosaic_b | arc minutes | Vertical (rotation around lattice vector b) mosaic (anisotropic), gaussian RMS. | -1 | +| mosaic_c | arc minutes | Out-of-plane (Rotation around lattice vector c) mosaic (anisotropic), gaussian RMS | -1 | +| mosaic_AB | arc_minutes, arc_minutes,1, 1, 1, 1, 1, 1 | In Plane mosaic rotation and plane vectors (anisotropic), mosaic_A, mosaic_B, A_h,A_k,A_l, B_h,B_k,B_l. Puts the crystal in the in-plane mosaic state. Vectors A and B define plane in which the crystal roation is defined, and mosaic_A, mosaic_B, denotes the resp. mosaicities (gaussian RMS) with respect to the two reflections chosen by A and B (Miller indices). | {0,0, 0,0,0, 0,0,0} | +| recip_cell | 1 | Choice of direct/reciprocal (0/1) unit cell definition | 0 | +| barns | 1 | Flag to indicate if \|F\|^2 from 'reflections' is in barns or fm^2. barns=1 for laz and isotropic constant elastic scattering (reflections=NULL), barns=0 for lau type files | 0 | +| ax | AA or AA^-1 | Coordinates of first (direct/recip) unit cell vector | 0 | +| ay | AA or AA^-1 | a on y axis | 0 | +| az | AA or AA^-1 | a on z axis | 0 | +| bx | AA or AA^-1 | Coordinates of second (direct/recip) unit cell vector | 0 | +| by | AA or AA^-1 | b on y axis | 0 | +| bz | AA or AA^-1 | b on z axis | 0 | +| cx | AA or AA^-1 | Coordinates of third (direct/recip) unit cell vector | 0 | +| cy | AA or AA^-1 | c on y axis | 0 | +| cz | AA or AA^-1 | c on z axis | 0 | +| aa | deg | Unit cell angles alpha, beta and gamma. Then uses norms of vectors a,b and c as lattice parameters | 0 | +| bb | deg | Beta angle | 0 | +| cc | deg | Gamma angle | 0 | +| order | 1 | Limit multiple scattering up to given order (0: all, 1: first, 2: second, ...) (Not supported in Union) | 0 | +| RX | m | Radius of lattice curvature along X. flat when 0. | 0 | +| RY | m | Radius of lattice curvature along Y. flat when 0. | 0 | +| RZ | m | Radius of lattice curvature along Z. flat when 0. | 0 | +| powder | 1 | Flag to indicate powder mode, for simulation of Debye-Scherrer cones via random crystallite orientation. A powder texture can be approximated with 0 | 0 | +| PG | 1 | Flag to indicate "Pyrolytic Graphite" mode, only meaningful with choice of Graphite.lau, models PG crystal. A powder texture can be approximated with 0 | 0 | +| interact_fraction | 1 | How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) | -1 | +| packing_factor | 1 | How dense is the material compared to optimal 0-1 | 1 | + +## Links + +- [Source code](Single_crystal_process.comp) for `Single_crystal_process.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Template_process.md b/mcstas-comps/union/Template_process.md new file mode 100644 index 0000000000..8a72ad1f56 --- /dev/null +++ b/mcstas-comps/union/Template_process.md @@ -0,0 +1,57 @@ +# The `Template_process` Component + +*McStas: A template process for building Union processes* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +This is a template for a new contributor to create their own physical process. +The comments in this file are meant to teach the user about creating their own +process file, rather than explaining this one. For comments on how this code works, +look in the Incoherent_process.comp. + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sigma | barns | Incoherent scattering cross section | 5.08 | +| packing_factor | 1 | How dense is the material compared to optimal 0-1 | 1 | +| unit_cell_volume | AA^3 | Unit_cell_volume | 13.8 | +| interact_fraction | 1 | How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) | -1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Template_process.comp) for `Template_process.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Template_surface.md b/mcstas-comps/union/Template_surface.md new file mode 100644 index 0000000000..4715b051a4 --- /dev/null +++ b/mcstas-comps/union/Template_surface.md @@ -0,0 +1,63 @@ +# The `Template_surface` Component + +*McStas: A template process for building Union surface processes* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +This is a template for a new contributor to create their own surface process. +The comments in this file are meant to teach the user about creating their own +surface component, rather than explaining this one. For comments on how this +code works, look in the Mirror_surface.comp. +To add a new surface process, three changes are needed in other files: +Add entry in surface enum (match your process) +Add storage struct in the union-lib.c file +Add the surface function in inion-suffix.c switch + +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflect | str | Name of reflectivity file. Format q(Angs-1) R(0-1) | 0 | +| R0 | 1 | Low-angle reflectivity | 0.99 | +| Qc | AA-1 | Critical scattering vector | 0.0219 | +| alpha | AA | Slope of reflectivity | 6.07 | +| m | 1 | m-value of material. Zero means completely absorbing. | 2 | +| W | AA-1 | Width of supermirror cut-off | 0.003 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Template_surface.comp) for `Template_surface.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Texture_process.md b/mcstas-comps/union/Texture_process.md new file mode 100644 index 0000000000..42cfc450e6 --- /dev/null +++ b/mcstas-comps/union/Texture_process.md @@ -0,0 +1,53 @@ +# The `Texture_process` Component + +*McStas: Component for simulating textured powder in Union components* + +## Identification + +- **Site:** +- **Author:** Victor Laliena +- **Origin:** University of Zaragoza +- **Date:** 2018-2019 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +seperates geometry and physics within McStas. +The use of this component requires other components to be used. + +This component deals with the coherent elastic scattering on a textured material. +The texture is described through the coefficients of the generalized Fourier transform +of the Orientation Distribution Function (ODF). +The component expects as input two files, one containing the Fourier coefficients of the +ODF and another one with crystallographic and physical information. + + +Algorithm: +Described elsewhere, see e.g. https://doi.org/10.3233/JNR-190117 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| crystal_fn | s | Path to a file (.laz) containing crystallographic and physical information | 0 | +| fcoef_fn | s | Path to a text file containing the Fourier coefficients of the ODF. It must have five columns: l m n Real(Clmn) Imag(Clmn) | 0 | +| lmax_user | 1 | Cut-off for the Fourier series. If negative, the program uses all the coefficients provided in the file fcoef_fn | -1 | +| barns | 1 | Flag to indicate if \|F\|^2 from 'crystal_fn' is in barns or fm^2. barns=1 for laz and isotropic constant elastic scattering (reflections=NULL), barns=0 for lau type files | 0 | +| order | 1 | Limit scattering to this order | 0 | +| interact_fraction | 1 | How large a part of the scattering events should use this process 0-1 (sum of all processes in material = 1) | -1 | +| packing_factor | 1 | How dense is the material compared to optimal 0-1 | 1 | +| maxNeutronSaved | 1 | Maximum number of neutron cross sections saved for reusing | 1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Texture_process.comp) for `Texture_process.comp`. +- See https://doi.org/10.3233/JNR-190117 + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_abs_logger_1D_space.md b/mcstas-comps/union/Union_abs_logger_1D_space.md new file mode 100644 index 0000000000..968f074ce4 --- /dev/null +++ b/mcstas-comps/union/Union_abs_logger_1D_space.md @@ -0,0 +1,82 @@ +# The `Union_abs_logger_1D_space` Component + +*McStas: Logger of absorption along 1D space* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** ESS DMSC +- **Date:** 19.06.20 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +A absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger stores the absorbed weight as a function of height +in a histogram. It is expected this abs logger will often be attached to a +cylindrical geometry, and so if the abs logger has the same position and +orientation it will measure absorption along the axis of symmetry. This +makes it easy to create simple tubes, and it is even possible to include +the detector casing and similar to improve the realism of the simulation. + +This absorption logger needs to be placed in space, the position is recorded in +the coordinate system of the logger component. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| **yheight** | m | height of absorption logger | | +| n | 1 | number of bins along y | 100 | +| filename | string | Filename of produced data file | "NULL" | +| order_total | 1 | Only log rays that have scattered n times, -1 for all orders | -1 | +| order_volume | 1 | Only log rays that have scattered n times in the same geometry, -1 for all orders | -1 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then access logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_abs_logger_1D_space.comp) for `Union_abs_logger_1D_space.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_abs_logger_1D_space_event.md b/mcstas-comps/union/Union_abs_logger_1D_space_event.md new file mode 100644 index 0000000000..d8714de8e3 --- /dev/null +++ b/mcstas-comps/union/Union_abs_logger_1D_space_event.md @@ -0,0 +1,92 @@ +# The `Union_abs_logger_1D_space_event` Component + +*McStas: Logger of absorption in 1D space stored as events* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** ESS DMSC +- **Date:** 19.06.20 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +A absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger stores the absorbed weight as an event including a +pixel_id. The pixel_id is found from the y coordinate of the event position +in the coordinate system of the absorption logger and is binned to a +pixel_id which is necessary when importing the data in Mantid. The y +coordinate corresponds to the height and is natural when attaching this +absorption logger to a cylindrical geometry, as it will record position +along the axis of symmetry, and thus behave like a detector tube. When using +several of these absorption loggers, they will internally avoid reusing the +same pixel_id, but if any other mantid detectors are used, these need to have +pixel_ids larger than the maximum used by these loggers. Each of these components +uses three times the number of bins, as it internally is a 3xn histogram where +only the center line have data, as this is much easier to import in Mantid. +The ocmponent uses Monitor_nD functions for trace and mcdisplay, and for this +reason it can write the xml file required to transfer the detector geometry +to Mantid. + +This absorption logger needs to be placed in space, the position is recorded in +the coordinate system of the logger component. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| **yheight** | m | Height of absorption logger | | +| **n** | 1 | Number of bins along y | | +| fake_event | 1 | Number of fake events to add, circumvents issue with empty event lists with MPI | 0 | +| filename | string | Filename of produced data file | "NULL" | +| order_total | 1 | Only log rays that have scattered n times, -1 for all orders | -1 | +| order_volume | 1 | Only log rays that have scattered n times in the same geometry, -1 for all orders | -1 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then access logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_abs_logger_1D_space_event.comp) for `Union_abs_logger_1D_space_event.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_abs_logger_1D_space_tof.md b/mcstas-comps/union/Union_abs_logger_1D_space_tof.md new file mode 100644 index 0000000000..912be5d561 --- /dev/null +++ b/mcstas-comps/union/Union_abs_logger_1D_space_tof.md @@ -0,0 +1,85 @@ +# The `Union_abs_logger_1D_space_tof` Component + +*McStas: Logger of absorption along 1D space and 1D time of flight* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** ESS DMSC +- **Date:** 19.06.20 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +A absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger records the absorbed intensity as a function of the +y position and time of flight. One common use could be to attach this +absorption logger to a cylindrical helium-3 volume, creating a model of +the detector volume. In such a detector, only the y position of the event +is known, and as such creates a similar dataset. + +This absorption logger needs to be placed in space, the position is recorded in +the coordinate system of the logger component. Note the detection is along the +y axis of the component, so it is natural to place it relative to a cylinder. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| **yheight** | m | height of absorption logger | | +| n | 1 | number of bins for spatial axis | 0.2 | +| time_min | s | Minimum time recorded | 0 | +| time_max | s | Maximum time recorded | 1 | +| time_bins | 1 | number of time bins | 100 | +| filename | string | Filename of produced data file | "NULL" | +| order_total | 1 | Only log rays that have scattered n times, -1 for all orders | -1 | +| order_volume | 1 | Only log rays that have scattered n times in the same geometry, -1 for all orders | -1 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then access logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_abs_logger_1D_space_tof.comp) for `Union_abs_logger_1D_space_tof.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_abs_logger_1D_space_tof_to_lambda.md b/mcstas-comps/union/Union_abs_logger_1D_space_tof_to_lambda.md new file mode 100644 index 0000000000..ff0890cb58 --- /dev/null +++ b/mcstas-comps/union/Union_abs_logger_1D_space_tof_to_lambda.md @@ -0,0 +1,116 @@ +# The `Union_abs_logger_1D_space_tof_to_lambda` Component + +*McStas: A logger of absorption along 1D of space and 1D of tof, but converted to lambda* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** ESS DMSC +- **Date:** 19.06.20 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +A absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger records the absorbed intensity as a function of the +measured and true wavelength. The measured wavelength is calculated from +the time of flight and distance travelled. This distance is a constant from +source to sample added to the distance from the sample position to the +detector pixel in which the event is detected. The true wavelength is +calculated directly from the velocity. This information shows any error in +conversion from tof to wavelength, especially from any added travelled +distance from multiple scattering. + +The lambda_min, max and bin parameters are used to set both the range for +measured and true wavelength. If either of these, denoted lambda_m and +lambda_t respectively, is set they will overwrite the lambda setting for +that part. Sine most data will be along the line lambda_m = lambda_t, it +is possible to record lambda_m / lambda_t as a function of lambda_t, which +will be close to 1.0. This mode is selected by setting relative_measured +to 1, and then the range can be selected with relative_min, max and bins. + +This absorption logger needs to be placed in space, the position is recorded in +the coordinate system of the logger component. Note the detection is along the +y axis of the component, so it is natural to place it relative to a cylinder. + +This component works as other absorption loggers, but converts the tof and +position data to wavelength, which is then compared to the actual wavelength +calculated from the neutron state. The neutron position used to calculate +the wavelength is pixelated while the time of flight is continous. The +distance from source to sample is an input parameter, and the distance from +sample to a detector pixel is calculated using the reference component position +which should be specified with a relative component index. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| **ref_component** | 1 | Reference component instance index, sample position for distance calculation | | +| **yheight** | m | Height of absorption logger | | +| **yn** | 1 | Number of bins along y axis | | +| source_sample_dist | m | Travel distance between source and sample position, used to calculate total travelled distance | 0.0 | +| lambda_min | AA | Minimum wavelength recorded (sets both lambda_m_min and lambda_t_min) | -1 | +| lambda_max | AA | Maximum wavelength recorded (sets both lambda_m_max and lambda_t_max) | -1 | +| lambda_bins | 1 | Number of wavelength bins | -1 | +| lambda_m_min | AA | Minimum measured wavelength recorded from tof and travelled distance (overwrites lambda_min) | -1 | +| lambda_m_max | AA | Maximum measured wavelength recorded from tof and travelled distance (overwrites lambda_max) | -1 | +| lambda_m_bins | 1 | Number of measured wavelength bins | -1 | +| lambda_t_min | AA | Minimum true wavelength recorded from tof and travelled distance (overwrites lambda_min) | -1 | +| lambda_t_max | AA | Maximum true wavelength recorded from tof and travelled distance (overwrites lambda_max) | -1 | +| lambda_t_bins | 1 | Number of true wavelength bins | -1 | +| relative_measured | 1 | Default 0, records measured as function of true wavelength, if this is enabled, records measured relative to true wavelength | 0 | +| relative_min | 1 | Smallest value of measured / true wavelength in histogram | 0.5 | +| relative_max | 1 | Largest value of measured / true wavelength in histogram | 1.5 | +| relative_bins | 1 | Number of bins on histogram axis with measured divided by true wavelength | 100 | +| filename | string | Filename of produced data file | "NULL" | +| order_total | 1 | Only log rays that have scattered n times, -1 for all orders | -1 | +| order_volume | 1 | Only log rays that have scattered n times in the same geometry, -1 for all orders | -1 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then access logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_abs_logger_1D_space_tof_to_lambda.comp) for `Union_abs_logger_1D_space_tof_to_lambda.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_abs_logger_1D_time.md b/mcstas-comps/union/Union_abs_logger_1D_time.md new file mode 100644 index 0000000000..ab698bcaa2 --- /dev/null +++ b/mcstas-comps/union/Union_abs_logger_1D_time.md @@ -0,0 +1,83 @@ +# The `Union_abs_logger_1D_time` Component + +*McStas: Logger of absorption along 1D time* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** ESS DMSC +- **Date:** 19.06.20 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +A absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger stores the absorbed weight as a function of height +in a histogram. It is expected this abs logger will often be attached to a +cylindrical geometry, and so if the abs logger has the same position and +orientation it will measure absorption along the axis of symmetry. This +makes it easy to create simple tubes, and it is even possible to include +the detector casing and similar to improve the realism of the simulation. + +This absorption logger needs to be placed in space, the position is recorded in +the coordinate system of the logger component. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| time_min | s | time at start of recording | 0 | +| **time_max** | s | Maximum time to log | | +| n | 1 | number of bins along y | 100 | +| filename | string | Filename of produced data file | "NULL" | +| order_total | 1 | Only log rays that have scattered n times, -1 for all orders | -1 | +| order_volume | 1 | Only log rays that have scattered n times in the same geometry, -1 for all orders | -1 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then access logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_abs_logger_1D_time.comp) for `Union_abs_logger_1D_time.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_abs_logger_2D_space.md b/mcstas-comps/union/Union_abs_logger_2D_space.md new file mode 100644 index 0000000000..7b70ae27c5 --- /dev/null +++ b/mcstas-comps/union/Union_abs_logger_2D_space.md @@ -0,0 +1,92 @@ +# The `Union_abs_logger_2D_space` Component + +*McStas: Logger of absorption along two dimensions of space* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** ESS DMSC +- **Date:** 19.06.20 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +A absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger stores the absorbed weight in a histogram spanning two +spatial directions. The position of the event is projected onto this plane. +The plotted data is very useful when ensuring the simulated geometry matches +the intentions. It is not recommended to use this tool for safety concerns, +as for example to estimate activity of a sample after irradiation. + +The spatial plane in which the histogram is performed are chosen with the +D_direction_1 and D_direction_2 parameters which can be "x", "y" or "z". +The D1_min and D1_max parameters sets the limits for the first axis, and +D2_min / D2_max likewise for the second axis. + +This absorption logger needs to be placed in space, the position is recorded in +the coordinate system of the logger component. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| D_direction_1 | string | Direction for first axis ("x", "y" or "z") | "x" | +| D1_min | m | Histogram boundary, min position value for first axis | -0.2 | +| D1_max | m | Histogram boundary, max position value for first axis | 5 | +| n1 | 1 | Number of bins for first axis | 0.2 | +| D_direction_2 | string | Direction for second axis ("x", "y" or "z") | "z" | +| D2_min | m | Histogram boundary, min position value for second axis | -0.2 | +| D2_max | m | Histogram boundary, max position value for second axis | 5 | +| n2 | 1 | Number of bins for second axis | 0.2 | +| filename | string | Filename of produced data file | "NULL" | +| order_total | 1 | Only log rays that have scattered n times, -1 for all orders | -1 | +| order_volume | 1 | Only log rays that have scattered n times in the same geometry, -1 for all orders | -1 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then access logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_abs_logger_2D_space.comp) for `Union_abs_logger_2D_space.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_abs_logger_event.md b/mcstas-comps/union/Union_abs_logger_event.md new file mode 100644 index 0000000000..3e7f13d9e8 --- /dev/null +++ b/mcstas-comps/union/Union_abs_logger_event.md @@ -0,0 +1,82 @@ +# The `Union_abs_logger_event` Component + +*McStas: A logger of absorption as events* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** ESS DMSC +- **Date:** 19.06.20 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +A absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger stores absorption as events, with position, velocity, +time and weight. The Monitor_nD libraries are used to write the event files. + +This absorption logger needs to be placed in space, the position and velocity +is recorded in the coordinate system of the logger component. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| filename | string | Filename of produced data file | "NULL" | +| xwidth | m | Width in x direction | 0 | +| xbins | 1 | Number of bins in x direction | 0 | +| yheight | m | Height in y direction | 0 | +| ybins | 1 | Number of bins in y direction | 0 | +| zdepth | m | Depth in z direction | 0 | +| zbins | 1 | Number of bins in z direction | 0 | +| order_total | 1 | Only log rays that have scattered n times, -1 for all orders | -1 | +| order_volume | 1 | Only log rays that have scattered n times in the same geometry, -1 for all orders | -1 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then access logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_abs_logger_event.comp) for `Union_abs_logger_event.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_abs_logger_nD.md b/mcstas-comps/union/Union_abs_logger_nD.md new file mode 100644 index 0000000000..96abba12e5 --- /dev/null +++ b/mcstas-comps/union/Union_abs_logger_nD.md @@ -0,0 +1,106 @@ +# The `Union_abs_logger_nD` Component + +*McStas: A logger of absorption as events with Monitor_nD options* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** ESS DMSC +- **Date:** 19.06.20 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) Logger and conditional components can be placed which will record what happens +5) A Union_master component placed after all of the above + +Only in step 5 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This component is an absorption logger, and thus placed in point 4) above. + +An absorption logger will log something for each absorption event happening +in the geometry or geometries on which it is attached. These are specified +in the target_geometry string. By leaving it blank, all geometries are +logged, even the ones not defined at this point in the instrument file. +Multiple geometries are specified as a comma separated list. + +This absorption logger stores absorption as events, with position, velocity, +time and weight. The Monitor_nD libraries are used to write the event files. +This version is a close copy of Monitor_nD, having the same interface, though +the user must be aware that no propagation happens for rays to hit the +detector pixels, instead it uses the position of absorbed. Use the previous +keyword to tell Monitor_nD that this is going on. It still needs values set +for xwidth and yheight, even though these will not be used. + +This absorption logger needs to be placed in space, the position and velocity +is recorded in the coordinate system of the logger component. + +It is possible to attach one or more conditional components to this absorption +logger. Such a conditional component would impose a condition on the state of +the neutron after the Union_master component that executes the simulation, +and the absorption logger will only record the event if this condition is true. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma separated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| order_total | 1 | Only log rays that have scattered n times, -1 for all orders | -1 | +| order_volume | 1 | Only log rays that have scattered n times in the same geometry, -1 for all orders | -1 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then access logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | +| user1 | str | Variable name of USERVAR to be monitored by user1. | "" | +| user2 | str | Variable name of USERVAR to be monitored by user2. | "" | +| user3 | str | Variable name of USERVAR to be monitored by user3. | "" | +| xwidth | m | Width of detector. | 0 | +| yheight | m | Height of detector. | 0 | +| zdepth | m | Thickness of detector (z). | 0 | +| xmin | m | Lower x bound of opening | 0 | +| xmax | m | Upper x bound of opening | 0 | +| ymin | m | Lower y bound of opening | 0 | +| ymax | m | Upper y bound of opening | 0 | +| zmin | m | Lower z bound of opening | 0 | +| zmax | m | Upper z bound of opening | 0 | +| bins | 1 | Number of bins to force for all variables. Use 'bins' keyword in 'options' for heterogeneous bins | 0 | +| min | u | Minimum range value to force for all variables. Use 'min' or 'limits' keyword in 'options' for other limits | -1e40 | +| max | u | Maximum range value to force for all variables. Use 'max' or 'limits' keyword in 'options' for other limits | 1e40 | +| restore_neutron | 0\|1 | Not functional for Union version | 0 | +| radius | m | Radius of sphere/banana shape monitor | 0 | +| options | str | String that specifies the configuration of the monitor. The general syntax is "[x] options..." (see Descr.). | "NULL" | +| filename | str | Output file name (overrides file=XX option). | "NULL" | +| geometry | str | Name of an OFF file to specify a complex geometry detector | "NULL" | +| nowritefile | 1 | Not functional for Union version | 0 | +| nexus_bins | 1 | NeXus mode only: store component BIN information
(-1 disable, 0 enable for list mode monitor, 1 enable for any montor) | 0 | +| username1 | str | Name assigned to User1 | "NULL" | +| username2 | str | Name assigned to User2 | "NULL" | +| username3 | str | Name assigned to User3 | "NULL" | + +## Links + +- [Source code](Union_abs_logger_nD.comp) for `Union_abs_logger_nD.comp`. +- See also the Monitor_nD mcdoc page" + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_box.md b/mcstas-comps/union/Union_box.md new file mode 100644 index 0000000000..4cc898bb20 --- /dev/null +++ b/mcstas-comps/union/Union_box.md @@ -0,0 +1,82 @@ +# The `Union_box` Component + +*McStas: A box geometry component for the Union components* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union components + +The position of this component is the center of the box, zdepth/2 in each direction. + +It is allowed to overlap components, but it is not allowed to have two +parallel planes that coincides. This will crash the code on run time. + + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| material_string | string | Material name of this volume, defined using Union_make_material | 0 | +| **priority** | 1 | Priotiry of the volume (can not be the same as another volume) A high priority is on top of low. | | +| **xwidth** | m | Width of the box volume | | +| **yheight** | m | Height of the box volume | | +| **zdepth** | m | Depth of the box volume | | +| xwidth2 | m | Optional different width at the +z box face | -1 | +| yheight2 | m | Optional different height at the +z box face | -1 | +| visualize | 1 | Set to 0 if you wish to hide this geometry in mcdisplay | 1 | +| target_index | string | Focuses on component a component this many steps further in the component sequence | 0 | +| target_x | m | X position of target to focus at | 0 | +| target_y | m | Y position of target to focus at | 0 | +| target_z | m | Z position of target to focus at | 0 | +| focus_aw | deg | Horiz. angular dimension of a rectangular area | 0 | +| focus_ah | deg | Vert. angular dimension of a rectangular area | 0 | +| focus_xw | m | Horiz. dimension of a rectangular area | 0 | +| focus_xh | m | Vert. dimension of a rectangular area | 0 | +| focus_r | m | Focusing on circle with this radius | 0 | +| plus_z_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to +z face of box | 0 | +| minus_z_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to -z face of box | 0 | +| plus_x_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to +x face of box | 0 | +| minus_x_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to -x face of box | 0 | +| plus_y_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to +y face of box | 0 | +| minus_y_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to -z face of box | 0 | +| all_face_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to all faces above | 0 | +| cut_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to all internal cuts | 0 | +| p_interact | 1 | Probability to interact with this geometry [0-1] | 0 | +| mask_string | string | Comma seperated list of geometry names which this geometry should mask | 0 | +| mask_setting | string | "All" or "Any", should the masked volume be simulated when the ray is in just one mask, or all. | 0 | +| number_of_activations | 1 | Number of subsequent Union_master components that will simulate this geometry | 1 | +| init | string | name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_box.comp) for `Union_box.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_conditional_PSD.md b/mcstas-comps/union/Union_conditional_PSD.md new file mode 100644 index 0000000000..d96e0cb012 --- /dev/null +++ b/mcstas-comps/union/Union_conditional_PSD.md @@ -0,0 +1,72 @@ +# The `Union_conditional_PSD` Component + +*McStas: A conditional component in the shape of an area the neutrons must hit* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union components + +This is a conditional component that affects the loggers in the target_loggers +string. When a logger is affected, it will only record events if the +conditional is true at the end of the simulation of a ray in the master. +Conditionals can be used to for example limit the loggers to rays that end +within a certain energy range, time interval or similar. + +One can apply several conditionals to each logger if desired. + +In the extend section of a master, the tagging conditional can be acsessed by +the variable name tagging_conditional_extend. Beware, that it only works as +long as the tagging system is active, so you may want to increase the number +of histories allowed by that master component before stopping. + +This conditional is a little special, because it needs to be placed in space. +It's center location is like a psd. + +overwrite_logger_weight can be used to force the loggers this conditional +controls to write the final weight for each scattering event, instead of the +recorded value. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_loggers | string | Comma seperated list of loggers this conditional should affect | "NULL" | +| master_tagging | 1 | Apply this conditional to the tagging system in next master | 0 | +| tagging_extend_index | 1 | Not currently used | -1 | +| **xwidth** | m | Width of target area | | +| **yheight** | m | Height of target area | | +| time_min | s | Min time (on psd), if not set ignored | 0 | +| time_max | s | Max time (on psd), if not set ignored | 0 | +| overwrite_logger_weight | 1 | Default = 0, overwrite = 1 | 0 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_conditional_PSD.comp) for `Union_conditional_PSD.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_conditional_standard.md b/mcstas-comps/union/Union_conditional_standard.md new file mode 100644 index 0000000000..5a204d0ff6 --- /dev/null +++ b/mcstas-comps/union/Union_conditional_standard.md @@ -0,0 +1,72 @@ +# The `Union_conditional_standard` Component + +*McStas: A conditional component that filter on basic variables of exit state* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This is a conditional component that affects the loggers in the target_loggers +string. When a logger is affected, it will only record events if the +conditional is true at the end of the simulation of a ray in the master. +Conditionals can be used to for example limit the loggers to rays that end +within a certain energy range, time interval or similar. + +One can apply several conditionals to each logger if desired. + +In the extend section of a master, the tagging conditional can be acsessed by +the variable name tagging_conditional_extend. Beware, that it only works as +long as the tagging system is active, so you may want to increase the number +of histories allowed by that master component before stopping. + +overwrite_logger_weight can be used to force the loggers this conditional +controls to write the final weight for each scattering event, instead of the +recorded value. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_loggers | string | Comma seperated list of loggers this conditional should affect | "NULL" | +| master_tagging | 1 | Apply this conditional to the tagging system in next master | 0 | +| tagging_extend_index | 1 | Not currently used | -1 | +| time_min | s | Min time, if not set ignored | 0 | +| time_max | s | Max time, if not set ignored | 0 | +| E_min | meV | Max energy, if not set ignored | 0 | +| E_max | meV | Min energy, if not set ignored | 0 | +| total_order_min | 1 | Min scattering order, if not set ignored | 0 | +| total_order_max | 1 | Max scattering order, if not set ignored | 0 | +| last_volume_index | 1 | Not used yet | -1 | +| overwrite_logger_weight | 1 | Default = 0, overwrite = 1 | 0 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_conditional_standard.comp) for `Union_conditional_standard.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_cone.md b/mcstas-comps/union/Union_cone.md new file mode 100644 index 0000000000..fe40193ab7 --- /dev/null +++ b/mcstas-comps/union/Union_cone.md @@ -0,0 +1,75 @@ +# The `Union_cone` Component + +*McStas: Cone geometry component for Union components* + +## Identification + +- **Site:** +- **Author:** Martin Olsen +- **Origin:** University of Copenhagen +- **Date:** 17.09.18 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +The position of this component is the center of the cone, and it thus +extends yheight/2 up and down along y axis. + +It is allowed to overlap components, but it is not allowed to have two +parallel planes that coincides. This will crash the code on run time. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| material_string | string | Material name of this volume, defined using Union_make_material | 0 | +| **priority** | 1 | Priotiry of the volume (can not be the same as another volume) A high priority is on top of low. | | +| radius | m | Radius volume in (x,z) plane | 0 | +| radius_top | m | Top radius volume in (x,z) plane | 0 | +| radius_bottom | m | Bottom radius volume in (x,z) plane | 0 | +| **yheight** | m | Cone height in (y) direction | | +| visualize | 1 | Set to 0 if you wish to hide this geometry in mcdisplay | 1 | +| target_index | 1 | Focuses on component a component this many steps further in the component sequence | 0 | +| target_x | m | X position of target to focus at | 0 | +| target_y | m | Y position of target to focus at | 0 | +| target_z | m | Z position of target to focus at | 0 | +| focus_aw | deg | Horiz. angular dimension of a rectangular area | 0 | +| focus_ah | deg | Vert. angular dimension of a rectangular area | 0 | +| focus_xw | m | Horiz. dimension of a rectangular area | 0 | +| focus_xh | m | Vert. dimension of a rectangular area | 0 | +| focus_r | m | Focusing on circle with this radius | 0 | +| p_interact | 1 | Probability to interact with this geometry [0-1] | 0 | +| mask_string | string | Comma seperated list of geometry names which this geometry should mask | 0 | +| mask_setting | string | "All" or "Any", should the masked volume be simulated when the ray is in just one mask, or all. | 0 | +| number_of_activations | 1 | Number of subsequent Union_master components that will simulate this geometry | 1 | +| curved_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to curved wall of cone | 0 | +| top_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to +y top face of cone | 0 | +| bottom_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to -y bottom face of cone | 0 | +| all_face_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to all faces above | 0 | +| cut_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to all internal cuts | 0 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_cone.comp) for `Union_cone.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_cylinder.md b/mcstas-comps/union/Union_cylinder.md new file mode 100644 index 0000000000..a0996900f7 --- /dev/null +++ b/mcstas-comps/union/Union_cylinder.md @@ -0,0 +1,73 @@ +# The `Union_cylinder` Component + +*McStas: Cylinder geometry component for Union components* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +The position of this component is the center of the cylinder, and it thus +extends yheight/2 up and down along y axis. + +It is allowed to overlap components, but it is not allowed to have two +parallel planes that coincides. This will crash the code on run time. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| material_string | string | Material name of this volume, defined using Union_make_material | 0 | +| **priority** | 1 | Priotiry of the volume (can not be the same as another volume) A high priority is on top of low. | | +| **radius** | m | Outer radius volume in (x,z) plane | | +| **yheight** | m | Cylinder height in (y) direction | | +| visualize | 1 | Set to 0 if you wish to hide this geometry in mcdisplay | 1 | +| target_index | 1 | Focuses on component a component this many steps further in the component sequence | 0 | +| target_x | m | X Position of target to focus at | 0 | +| target_y | m | Y Position of target to focus at | 0 | +| target_z | m | Z Position of target to focus at | 0 | +| focus_aw | deg | Horiz. angular dimension of a rectangular area | 0 | +| focus_ah | deg | Vert. angular dimension of a rectangular area | 0 | +| focus_xw | m | Horiz. dimension of a rectangular area | 0 | +| focus_xh | m | Vert. dimension of a rectangular area | 0 | +| focus_r | m | Focusing on circle with this radius | 0 | +| p_interact | 1 | Probability to interact with this geometry [0-1] | 0 | +| mask_string | string | Comma seperated list of geometry names which this geometry should mask | 0 | +| mask_setting | string | "All" or "Any", should the masked volume be simulated when the ray is in just one mask, or all. | 0 | +| number_of_activations | 1 | Number of subsequent Union_master components that will simulate this geometry | 1 | +| curved_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to curved wall of cylinder | 0 | +| top_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to +y top face of cylinder | 0 | +| bottom_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to -y bottom face of cylinder | 0 | +| all_face_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to all faces above | 0 | +| cut_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to all internal cuts | 0 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_cylinder.comp) for `Union_cylinder.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_init.md b/mcstas-comps/union/Union_init.md new file mode 100644 index 0000000000..7ed83983d7 --- /dev/null +++ b/mcstas-comps/union/Union_init.md @@ -0,0 +1,46 @@ +# The `Union_init` Component + +*McStas: Initialize component that needs to be place before any Union component* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** ESS DMSC +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using this component +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Union_init.comp) for `Union_init.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_logger_1D.md b/mcstas-comps/union/Union_logger_1D.md new file mode 100644 index 0000000000..f224b17ae2 --- /dev/null +++ b/mcstas-comps/union/Union_logger_1D.md @@ -0,0 +1,72 @@ +# The `Union_logger_1D` Component + +*McStas: One dimensional Union logger for several possible variables* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This logger in particular is not finished. It is supposed to allow several +different variables to be histogrammed, but currently only time is supported + +A logger will log something for scattering events happening to certain volumes, +which are specified in the target_geometry string. By leaving it blank, all +geometries are logged, even the ones not defined at this point in the +instrument file. If a list og target_geometries is selected, one can further +narrow the events logged by providing a list of process names in target_process +which need to correspond with names of defined Union_process components. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| target_process | string | Comma seperated names of physical processes, if volumes are selected, one can select Union_process names | "NULL" | +| **min_value** | 1 | Histogram boundery for logged value | | +| **max_value** | 1 | Histogram boundery for logged value | | +| n1 | 1 | Number of bins in histogram | 90 | +| variable | string | Time for time in seconds, q for magnitude of scattering vector in 1/AA. | "time" | +| filename | string | Filename of produced data file | "NULL" | +| order_total | 1 | Only log rays that scatter for the n'th time, 0 for all orders | 0 | +| order_volume | 1 | Only log rays that scatter for the n'th time in the same geometry | 0 | +| order_volume_process | 1 | Only log rays that scatter for the n'th time in the same geometry, using the same process | 0 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then acces logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_logger_1D.comp) for `Union_logger_1D.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_logger_2DQ.md b/mcstas-comps/union/Union_logger_2DQ.md new file mode 100644 index 0000000000..0cd7161302 --- /dev/null +++ b/mcstas-comps/union/Union_logger_2DQ.md @@ -0,0 +1,75 @@ +# The `Union_logger_2DQ` Component + +*McStas: Two dimensional logger of scattering vector for Union components* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This logger logs a 2D projection of the scattering vector, q in the lab frame. + +A logger will log something for scattering events happening to certain volumes, +which are specified in the target_geometry string. By leaving it blank, all +geometries are logged, even the ones not defined at this point in the +instrument file. If a list og target_geometries is selected, one can further +narrow the events logged by providing a list of process names in target_process +which need to correspond with names of defined Union_process components. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| target_process | string | Comma seperated names of physical processes, if volumes are selected, one can select Union_process names | "NULL" | +| Q_direction_1 | string | Q direction for first axis ("x", "y" or "z") | "x" | +| Q1_min | AA^-1 | Histogram boundery, min q value for first axis | -5 | +| Q1_max | AA^-1 | Histogram boundery, max q value for first axis | 5 | +| n1 | 1 | Number of bins for first axis | 90 | +| Q_direction_2 | string | Q direction for second axis ("x", "y" or "z") | "z" | +| Q2_min | AA^-1 | Histogram boundery, min q value for second axis | -5 | +| Q2_max | AA^-1 | Histogram boundery, max q value for second axis | 5 | +| n2 | 1 | Number of bins for second axis | 90 | +| filename | string | Filename of produced data file | "NULL" | +| order_total | 1 | Only log rays that scatter for the n'th time, 0 for all orders | 0 | +| order_volume | 1 | Only log rays that scatter for the n'th time in the same geometry | 0 | +| order_volume_process | 1 | Only log rays that scatter for the n'th time in the same geometry, uwsing the same process | 0 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then acces logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_logger_2DQ.comp) for `Union_logger_2DQ.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_logger_2D_kf.md b/mcstas-comps/union/Union_logger_2D_kf.md new file mode 100644 index 0000000000..5a6377c565 --- /dev/null +++ b/mcstas-comps/union/Union_logger_2D_kf.md @@ -0,0 +1,76 @@ +# The `Union_logger_2D_kf` Component + +*McStas: Two dimensional logger of final wavevector for Union components* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This logger logs a 2D projection of the final wavevector after each scattering +in the lab frame. + +A logger will log something for scattering events happening to certain volumes, +which are specified in the target_geometry string. By leaving it blank, all +geometries are logged, even the ones not defined at this point in the +instrument file. If a list og target_geometries is selected, one can further +narrow the events logged by providing a list of process names in target_process +which need to correspond with names of defined Union_process components. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| target_process | string | Comma seperated names of physical processes, if volumes are selected, one can select Union_process names | "NULL" | +| Q1_min | AA^-1 | Histogram boundery, min kf value for first axis | -5 | +| Q1_max | AA^-1 | Histogram boundery, max kf value for first axis | 5 | +| Q2_min | AA^-1 | Histogram boundery, min kf value for second axis | -5 | +| Q2_max | AA^-1 | Histogram boundery, max kf value for second axis | 5 | +| Q_direction_1 | string | kf direction for first axis ("x", "y" or "z") | "x" | +| Q_direction_2 | string | kf direction for second axis ("x", "y" or "z") | "z" | +| filename | string | Filename of produced data file | "NULL" | +| n1 | 1 | Number of bins for first axis | 90 | +| n2 | 1 | Number of bins for second axis | 90 | +| order_total | 1 | Only log rays that scatter for the n'th time, 0 for all orders | 0 | +| order_volume | 1 | Only log rays that scatter for the n'th time in the same geometry | 0 | +| order_volume_process | 1 | Only log rays that scatter for the n'th time in the same geometry, using the same process | 0 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then acces logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_logger_2D_kf.comp) for `Union_logger_2D_kf.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_logger_2D_kf_time.md b/mcstas-comps/union/Union_logger_2D_kf_time.md new file mode 100644 index 0000000000..ed1feeaeb7 --- /dev/null +++ b/mcstas-comps/union/Union_logger_2D_kf_time.md @@ -0,0 +1,80 @@ +# The `Union_logger_2D_kf_time` Component + +*McStas: Two dimensional logger of wavevector for a range of time bins* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This logger logs a 2D projection of the final wavevector after each scattering +in the lab frame. It will do so for a number of time_bins, making it possible +to make a animation, but beware of memory / diskspace requirements. + +A logger will log something for scattering events happening to certain volumes, +which are specified in the target_geometry string. By leaving it blank, all +geometries are logged, even the ones not defined at this point in the +instrument file. If a list og target_geometries is selected, one can further +narrow the events logged by providing a list of process names in target_process +which need to correspond with names of defined Union_process components. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| target_process | string | Comma seperated names of physical processes, if volumes are selected, one can select Union_process names | "NULL" | +| Q1_min | A^-1 | Histogram boundery, min kf value for first axis | -5 | +| Q1_max | A^-1 | Histogram boundery, max kf value for first axis | 5 | +| Q2_min | A^-1 | Histogram boundery, min kf value for second axis | -5 | +| Q2_max | A^-1 | Histogram boundery, max kf value for second axis | 5 | +| time_min | s | Minimum time | 0 | +| time_max | s | Maximum time | 1 | +| Q_direction_1 | string | kf direction for first axis ("x", "y" or "z") | "x" | +| Q_direction_2 | string | kf direction for second axis ("x", "y" or "z") | "z" | +| filename | string | Filename of produced data file | "NULL" | +| n1 | 1 | Number of bins for first axis | 90 | +| n2 | 1 | Number of bins for second axis | 90 | +| time_bins | 1 | Number of time bins | 10 | +| order_total | 1 | Only log rays that scatter for the n'th time, 0 for all orders | 0 | +| order_volume | 1 | Only log rays that scatter for the n'th time in the same geometry | 0 | +| order_volume_process | 1 | Only log rays that scatter for the n'th time in the same geometry, using the same process | 0 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then acces logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_logger_2D_kf_time.comp) for `Union_logger_2D_kf_time.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_logger_2D_space.md b/mcstas-comps/union/Union_logger_2D_space.md new file mode 100644 index 0000000000..6dc1af3eea --- /dev/null +++ b/mcstas-comps/union/Union_logger_2D_space.md @@ -0,0 +1,77 @@ +# The `Union_logger_2D_space` Component + +*McStas: Two dimensional spatial logger for the Union components* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This logger logs a 2D projection of the position of each scattering in the lab frame. + +This logger needs to be placed in space, the position is the center of the histogram. + +A logger will log something for scattering events happening to certain volumes, +which are specified in the target_geometry string. By leaving it blank, all +geometries are logged, even the ones not defined at this point in the +instrument file. If a list og target_geometries is selected, one can further +narrow the events logged by providing a list of process names in target_process +which need to correspond with names of defined Union_process components. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| target_process | string | Comma seperated names of physical processes, if volumes are selected, one can select Union_process names | "NULL" | +| D_direction_1 | string | Direction for first axis ("x", "y" or "z") | "x" | +| D1_min | m | Histogram boundery, min position value for first axis | -5 | +| D1_max | m | Histogram boundery, max position value for first axis | 5 | +| n1 | 1 | Number of bins for first axis | 90 | +| D_direction_2 | string | Direction for second axis ("x", "y" or "z") | "z" | +| D2_min | m | Histogram boundery, min position value for second axis | -5 | +| D2_max | m | Histogram boundery, max position value for second axis | 5 | +| n2 | 1 | Number of bins for second axis | 90 | +| filename | string | Filename of produced data file | "NULL" | +| order_total | 1 | Only log rays that scatter for the n'th time, 0 for all orders | 0 | +| order_volume | 1 | Only log rays that scatter for the n'th time in the same geometry | 0 | +| order_volume_process | 1 | Only log rays that scatter for the n'th time in the same geometry, using the same process | 0 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then acces logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_logger_2D_space.comp) for `Union_logger_2D_space.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_logger_2D_space_time.md b/mcstas-comps/union/Union_logger_2D_space_time.md new file mode 100644 index 0000000000..7026ed42bc --- /dev/null +++ b/mcstas-comps/union/Union_logger_2D_space_time.md @@ -0,0 +1,80 @@ +# The `Union_logger_2D_space_time` Component + +*McStas: Two dimensional spatail logger for a number of time bins* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This logger logs a 2D projection of the position of each scattering in the lab +frame. Using the time_bins one can select to get this project for different +time slots, effectively making a small animation of what happens. + +A logger will log something for scattering events happening to certain volumes, +which are specified in the target_geometry string. By leaving it blank, all +geometries are logged, even the ones not defined at this point in the +instrument file. If a list og target_geometries is selected, one can further +narrow the events logged by providing a list of process names in target_process +which need to correspond with names of defined Union_process components. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| target_process | string | Comma seperated names of physical processes, if volumes are selected, one can select Union_process names | "NULL" | +| D1_min | m | Histogram boundery, min position value for first axis | -5 | +| D1_max | m | Histogram boundery, max position value for first axis | 5 | +| D2_min | m | Histogram boundery, min position value for second axis | -5 | +| D2_max | m | Histogram boundery, max position value for second axis | 5 | +| time_min | s | Minimum time | 0 | +| time_max | s | Maximum time | 1 | +| D_direction_1 | string | Direction for first axis ("x", "y" or "z") | "x" | +| D_direction_2 | string | Direction for second axis ("x", "y" or "z") | "z" | +| filename | string | Filename of produced data file | "NULL" | +| n1 | 1 | Number of bins for first axis | 90 | +| n2 | 1 | Number of bins for second axis | 90 | +| time_bins | 1 | Number of time bins | 10 | +| order_total | 1 | Only log rays that scatter for the n'th time, 0 for all orders | 0 | +| order_volume | 1 | Only log rays that scatter for the n'th time in the same geometry | 0 | +| order_volume_process | 1 | Only log rays that scatter for the n'th time in the same geometry, using the same process | 0 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then acces logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_logger_2D_space_time.comp) for `Union_logger_2D_space_time.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_logger_3D_space.md b/mcstas-comps/union/Union_logger_3D_space.md new file mode 100644 index 0000000000..5b12fc33fc --- /dev/null +++ b/mcstas-comps/union/Union_logger_3D_space.md @@ -0,0 +1,81 @@ +# The `Union_logger_3D_space` Component + +*McStas: Three dimensional logger for spatial dimensions* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +This logger logs a 2D projection of the position of each scattering in the lab +frame. It does this in n3 space slices, so one can get a full 3D histogram of +scattering positions. + +A logger will log something for scattering events happening to certain volumes, +which are specified in the target_geometry string. By leaving it blank, all +geometries are logged, even the ones not defined at this point in the +instrument file. If a list og target_geometries is selected, one can further +narrow the events logged by providing a list of process names in target_process +which need to correspond with names of defined Union_process components. + +To use the logger_conditional_extend function, set it to some integer value n +and make and extend section to the master component that runs the geometry. +In this extend function, logger_conditional_extend[n] is 1 if the conditional +stack evaluated to true, 0 if not. This way one can check what rays is logged +using regular McStas monitors. Only works if a conditional is applied to this +logger. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| target_geometry | string | Comma seperated list of geometry names that will be logged, leave empty for all volumes (even not defined yet) | "NULL" | +| target_process | string | Comma seperated names of physical processes, if volumes are selected, one can select Union_process names | "NULL" | +| D1_min | m | histogram boundery, min position value for first axis | -1 | +| D1_max | m | histogram boundery, max position value for first axis | 1 | +| D2_min | m | histogram boundery, min position value for second axis | -1 | +| D2_max | m | histogram boundery, max position value for second axis | 1 | +| D3_min | m | histogram boundery, min position value for third axis | -1 | +| D3_max | m | histogram boundery, max position value for third axis | 1 | +| D_direction_1 | string | Direction for first axis ("x", "y" or "z") | "x" | +| D_direction_2 | string | Direction for second axis ("x", "y" or "z") | "z" | +| D_direction_3 | string | Direction for second axis ("x", "y" or "z") | "z" | +| filename | string | Filename of produced data file | "NULL" | +| n1 | 1 | number of bins for first axis | 90 | +| n2 | 1 | number of bins for second axis | 90 | +| n3 | 1 | number of bins for third axis | 10 | +| order_total | 1 | Only log rays that scatter for the n'th time, 0 for all orders | 0 | +| order_volume | 1 | Only log rays that scatter for the n'th time in the same geometry | 0 | +| order_volume_process | 1 | Only log rays that scatter for the n'th time in the same geometry, using the same process | 0 | +| logger_conditional_extend_index | 1 | If a conditional is used with this logger, the result of each conditional calculation can be made available in extend as a array called "logger_conditional_extend", and one would then acces logger_conditional_extend[n] if logger_conditional_extend_index is set to n | -1 | +| init | string | name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_logger_3D_space.comp) for `Union_logger_3D_space.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_make_material.md b/mcstas-comps/union/Union_make_material.md new file mode 100644 index 0000000000..8df8cb1f3b --- /dev/null +++ b/mcstas-comps/union/Union_make_material.md @@ -0,0 +1,54 @@ +# The `Union_make_material` Component + +*McStas: Component that takes a number of Union processes and constructs a Union material* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using this component +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| process_string | string | Comma seperated names of physical processes | "NULL" | +| **my_absorption** | 1/m | Inverse penetration depth from absorption at standard energy | | +| absorber | 0/1 | Control parameter, if set to 1 the material will have no scattering processes | 0 | +| refraction_density | g/cm3 | Density of the refracting material. density < 0 means the material is outside/before the shape. | 0 | +| refraction_sigma_coh | barn | Coherent cross section of refracting material. Use negative value to indicate a negative coherent scattering length | 0 | +| refraction_weight | g/mol | Molar mass of the refracting material | 0 | +| refraction_SLD | AA^-2 | Scattering length density of material (overwrites sigma_coh, density and weight) | -1500 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_make_material.comp) for `Union_make_material.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_master.md b/mcstas-comps/union/Union_master.md new file mode 100644 index 0000000000..dfbf857808 --- /dev/null +++ b/mcstas-comps/union/Union_master.md @@ -0,0 +1,58 @@ +# The `Union_master` Component + +*McStas: Master component for Union components that performs the overall simulation* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) This master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| enable_refraction | 0/1 | Toggles refraction effects, simulated for all materials that have refraction parameters set | 1 | +| enable_reflection | 0/1 | Toggles reflection effects, simulated for all materials that have refraction parameters set | 1 | +| verbal | 0/1 | Toogles printing information loaded during initialize | 0 | +| list_verbal | 0/1 | Toogles information of all internal lists in intersection network | 0 | +| finally_verbal | 0/1 | Toogles information about cleanup performed in finally section | 0 | +| allow_inside_start | 0/1 | Set to 1 if rays are expected to start inside a volume in this master | 0 | +| enable_tagging | 0/1 | Enable tagging of ray history (geometry, scattering process) | 0 | +| history_limit | 1 | Limit the number of unique histories that are saved | 300000 | +| enable_conditionals | 0/1 | Use conditionals with this master | 1 | +| inherit_number_of_scattering_events | 0/1 | Inherit the number of scattering events from last master | 0 | +| weight_ratio_limit | 1 | Limit on the ratio between initial weight and current, ray absorbed if ratio becomes lower than limit | 1e-90 | +| init | string | Name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_master.comp) for `Union_master.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_master_GPU.md b/mcstas-comps/union/Union_master_GPU.md new file mode 100644 index 0000000000..b2f2a92f03 --- /dev/null +++ b/mcstas-comps/union/Union_master_GPU.md @@ -0,0 +1,55 @@ +# The `Union_master_GPU` Component + +*McStas: Master component for Union components that performs the overall simulation* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) This master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| verbal | 0/1 | Toogles terminal output describing the defined simulation | 1 | +| list_verbal | 0/1 | Toogles information of all internal lists in intersection network | 0 | +| finally_verbal | 0/1 | Toogles information about cleanup performed in finally section | 0 | +| allow_inside_start | 0/1 | Set to 1 if rays are expected to start inside a volume in this master | 0 | +| enable_tagging | 0/1 | Enable tagging of ray history (geometry, scattering process) | 0 | +| history_limit | 1 | Limit the number of unique histories that are saved | 300000 | +| enable_conditionals | 0/1 | Use conditionals with this master | 1 | +| inherit_number_of_scattering_events | 0/1 | Inherit the number of scattering events from last master | 0 | +| init | | | "init" | + +## Links + +- [Source code](Union_master_GPU.comp) for `Union_master_GPU.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_mesh.md b/mcstas-comps/union/Union_mesh.md new file mode 100644 index 0000000000..5783ec09d9 --- /dev/null +++ b/mcstas-comps/union/Union_mesh.md @@ -0,0 +1,79 @@ +# The `Union_mesh` Component + +*McStas: Component for including 3D mesh in Union geometry* + +## Identification + +- **Site:** +- **Author:** Martin Olsen, and expanded upon by Daniel Lomholt Christensen +- **Origin:** University of Copenhagen / ACTNXT project +- **Date:** 17.09.18 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere/mesh, assigned a material +4) A Union_master component placed after all the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +The mesh component loads a 3D off or stl files as the geometry. +The mesh geometry that is loaded must be a watertight mesh. +In order to check this, the component implements a simple Euler Pointcare value, +To check if the given geometry is watertight. This check is sometimes too rigid, +so a user can set the skip_convex_check parameter in order to not have this +check performed. + + +If you load an off file, we currently only support rank 3 polygons, i.e +triangular meshes. + +It is allowed to overlap components, but it is not allowed to have two +parallel planes that coincides. This will crash the code on run time. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of file that contains the 3D geometry. Can be either .OFF, .off, .STL, or .stl | 0 | +| material_string | string | material name of this volume, defined using Union_make_material | 0 | +| **priority** | 1 | priotiry of the volume (can not be the same as another volume) A high priority is on top of low. | | +| visualize | 1 | set to 0 if you wish to hide this geometry in mcdisplay | 1 | +| all_surfaces | | | 0 | +| cut_surface | | | 0 | +| target_index | 1 | Focuses on component a component this many steps further in the component sequence | 0 | +| target_x | m | | 0 | +| target_y | m | Position of target to focus at | 0 | +| target_z | m | | 0 | +| focus_aw | deg | horiz. angular dimension of a rectangular area | 0 | +| focus_ah | deg | vert. angular dimension of a rectangular area | 0 | +| focus_xw | m | horiz. dimension of a rectangular area | 0 | +| focus_xh | m | vert. dimension of a rectangular area | 0 | +| focus_r | m | focusing on circle with this radius | 0 | +| p_interact | 1 | probability to interact with this geometry [0-1] | 0 | +| mask_string | string | Comma seperated list of geometry names which this geometry should mask | 0 | +| mask_setting | string | "All" or "Any", should the masked volume be simulated when the ray is in just one mask, or all. | 0 | +| number_of_activations | 1 | Number of subsequent Union_master components that will simulate this geometry | 1 | +| skip_convex_check | 1 | when set to 1, skips the check for whether input .off file is convex. | 0 | +| coordinate_scale | 1e-3 | Multiplier that the vertex positions are multiplied by. Set to 1 for input coordinates in meters. Set to 1e-3 for input coordinates in mm. | 1e-3 | +| init | string | name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_mesh.comp) for `Union_mesh.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_sphere.md b/mcstas-comps/union/Union_sphere.md new file mode 100644 index 0000000000..e05b8dd255 --- /dev/null +++ b/mcstas-comps/union/Union_sphere.md @@ -0,0 +1,68 @@ +# The `Union_sphere` Component + +*McStas: Sphere geometry component for the Union components* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before this master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union components + +The position of this component is the center of the sphere + +It is allowed to overlap components, but it is not allowed to have two +parallel planes that coincides. This will crash the code on run time. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| material_string | string | material name of this volume, defined using Union_make_material | 0 | +| **priority** | 1 | priotiry of the volume (can not be the same as another volume) A high priority is on top of low. | | +| **radius** | m | Radius of sphere | | +| visualize | 1 | set to 0 if you wish to hide this geometry in mcdisplay | 1 | +| target_index | 1 | Focuses on component a component this many steps further in the component sequence | 0 | +| target_x | m | X position of target to focus at | 0 | +| target_y | m | Y position of target to focus at | 0 | +| target_z | m | Z position of target to focus at | 0 | +| focus_aw | deg | horiz. angular dimension of a rectangular area | 0 | +| focus_ah | deg | vert. angular dimension of a rectangular area | 0 | +| focus_xw | m | horiz. dimension of a rectangular area | 0 | +| focus_xh | m | vert. dimension of a rectangular area | 0 | +| focus_r | m | focusing on circle with this radius | 0 | +| p_interact | 1 | probability to interact with this geometry [0-1] | 0 | +| mask_string | string | Comma seperated list of geometry names which this geometry should mask | 0 | +| mask_setting | string | "All" or "Any", should the masked volume be simulated when the ray is in just one mask, or all. | 0 | +| number_of_activations | 1 | Number of subsequent Union_master components that will simulate this geometry | 1 | +| surface | string | Comma seperated string of Union surface definitions defined prior to this component | 0 | +| cut_surface | string | Comma seperated string of Union surface definitions defined prior to this component, applied to all internal cuts | 0 | +| init | string | name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](Union_sphere.comp) for `Union_sphere.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcstas-comps/union/Union_stop.md b/mcstas-comps/union/Union_stop.md new file mode 100644 index 0000000000..51d2de77cd --- /dev/null +++ b/mcstas-comps/union/Union_stop.md @@ -0,0 +1,46 @@ +# The `Union_stop` Component + +*McStas: Stop component that must be placed after all Union components for instrument to compile correctly* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen +- **Origin:** University of Copenhagen +- **Date:** 20.08.15 + +## Description + +```text +Part of the Union components, a set of components that work together and thus +sperates geometry and physics within McStas. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components +2) These are gathered into material definitions using this component +3) Geometries are placed using Union_box/cylinder/sphere, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](Union_stop.comp) for `Union_stop.comp`. + +--- + +*Generated on mcstas 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/astrox/MM_c.md b/mcxtrace-comps/astrox/MM_c.md new file mode 100644 index 0000000000..7173c6cfcc --- /dev/null +++ b/mcxtrace-comps/astrox/MM_c.md @@ -0,0 +1,58 @@ +# The `MM_c` Component + +*McXtrace: Single Pore as part of the Silicon Pore Optics (SPO) as envisioned for the ATHENA+ space telescope.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen and Desiree D. M. Ferreira +- **Origin:** DTU Physics, DTU Space +- **Date:** Feb. 2016, Feb. 2017 + +## Description + +```text +A single pore is simulated, which may have thick walls. The top and bottom are curved cylindrically +azimuthally, and according to the Wolter I optic lengthwise (sagitally). A parameter specifies +whether this is hyperbolic or parabolic. +The azimuthal curvature is defined by the parameter radius. This refers to the center of the pore. I.e the top +and bottom plates have radius of curvature and respectively. + +To intersect the Wolter I plates we take advatage of the azimuthal symmetry and only consider the radial component +of the photon's wavevector. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **pore_th** | | | | +| **pore_width** | | | | +| **ring_nr** | | | | +| **radius_m** | m | Ring radius of the upper (reflecting) plate of the pore at the optic centre. | | +| **Z0** | m | Distance between optics centre plane and focal spot (essentially focal length). | | +| **xwidth** | m | Width of the pore. | | +| **pore_height** | | | | +| gap | m | Gap between the plate and the intersection plane with the hyperbolic section. (currently ignored) | 0 | +| chamfer_width | | | 0 | +| length | | | 0 | +| mirror_reflec | | Data file containing reflectivities of the reflector surface (TOP). | "" | +| bottom_reflec | | Data file containing reflectivities of the bottom surface (BOTTOM). | "" | +| side_reflec | | Data file containing reflectivities of the side walls (LEFT and RIGHT). | "" | +| size_file | | | "" | +| non_specular_file | | | "" | +| R_d | | Default reflectivity value to use if no reflectivity file is given. Useful f.i. is one surface is reflecting and the others absorbing. | 1 | +| primary | | If non-zero, the pore is considered a primary reflector, and extends towards negative z. I.e. the entry plane is behind the z=0-plane. If zero, the pore is considered secondary and extends from the z=0-plane and towards positive z. | 1 | +| dalpha | deg | Offset to the alpha angle computed from the focal length. Useful for targeting the modified conical geometry (currently ignored). | 0 | +| waviness | rad | Waviness of the reflecting surface. The slope error is assumed to be uniformly distributed in the interval [-waviness:waviness]. | 0 | +| longw | | If non-zero, waviness is 1D and along the pore axis. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/astrox/MM_c.comp) for `MM_c.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/astrox/MM_h.md b/mcxtrace-comps/astrox/MM_h.md new file mode 100644 index 0000000000..e74998051c --- /dev/null +++ b/mcxtrace-comps/astrox/MM_h.md @@ -0,0 +1,59 @@ +# The `MM_h` Component + +*McXtrace: Date: Feb. 2017 +Version: 1.1 +Release: McXtrace 1.2 +Origin: DTU Physics, DTU Space + +Single Pore as part of the Silicon Pore Optics (SPO) as envisioned for the ATHENA+ space telescope.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen and Desiree D. M. Ferreira +- **Origin:** DTU Physics, DTU Space +- **Date:** Feb. 2016 + +## Description + +```text +A single pore is simulated, which may have thick walls. The top and bottom are curved cylindrically +azimuthally, and according to the Wolter I optic lengthwise (sagitally). This is the hyperbolic part. +The azimuthal curvature is defined by the radius parameters. + +To intersect the Wolter I plates we take advatage of the azimuthal symmetry and only consider the radial component +of the photon's wavevector. + +Example: MM_h( pore_th=0, ring_nr=1, Z0=12, pore_width=0.83e-3, pore_height=0.605e-3, chamfer_width=0.17e-3, mirror_reflec="mirror_coating_unity.txt", R_d=0, size_file="ref_design_breaks.txt") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **pore_th** | | | | +| **ring_nr** | | | | +| **Z0** | m | Distance between intersection plane and the focal spot (essentially focal length). | | +| **pore_height** | m | Height of the pore. (Hence the inner radii are radius_{m,h}-pore_height) | | +| **pore_width** | | | | +| chamfer_width | | | 0 | +| gap | m | Gap between intersection with parabolic section and actual plate. | 0 | +| zdepth | | | 0 | +| mirror_reflec | | Data file containing reflectivities of the reflector surface (TOP). | "" | +| bottom_reflec | | Data file containing reflectivities of the bottom surface (BOTTOM). | "" | +| side_reflec | | Data file containing reflectivities of the side walls (LEFT and RIGHT). | "" | +| size_file | | | "" | +| non_specular_file | | | "" | +| R_d | | Default reflectivity value to use if no reflectivity file is given. Useful f.i. is one surface is reflecting and the others absorbing. | 1 | +| waviness | | | 0 | +| longw | | | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/astrox/MM_h.comp) for `MM_h.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/astrox/MM_p.md b/mcxtrace-comps/astrox/MM_p.md new file mode 100644 index 0000000000..2f03b3c262 --- /dev/null +++ b/mcxtrace-comps/astrox/MM_p.md @@ -0,0 +1,61 @@ +# The `MM_p` Component + +*McXtrace: Date: Feb. 2017 +Version: 1.1 +Release: McXtrace 1.2 +Origin: DTU Physics, DTU Space + +Single Pore as part of the Silicon Pore Optics (SPO) as envisioned for the ATHENA+ space telescope.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen and Desiree D. M. Ferreira +- **Origin:** DTU Physics, DTU Space +- **Date:** Feb. 2016 + +## Description + +```text +A single pore is simulated, which may have thick walls. The top and bottom are curved cylindrically +azimuthally, and according to the Wolter I optic lengthwise (sagitally). A parameter specifies +whether this is hyperbolic or parabolic. +The azimuthal curvature is defined by the parameter radius. This refers to the center of the pore. I.e the top +and bottom plates have radius of curvature and respectively. + +To intersect the Wolter I plates we take advatage of the azimuthal symmetry and only consider the radial component +of the photon's wavevector. + +Example: MM_p( pore_th=0, ring_nr=1, Z0=12, pore_width=0.83e-3 , pore_height=0.605e-3, mirror_reflec="mirror_coating_unity.txt", R_d=0, size_file="ref_design_breaks.txt") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **pore_th** | | | | +| **ring_nr** | | | | +| **Z0** | m | Distance between optics centre plane and focal spot (essentially focal length). | | +| **pore_height** | m | Height of the pore. | | +| **pore_width** | | | | +| chamfer_width | m | Width of side walls. | 0 | +| gap | m | Gap between the plate and the intersection plane with the hyperbolic section. | 0 | +| zdepth | | | 0 | +| mirror_reflec | | Data file containing reflectivities of the reflector surface (TOP). | "" | +| bottom_reflec | | Data file containing reflectivities of the bottom surface (BOTTOM). | "" | +| side_reflec | | Data file containing reflectivities of the side walls (LEFT and RIGHT). | "" | +| size_file | | | "" | +| non_specular_file | | | "" | +| R_d | | Default reflectivity value to use if no reflectivity file is given. Useful f.i. is one surface is reflecting and the others absorbing. | 1 | +| waviness | | | 0 | +| longw | | | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/astrox/MM_p.comp) for `MM_p.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/astrox/Pore_c.md b/mcxtrace-comps/astrox/Pore_c.md new file mode 100644 index 0000000000..8f46882514 --- /dev/null +++ b/mcxtrace-comps/astrox/Pore_c.md @@ -0,0 +1,53 @@ +# The `Pore_c` Component + +*McXtrace: Single Pore as part of the Silicon Pore Optics (SPO) as envisioned for the ATHENA+ space telescope.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen and Desiree D. M. Ferreira +- **Origin:** DTU Physics, DTU Space +- **Date:** Feb. 2016 + +## Description + +```text +A single pore is simulated, which may have thick walls. The top and bottom are curved cylindrically +azimuthally, whereas they are straight sagitally. The primary parameter specifies whether this is a +primary or secondary mirror. If primary they mirror extends backwards. +The azimuthal curvature is defined by the parameter radius. This refers to the center of the pore. I.e the top +and bottom plates have radius of curvature and respectively. + +To intersect the Wolter I plates we take advatage of the azimuthal symmetry and only consider the radial component +of the photon's wavevector. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **radius_m** | m | Ring radius of the upper (reflecting) plate of the pore at the optic centre. | | +| **Z0** | m | Distance between optics centre plane and focal spot (essentially focal length). | | +| **xwidth** | m | Width of the pore. | | +| **yheight** | m | Height of the pore. | | +| gap | m | Gap between the plate and the intersection plane with the hyperbolic section. (currently ignored) | 0 | +| chamferwidth | m | Width of side walls. | 0 | +| length | | | 0 | +| mirror_reflec | | Data file containing reflectivities of the reflector surface (TOP). | "" | +| bottom_reflec | | Data file containing reflectivities of the bottom surface (BOTTOM). | "" | +| side_reflec | | Data file containing reflectivities of the side walls (LEFT and RIGHT). | "" | +| R_d | | Default reflectivity value to use if no reflectivity file is given. Useful f.i. is one surface is reflecting and the others absorbing. | 1 | +| primary | | If non-zero, the pore is considered a primary reflector, and extends towards negative z. I.e. the entry plane is behind the z=0-plane. If zero, the pore is considered secondary | 1 | +| dalpha | deg | Offset to the alpha angle computed from the focal length. Useful for targeting the modified conical geometry (currently ignored). | 0 | +| waviness | rad | Waviness of the pore reflecting surface. The slope error is assumed to be uniformly distributed in the interval [-waviness:waviness]. | 0 | +| longw | | If non-zero, waviness is 1D and along the pore axis. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/astrox/Pore_c.comp) for `Pore_c.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/astrox/Pore_h.md b/mcxtrace-comps/astrox/Pore_h.md new file mode 100644 index 0000000000..74720d0864 --- /dev/null +++ b/mcxtrace-comps/astrox/Pore_h.md @@ -0,0 +1,53 @@ +# The `Pore_h` Component + +*McXtrace: Single Pore as part of the Silicon Pore Optics (SPO) as envisioned for the ATHENA+ space telescope.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen and Desiree D. M. Ferreira +- **Origin:** DTU Physics, DTU Space +- **Date:** Feb. 2016 + +## Description + +```text +A single pore is simulated, which may have thick walls. The top and bottom are curved cylindrically +azimuthally, and according to the Wolter I optic lengthwise (sagitally). This is the hyperbolic part. +The azimuthal curvature is defined by the radius parameters. This refers to the center of the pore. I.e the top +and bottom plates have radius of curvature and respectively. + +To intersect the Wolter I plates we take advatage of the azimuthal symmetry and only consider the radial component +of the photon's wavevector. + +Example: Pore_h( radius_m=0.286148, radius_h=0.284333, zdepth=0.101504, Z0=12, xwidth=0.83e-3, yheight=0.605e-3, mirror_reflec="mirror_coating_unity.txt", R_d=0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **radius_m** | m | Ring radius of the upper (reflecting) plate of the pore at the intersection with the parabolic section. | | +| **radius_h** | m | Ring radius of the upper (reflecting) plate of the pore at the edge closest to the focal point. | | +| **Z0** | m | distance between intersection plane and the focal spot( essentially the focal length). | | +| **xwidth** | m | Width of the pore. | | +| **yheight** | m | Height of the pore. (Thus the inner radius is radius_{m,h}-yehight. | | +| chamferwidth | m | Width of side walls. | 0 | +| gap | m | gap between intersection with parabolic section and actual plate. | 0 | +| zdepth | | | 0 | +| mirror_reflec | | Data file containing reflectivities of the reflector surface (TOP). | "" | +| bottom_reflec | | Data file containing reflectivities of the bottom surface (BOTTOM). | "" | +| side_reflec | | Data file containing reflectivities of the side walls (LEFT and RIGHT). | "" | +| R_d | | Default reflectivity value to use if no reflectivity file is given. Useful f.i. is one surface is reflecting and the others absorbing. | 1 | +| waviness | | | 0 | +| longw | | | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/astrox/Pore_h.comp) for `Pore_h.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/astrox/Pore_p.md b/mcxtrace-comps/astrox/Pore_p.md new file mode 100644 index 0000000000..6ba8d3429a --- /dev/null +++ b/mcxtrace-comps/astrox/Pore_p.md @@ -0,0 +1,51 @@ +# The `Pore_p` Component + +*McXtrace: Single Pore as part of the Silicon Pore Optics (SPO) as envisioned for the ATHENA+ space telescope.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen and Desiree D. M. Ferreira +- **Origin:** DTU Physics, DTU Space +- **Date:** Feb. 2016 + +## Description + +```text +A single pore is simulated, which may have thick walls. The top and bottom are curved cylindrically +azimuthally, and according to the Wolter I optic lengthwise (sagitally). This is the parabolic part. +The azimuthal curvature is defined by the radius parameters. This refers to the center of the pore. I.e the top +and bottom plates have radius of curvature and respectively. + +To intersect the Wolter I plates we take advatage of the azimuthal symmetry and only consider the radial component +of the photon's wavevector. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **radius_p** | m | Ring radius of the upper (reflecting) plate of the pore at the edge furthest away from the focal point. | | +| **radius_m** | m | Ring radius of the upper (reflecting) plate of the pore at the intersection with the hyperbolic section. | | +| **Z0** | m | distance between intersection plane and the focal spot( essentially the focal length). | | +| **xwidth** | m | Width of the pore. | | +| **yheight** | m | Height of the pore. (Thus the inner radius is radius_{m,h}-yehight. | | +| gap | m | gap between intersection with parabolic section and actual plate. | 0 | +| chamferwidth | m | Width of side walls. | 0 | +| zdepth | | | 0 | +| mirror_reflec | | Data file containing reflectivities of the reflector surface (TOP). | "" | +| bottom_reflec | | Data file containing reflectivities of the bottom surface (BOTTOM). | "" | +| side_reflec | | Data file containing reflectivities of the side walls (LEFT and RIGHT). | "" | +| R_d | | Default reflectivity value to use if no reflectivity file is given. Useful f.i. is one surface is reflecting and the others absorbing. | 1 | +| waviness | | | 0 | +| longw | | | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/astrox/Pore_p.comp) for `Pore_p.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/astrox/Ring_c.md b/mcxtrace-comps/astrox/Ring_c.md new file mode 100644 index 0000000000..6391d9fb54 --- /dev/null +++ b/mcxtrace-comps/astrox/Ring_c.md @@ -0,0 +1,53 @@ +# The `Ring_c` Component + +*McXtrace: Date: Feb. 2017 +Version: 1.1 +Release: McXtrace 1.2 +Origin: DTU Physics, DTU Space + +Stack of conical shells as part of a Wolter optic.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen and Desiree D. M. Ferreira +- **Origin:** DTU Physics, DTU Space +- **Date:** Feb. 2016 + +## Description + +```text +A stack of conical shells is simulated. +To intersect the Wolter I plates we take advatage of the azimuthal symmetry and only consider the radial component +of the photon's wavevector. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **ring_nr** | | | | +| **radius_m** | m | Ring radius of the upper (reflecting) plate of the shell at the optic centre. | | +| **Z0** | m | Distance between optics centre plane and focal spot (essentially focal length). | | +| **xwidth** | | | | +| **yheight** | m | Height of the shell. | | +| gap | m | Gap between the plate and the intersection plane with the hyperbolic section. (currently ignored) | 0 | +| chamferwidth | m | Width of side walls. | 0 | +| length | | | 0 | +| mirror_reflec | | Data file containing reflectivities of the reflector surface (TOP). | "" | +| bottom_reflec | | Data file containing reflectivities of the bottom surface (BOTTOM). | "" | +| R_d | | Default reflectivity value to use if no reflectivity file is given. Useful f.i. is one surface is reflecting and the others absorbing. | 1 | +| primary | | If non-zero, the shell is considered a primary reflector, and extends towards negative z. I.e. the entry plane is behind the z=0-plane. If zero, the shell is considered secondary | 1 | +| dalpha | deg | Offset to the alpha angle computed from the focal length. Useful for targeting the modified conical geometry (currently ignored). | 0 | +| waviness | rad | Waviness of the shell reflecting surface. The slope error is assumed to be uniformly distributed in the interval [-waviness:waviness]. | 0 | +| longw | | If non-zero, waviness is 1D and along the shell axis. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/astrox/Ring_c.comp) for `Ring_c.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/astrox/Ring_h.md b/mcxtrace-comps/astrox/Ring_h.md new file mode 100644 index 0000000000..47fc6f4f34 --- /dev/null +++ b/mcxtrace-comps/astrox/Ring_h.md @@ -0,0 +1,53 @@ +# The `Ring_h` Component + +*McXtrace: Date: Feb. 2017 +Version: 1.1 +Release: McXtrace 1.2 +Origin: DTU Physics, DTU Space + +Stack of conical shells as part of a Wolter optic. Hyperbolic version.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen and Desiree D. M. Ferreira +- **Origin:** DTU Physics, DTU Space +- **Date:** Feb. 2016 + +## Description + +```text +A stack of conical shells is simulated. Hyperbolic version. +To intersect the Wolter I plates we take advatage of the azimuthal symmetry and only consider the radial component +of the photon's wavevector. + +Example: Ring_h( pore_th=0, ring_nr=3, Z0=12, yheight=0.83e-3, mirror_reflec="mirror_coating_unity.txt", R_d=0, size_file="ref_design_breaks.txt") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **ring_nr** | | | | +| **pore_th** | | | | +| **Z0** | m | distance between intersection plane and the focal spot( essentially the focal length). | | +| **yheight** | m | Height of the pore. (Thus the inner radius is radius_{m,h}-yheight | | +| chamferwidth | m | Width of side walls. | 0 | +| gap | m | gap between intersection with parabolic section and actual plate. | 0 | +| zdepth | | | 0 | +| mirror_reflec | | Data file containing reflectivities of the reflector surface (TOP). | "" | +| bottom_reflec | | Data file containing reflectivities of the bottom surface (BOTTOM). | "" | +| size_file | | | "" | +| R_d | | Default reflectivity value to use if no reflectivity file is given. Useful f.i. is one surface is reflecting and the others absorbing. | 1 | +| waviness | rad | Waviness of the pore reflecting surface. The slope error is assumed to be uniformly distributed in the interval [-waviness:waviness]. | 0 | +| longw | | If non-zero, waviness is 1D and along the pore axis. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/astrox/Ring_h.comp) for `Ring_h.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/astrox/Ring_p.md b/mcxtrace-comps/astrox/Ring_p.md new file mode 100644 index 0000000000..219cd8c8be --- /dev/null +++ b/mcxtrace-comps/astrox/Ring_p.md @@ -0,0 +1,53 @@ +# The `Ring_p` Component + +*McXtrace: Date: Feb. 2017 +Version: 1.1 +Release: McXtrace 1.2 +Origin: DTU Physics, DTU Space + +Stack of conical shells as part of a Wolter optic. Parabolic version.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen and Desiree D. M. Ferreira +- **Origin:** DTU Physics, DTU Space +- **Date:** Feb. 2016 + +## Description + +```text +A stack of conical shells is simulated. Parabolic version. +To intersect the Wolter I plates we take advatage of the azimuthal symmetry and only consider the radial component +of the photon's wavevector. + +Example: Ring_p( pore_th=0, ring_nr=3, Z0=FL, yheight=0.605e-3, mirror_reflec="mirror_coating_unity.txt", R_d=0, size_file="ref_design_breaks.txt") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **ring_nr** | | | | +| **pore_th** | | | | +| **Z0** | m | Distance between optics centre plane and focal spot (essentially focal length). | | +| **yheight** | m | Height of the pore. | | +| chamferwidth | m | Width of side walls. | 0 | +| gap | m | Gap between the plate and the intersection plane with the hyperbolic section. | 0 | +| zdepth | | | 0 | +| mirror_reflec | | Data file containing reflectivities of the reflector surface (TOP). | "" | +| bottom_reflec | | Data file containing reflectivities of the bottom surface (BOTTOM). | "" | +| size_file | | | "" | +| R_d | | Default reflectivity value to use if no reflectivity file is given. Useful f.i. is one surface is reflecting and the others absorbing. | 1 | +| waviness | rad | Waviness of the pore reflecting surface. The slope error is assumed to be uniformly distributed in the interval [-waviness:waviness]. | 0 | +| longw | | If non-zero, waviness is 1D and along the pore axis. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/astrox/Ring_p.comp) for `Ring_p.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/astrox/Shell_c.md b/mcxtrace-comps/astrox/Shell_c.md new file mode 100644 index 0000000000..5b278ba7d4 --- /dev/null +++ b/mcxtrace-comps/astrox/Shell_c.md @@ -0,0 +1,53 @@ +# The `Shell_c` Component + +*McXtrace: Single conical shell as part of a Wolter optic.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen and Desiree D. M. Ferreira +- **Origin:** DTU Physics, DTU Space +- **Date:** Feb. 2016 + +## Description + +```text +A single shell is simulated. The top and bottom are curved cylindrically +azimuthally, whereas they are straight sagitally. The primary parameter specifies whether this is a +primary or secondary mirror. +The azimuthal curvature is defined by the parameter radius. This refers to the top plate of the shell. I.e the top +and bottom plates have radius of curvature and respectively. + +To intersect the Wolter I plates we take advatage of the azimuthal symmetry and only consider the radial component +of the photon's wavevector. + +Example: Shell_c( radius_m=0.535532,Z0=12,yheight=1e-2,length=0.5,primary=0, R_d=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **radius_m** | m | Ring radius of the upper (reflecting) plate of the shell at the optic centre. | | +| **Z0** | m | Distance between optics centre plane and focal spot (essentially focal length). | | +| **yheight** | m | Height of the shell. | | +| gap | m | Gap between the plate and the intersection plane with the hyperbolic section. (currently ignored) | 0 | +| chamferwidth | m | Width of side walls. | 0 | +| length | | | 0 | +| mirror_reflec | | Data file containing reflectivities of the reflector surface (TOP). | "" | +| bottom_reflec | | Data file containing reflectivities of the bottom surface (BOTTOM). | "" | +| R_d | | Default reflectivity value to use if no reflectivity file is given. Useful f.i. is one surface is reflecting and the others absorbing. | 1 | +| primary | | If non-zero, the shell is considered a primary reflector, and extends towards negative z. I.e. the entry plane is behind the z=0-plane. If zero, the shell is considered secondary | 1 | +| dalpha | deg | Offset to the alpha angle computed from the focal length. Useful for targeting the modified conical geometry (currently ignored). | 0 | +| waviness | rad | Waviness of the shell reflecting surface. The slope error is assumed to be uniformly distributed in the interval [-waviness:waviness]. | 0 | +| longw | | If non-zero, waviness is 1D and along the shell axis. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/astrox/Shell_c.comp) for `Shell_c.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/astrox/Shell_h.md b/mcxtrace-comps/astrox/Shell_h.md new file mode 100644 index 0000000000..61b1d50bf7 --- /dev/null +++ b/mcxtrace-comps/astrox/Shell_h.md @@ -0,0 +1,84 @@ +# The `Shell_h` Component + +*McXtrace: Single Pore as part of the Silicon Pore Optics (SPO) as envisioned for the ATHENA+ space telescope.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen and Desiree D. M. Ferreira +- **Origin:** DTU Physics, DTU Space +- **Date:** Feb. 2016 + +## Description + +```text +A single shell is simulated. The top and bottom are curved cylindrically +azimuthally, and according to the Wolter I optic lengthwise (sagitally). This is the hyperbolic part. +The azimuthal curvature is defined by the radius parameters. + +To intersect the Wolter I plates we take advantage of the azimuthal symmetry and only consider the radial component +of the photon's wavevector. + +Imperfect mirrors may be modelled using one of 4 models. In all cases the surface normal of the mirror +at the ideal mirror intersection point is perturbed before the exit vector is computed. +1. Longitudinal 1D. A perturbation angle is chosen from a uniform distribution with width waviness. +2. Isotropic 2D. The surface normal is perturbed by choosing an angle on a disc with radius waviness +3. Externally measured/computed data. We interpolate in a data-file consisting of blocks of dtheta/theta +with 1 block per energy. dtheta is a sampled angle offset from the nominal Fresnel grazing angle +theta. +4. Double gaussian. dtheta is chosen from one of two gaussian distributions. Either specular or off-specular, where the +widths (sigmas) are given by the tables in the file "wave_file". If the off-specular case the behaviour is similar +to 2D uniform case. + +In the case of 3, the format of the data file should be: +#e_min=0.1 +#e_max=15 +#e_step=0.01 +#theta_min=0.01 +#theta_max=1.5 +#theta_step=0.01 +#dtheta_min=-0.02 +#dtheta_max=0.02 +#dtheta_step=0.001 +1.0 0.9 0.8 0.75 ... +0.99 0.89 0.79 0.749 ... +... +#block 2 (energy data point 2) +1.0 0.9 0.8 0.75 ... +0.99 0.89 0.79 0.749 ... +... + +I.e. one 2D data block per energy data point where rows represent the steps in nominal incident angle, and columns +represent the sampled granularity of the off-specular scattering. + +Example: Shell_h( radius_m=0.535532, radius_h=0.533113, zdepth=0.5, Z0=FL, yheight=1e-2, R_d=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **radius_m** | m | Ring radius of the upper (reflecting) plate of the pore at the intersection with the parabolic section. | | +| **radius_h** | m | Ring radius of the upper (reflecting) plate of the pore at the edge closest to the focal point. | | +| **Z0** | m | distance between intersection plane and the focal spot( essentially the focal length). | | +| **yheight** | m | Height of the pore. (Thus the inner radius is radius_{m,h}-yehight | | +| chamferwidth | m | Width of side walls. | 0 | +| gap | m | gap between intersection with parabolic section and actual plate. | 0 | +| zdepth | | | 0 | +| mirror_reflec | | Data file containing reflectivities of the reflector surface (TOP). | "" | +| bottom_reflec | | Data file containing reflectivities of the bottom surface (BOTTOM). | "" | +| wave_file | | | "" | +| R_d | | Default reflectivity value to use if no reflectivity file is given. Useful f.i. is one surface is reflecting and the others absorbing. | 1 | +| wave_model | | Flag to choose waviness model. 1. longitudinal uniform, 2. 2D-uniform, 3. lorentzian sagittal, 4. double gaussian sagittal. See above for details. | 0 | +| waviness | rad | Waviness of the pore reflecting surface. The slope error is assumed to be uniformly distributed in the interval [-waviness:waviness]. | 0 | +| verbose | | If !=0 output extra info during simulation. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/astrox/Shell_h.comp) for `Shell_h.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/astrox/Shell_p.md b/mcxtrace-comps/astrox/Shell_p.md new file mode 100644 index 0000000000..3bd3b51d0c --- /dev/null +++ b/mcxtrace-comps/astrox/Shell_p.md @@ -0,0 +1,84 @@ +# The `Shell_p` Component + +*McXtrace: Single parabolic shell as part of a Wolter optic.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen and Desiree D. M. Ferreira +- **Origin:** DTU Physics, DTU Space +- **Date:** Feb. 2016 + +## Description + +```text +A single shell is simulated. The top and bottom are curved cylindrically +azimuthally. The sagital profile is defined by a parabola, which passes through the radii raidus_m +at z=0, and radius_p at zentry (<0). + +To intersect the Wolter I plates we take advatage of the azimuthal symmetry and only consider the radial component +of the photon's wavevector. + +Imperfect mirrors may be modelled using one of 4 models. In all cases the surface normal of the mirror +at the ideal mirror intersection point is perturbed before the exit vector is computed. +1. Longitudinal 1D. A perturbation angle is chosen from a uniform distribution with width waviness. +2. Isotropic 2D. The surface normal is perturbed by choosing an angle on a disc with radius waviness +3. Externally measured/computed data. We interpolate in a data-file consisting of blocks of dtheta/theta +with 1 block per energy. dtheta is a sampled angle offset from the nominal Fresnel grazing angle +theta. +4. Double gaussian. dtheta is chosen from one of two gaussian distributions. Either specular or off-specular, where the +widths (sigmas) are given by the tables in the file "wave_file". If the off-specular case the behaviour is similar +to 2D uniform case. + +In the case of 3, the format of the data file should be: +#e_min=0.1 +#e_max=15 +#e_step=0.01 +#theta_min=0.01 +#theta_max=1.5 +#theta_step=0.01 +#dtheta_min=-0.02 +#dtheta_max=0.02 +#dtheta_step=0.001 +1.0 0.9 0.8 0.75 ... +0.99 0.89 0.79 0.749 ... +... +#block 2 (energy data point 2) +1.0 0.9 0.8 0.75 ... +0.99 0.89 0.79 0.749 ... +... + +I.e. one 2D data block per energy data point where rows represent the steps in nominal incident angle, and columns +represent the sampled granularity of the off-specular scattering. + +Example: Shell_p( radius_p=0.535532, radius_m=0.533113, zdepth=0.5, Z0=12, yheight=1e-2, R_d=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| **radius_p** | m | Ring radius of the upper (reflecting) plate of the shell at the edge furthest away from the focal point. | | +| **radius_m** | m | Ring radius of the upper (reflecting) plate of the shell at the intersection with the hyperbolic section. | | +| **Z0** | m | Distance between optics centre plane and focal spot (essentially focal length). | | +| **yheight** | m | Height of the shell. | | +| chamferwidth | m | Width of side walls. | 0 | +| gap | m | Gap between the plate and the intersection plane with the hyperbolic section. | 0 | +| zdepth | | | 0 | +| mirror_reflec | | Data file containing reflectivities of the reflector surface (TOP). | "" | +| bottom_reflec | | Data file containing reflectivities of the bottom surface (BOTTOM). | "" | +| wave_file | | | "" | +| R_d | | Default reflectivity value to use if no reflectivity file is given. Useful f.i. is one surface is reflecting and the others absorbing. | 1 | +| wave_model | | Flag to choose waviness model. 1. longitudinal uniform, 2. 2D-uniform, 3. lorentzian sagittal, 4. double gaussian sagittal. See above for details. | 0 | +| waviness | rad | Waviness of the pore reflecting surface. The slope error is assumed to be uniformly distributed in the interval "[-waviness:waviness]". | 0 | +| verbose | | If !=0 output extra info during simulation. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/astrox/Shell_p.comp) for `Shell_p.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/astrox/Source_extended.md b/mcxtrace-comps/astrox/Source_extended.md new file mode 100644 index 0000000000..0c42d29d3f --- /dev/null +++ b/mcxtrace-comps/astrox/Source_extended.md @@ -0,0 +1,57 @@ +# The `Source_extended` Component + +*McXtrace: Release: McXtrace 1.4 + +A plane source emitting x-rays to emulate a distant extended source, such as a +nebula or galaxy* + +## Identification + +- **Site:** +- **Author:** Arne 'S Jegers +- **Origin:** Technical University of Denmark +- **Date:** May 6, 2019 + +## Description + +```text +A rectangular x-ray source that samples ray intensity from an image, and +deflects the emitted ray to reflect having been emitted from the sampled part +of the extended source. Rays that are sampled from the same point on the image +are collimated, but can be emitted from anywhere on the rectangular source. +The image should be provided as a 2D-ascii table, whose header includes the +following entries: + +w_pixels and h_pixels: The width and height of the image in pixels +x_ref and y_ref: x and y reference values of the FITS image +r_max: The maximum distance from the point (x_ref, y_ref) to any corner of the image +iCD11, iCD12, iCD21 and iCD22: The values of the FITS image's CD matrix +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| spectrum_file | | | NULL | +| yheight | m | Height of rectangle in (x,y,0) plane where x-rays | 0 | +| xwidth | m | Width of rectangle in (x,y,0) plane where x-rays | 0 | +| dist | | | 0 | +| E0 | keV | Mean energy of xrays. | 0 | +| dE | keV | Energy half spread of x-rays (flat or gaussian sigma). | 0 | +| lambda0 | AA | Mean wavelength of x-rays. | 0 | +| dlambda | AA | Wavelength half spread of x-rays. | 0 | +| flux | pht/s | total flux radiated from the source | 0 | +| gauss | 1 | Gaussian (1) or Flat (0) energy/wavelength distribution | 0 | +| incoherent | | Source is fully incoherent | 1 | +| phase | | Set phase to something given. | 0 | +| image_path | string | Path to file containing the heat map of the source | "" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/astrox/Source_extended.comp) for `Source_extended.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/Attenuating_mask.md b/mcxtrace-comps/contrib/Attenuating_mask.md new file mode 100644 index 0000000000..135c83ca8d --- /dev/null +++ b/mcxtrace-comps/contrib/Attenuating_mask.md @@ -0,0 +1,44 @@ +# The `Attenuating_mask` Component + +*McXtrace: Attenuating_mask* + +## Identification + +- **Site:** +- **Author:** Matteo Busi, Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** November 2017 + +## Description + +```text +This component models a mask of energy dependent attenuation. This consists of a rectangular grid of size +"xwidth*yheight", composed of multiple disks of finite thickness "zdepth" of an attenuating material "att_file", +width "blocks_width" and period "blocks_dist"(i.e. distance between the center of each disk). +If holed_mask mode is turned the model of the component is the opposite, i.e. the mask is composed of an +attenuating slab of finite thickness and of size "xwidth*yheight", with apertures of desired width and period. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| att_file | ".txt" | File that contains the object information. (Default: "W.txt") | "W.txt" | +| xwidth | m | Horizontal width of the mask. (Default: 1e-1) | 1e-1 | +| yheight | m | Vertical height of the mask. (Default: 1e-1) | 1e-1 | +| zdepth | m | Thickness of the absorbing mask. (Default: 3e-3) | 10e-6 | +| blocks_xwidth | m | Width of the absorbing blocks in the x-direction. (Default: 3e-3) | 1e-3 | +| blocks_xdist | m | Distance between absorbing blocks in the x-direction. (Default: 10e-3) | 2.5e-3 | +| blocks_yheight | m | Height of the absorbing blocks in the y-direction. (Default: 3e-3) | 1e-3 | +| blocks_ydist | m | Distance between absorbing blocks in the y-direction. (Default: 10e-3) | 2.5e-2 | +| holed_mask | 1 | Set to 1 if the mask is a holed grid. (Default: 0) | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/Attenuating_mask.comp) for `Attenuating_mask.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/Bragg_crystal_BC.md b/mcxtrace-comps/contrib/Bragg_crystal_BC.md new file mode 100644 index 0000000000..1e1e0f8efe --- /dev/null +++ b/mcxtrace-comps/contrib/Bragg_crystal_BC.md @@ -0,0 +1,79 @@ +# The `Bragg_crystal_BC` Component + +*McXtrace: Perfect, reflecting crystal with common cubic structures (diamond, fcc, or bcc, and others if symmetry form factor multipliers provided explicitly)* + +## Identification + +- **Site:** +- **Author:** Marcus H Mendenhall, NIST +- **Origin:** NIST +- **Date:** May, 2017 + +## Description + +```text +Bragg_crystal_BC.comp is intended to supercede Bragg_Crystal.comp. + +For details see: +The optics of focusing bent-crystal monochromators on X-ray powder diffractometers with application to lattice parameter determination and microstructure analysis, +Marcus H. Mendenhall, David Black and James P. Cline, J. Appl. Cryst. (2019). 52, https://doi.org/10.1107/S1600576719010951 + +Reads atomic formfactors from a data input file. +The Bragg_Crystal code reflects ray in an ideal geometry, does not include surface imperfections or mosaicity + +The crystal code reflects ray in an ideal geometry, i.e. does not include surface imperfections or mosaicity. +The crystal planes from which the reflection is made lies in the X-Z plane on the unbent crystal rotated +by an angle alpha about the Y axis with respect to the crystal surface. + +The crystal itself is set in the X-Z plane positioned such that the long axis of the crystal surface coincides with +the Z-axis, withs normal pointing in the poisitivce Y-direction. + +N.B. The component does not work for rays hitting the back of the monochromator. + +Bragg_crystal_BC.comp is written by Marcus H. Mendenhall, NIST, Gaithersburg, MD, USA +It is based on the full vector math and exact solution of the dispersion relation in +Batterman and Cole, Reviews of Modern Physics 36 number 3, page 681, July 1964 + +This code has been validated against both experimental data +(2 channel-cut 3-bounce Si 440 crystals together in non-dispersive mode, at Cu kalpha) +and against theoretical rocking rocking curves from XOP for Si220 at Sc kalpha and Si440 at Cu kalpha. + +Non-copyright notice: +Contributed by the National Institute of Standards and Technology; not subject to copyright in the United States. +This is not an official contribution, in that the results are in no way certified by NIST. + +Example: Bragg_crystal_BC( length=0.05, width=0.02, V=160.1826, h=1, k=1, l=1, alphay=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| length | m | z depth (length) of the crystal. | 0.05 | +| width | m | x width of the crystal. | 0.02 | +| V | AA^3 | unit cell volume | 160.1826 | +| form_factors | | | "FormFactors.txt" | +| material | | Si, Ge (maybe also GaAs?) | "Si.txt" | +| alphax | | | 0.0 | +| alphay | | | 1.0 | +| alphaz | | | 0.0 | +| R0 | | Reflectivity. Overrides the computed Darwin reflectivity. Probably only useful for debugging. | 0 | +| debye_waller_B | AA^2 | Debye-Waller temperature factor, M=B*(sin(theta)/lambda)^2*(2/3), default=silicon at room temp. | 0.4632 | +| crystal_type | | 1 => Mx_crystal_explicit: provide explicit real and imaginary form factor multipliers structure_factor_scale_r, structure_factor_scale_i; 2 => Mx_crystal_diamond: diamond; 3 => Mx_crystal_fcc: fcc; 4 => Mx_crystal_fcc: bcc | 1 | +| h | | Miller index of reflection | 1 | +| k | | Miller index of reflection | 1 | +| l | | Miller index of reflection | 1 | +| structure_factor_scale_r | | | 0.0 | +| structure_factor_scale_i | | | 0.0 | +| verbose | | if non-zero: Output more information (warnings and messages) to the console. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/Bragg_crystal_BC.comp) for `Bragg_crystal_BC.comp`. +- material datafile obtained from http://physics.nist.gov/cgi-bin/ffast/ffast.pl + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/Bragg_crystal_bent_BC.md b/mcxtrace-comps/contrib/Bragg_crystal_bent_BC.md new file mode 100644 index 0000000000..331aaa25a6 --- /dev/null +++ b/mcxtrace-comps/contrib/Bragg_crystal_bent_BC.md @@ -0,0 +1,88 @@ +# The `Bragg_crystal_bent_BC` Component + +*McXtrace: Bent, perfect crystal with common cubic structures (diamond, fcc, or bcc, and others if symmetry form factor multipliers provided explicitly)* + +## Identification + +- **Site:** +- **Author:** Marcus H Mendenhall, NIST +- **Origin:** NIST +- **Date:** Dec 2016 + +## Description + +```text +Bragg_crystal_bent_BC.com is intended to supercede Bragg_Crystal_bent.comp +For details see: +The optics of focusing bent-crystal monochromators on X-ray powder diffractometers with application to lattice parameter determination and microstructure analysis, +Marcus H. Mendenhall,* David Black and James P. Cline, J. Appl. Cryst. (2019). 52, https://doi.org/10.1107/S1600576719010951 + +Reads atomic formfactors from a data input file. +The Bragg_Crystal code reflects ray in an ideal geometry, does not include surface imperfections or mosaicity + +The crystal code reflects ray in an ideal geometry, i.e. does not include surface imperfections or mosaicity. +The crystal planes from which the reflection is made lies in the X-Z plane on the unbent crystal rotated +by an angle alpha about the Y axis with respect to the crystal surface. + +The crystal itself is set in the X-Z plane positioned such that the long axis of the crystal surface coincides with +the Z-axis, withs normal pointing in the poisitivce Y-direction. + +The asummetry angle alpha is defined so that positive alpha reduces the Bragg angle to the plane i.e. alpha=Thetain grazes the planes. +if alpha!=0, one should restrict to rays which have small kx values, since otherwise the alpha rotation is not +around the diffraction axis. + +The mirror is positioned such that the a-axis of the mirror ellipsoid is on the +z-axis, the b-axis is along the y-axis and the c is along the x-axis. +The reference point of the mirror is the ellipsoid centre, offset by one half-axis along the y-axis. +(See the component manual for a drawing). + +Notation follows Tadashi Matsushita and Hiro-O Hashizume, X-RAY MONOCHROMATORS. Handbook on Synchrotron Radiation,North-Holland Publishing Company, 1:263–274, 1983. + +NOTE: elliptical coordinate code and documentation taken from Mirror_elliptic.comp distributed in McXtrace v1.2 +written by: Erik Knudsen. However, the coordinates are rotated to be consistent with Perfect_Crystal.comp and NIST_Perfect_Crystal.comp +Idealized elliptic mirror with surface ellipse and lattice ellipses independent, to allow construction of +Johansson optics, for example. + +Non-copyright notice: +Contributed by the National Institute of Standards and Technology; not subject to copyright in the United States. +This is not an official contribution, in that the results are in no way certified by NIST. + +Example: Bragg_crystal_bent_BC( length=0.05, width=0.02, V=160.1826, h=1, k=1, l=1, alpha=0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| x_a | m | 1st short half axis (along x). Commonly set to zero, which really implies infinite value, so crystal is an elliptic cylinder. | 0 | +| y_b | m | 2nd short half axis (along y), which is also the presumed near-normal direction, reflection near the y-z plane. | 1.0 | +| z_c | m | Long half axis (along z). Commonly a=0. b=c, which creates a circular cylindrical surface. | 1.0 | +| lattice_x_a | m | Curvature matrix component around a for underlying lattice, for bent/ground/rebent crystals | 0 | +| lattice_y_b | m | Curvature matrix component around b for underlying lattice, for bent/ground/rebent crystals | 1.0 | +| lattice_z_c | m | curvature matrix component around c for underlying lattice, for bent/ground/rebent crystals THERE HAS BEEN NO TESTING for the case in which lattice_x_a != x_a. | 1.0 | +| length | m | z depth (length) of the crystal. | 0.05 | +| width | m | x width of the crystal. | 0.02 | +| V | AA^3 | unit cell volume | 160.1826 | +| form_factors | | | "FormFactors.txt" | +| material | | Si, Ge (maybe also GaAs?) | "Si.txt" | +| alpha | rad | Asymmetry angle (alpha=0 for symmetric reflection, i.e. the Bragg planes are parallel to the crystal surface) | 0.0 | +| R0 | | Reflectivity. Overrides the computed Darwin reflectivity. Probably only useful for debugging. | 0 | +| debye_waller_B | AA^2 | Debye-Waller temperature factor, M=B*(sin(theta)/lambda)^2*(2/3), default=silicon at room temp. | 0.4632 | +| crystal_type | | 1 => Mx_crystal_explicit: provide explicit real and imaginary form factor multipliers structure_factor_scale_r, structure_factor_scale_i; 2 => Mx_crystal_diamond: diamond; 3 => Mx_crystal_fcc: fcc; 4 => Mx_crystal_fcc: bcc | 1 | +| h | | Miller index of reflection | 1 | +| k | | Miller index of reflection | 1 | +| l | | Miller index of reflection | 1 | +| structure_factor_scale_r | | | 0.0 | +| structure_factor_scale_i | | | 0.0 | +| verbose | | if non-zero: Output more information (warnings and messages) to the console. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/Bragg_crystal_bent_BC.comp) for `Bragg_crystal_bent_BC.comp`. +- material datafile obtained from http://physics.nist.gov/cgi-bin/ffast/ffast.pl + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/Bragg_crystal_simple.md b/mcxtrace-comps/contrib/Bragg_crystal_simple.md new file mode 100644 index 0000000000..aaef9d0412 --- /dev/null +++ b/mcxtrace-comps/contrib/Bragg_crystal_simple.md @@ -0,0 +1,45 @@ +# The `Bragg_crystal_simple` Component + +*McXtrace: Perfect Bragg reflecting slab* + +## Identification + +- **Site:** +- **Author:** Jose I. Robledo +- **Origin:** FaMAF - UNC, Argentina +- **Date:** February 2016 + +## Description + +```text +Rectangle of matter perfectly reflecting the incident X-ray beam +that fulfills Bragg's law for a set of scattering vectors in the +vicinity of the theoretical Q given a d-spacing. +The rectangle is in the x-y plane. + +Example: Bragg_crystal_simple( yheight=0.05, xwidth=0.02, DM=3.1356, err_Q= 0.000075, r0=1.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xmin | | | 1.0 | +| xmax | | | 1.0 | +| ymin | | | 1.0 | +| ymax | | | 1.0 | +| xwidth | m | Width in the x direction | 0.0 | +| yheight | m | Height in the y direction | 0.0 | +| r0 | | Maximum reflectivity | 1 | +| DM | | [AA⁻1] d-spacing of the crystal | 0 | +| err_Q | | dQ/Q relative error of the modulus of Q vector. Approximates the Darwin width of the crystal. | 0.0001 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/Bragg_crystal_simple.comp) for `Bragg_crystal_simple.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/Detector_pn.md b/mcxtrace-comps/contrib/Detector_pn.md new file mode 100644 index 0000000000..0867b14b6f --- /dev/null +++ b/mcxtrace-comps/contrib/Detector_pn.md @@ -0,0 +1,45 @@ +# The `Detector_pn` Component + +*McXtrace: Version: McXtrace 1.2 + +Block of a attenuating material* + +## Identification + +- **Site:** +- **Author:** Maria Thomsen (mariath@fys.ku.dk) +- **Origin:** NBI, KU +- **Date:** Jan 24, 2011 + +## Description + +```text +A scintillator detector model taking photoabsorption efficiency into account. As such it consitututes a +more physical version of the PSD_monitor. Only direct absorption is taken into account. + +Example: Detector_pn(restore_xray=restore_flag,filename="detector_Si", material_datafile="Si.txt", xwidth=1e-2, yheight=1e-2,zdepth=1e-5) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| material_datafile | str | File where the material parameters for the scintillator may be found. Format is similar to what may be found off the NIST website. | "Be.txt" | +| nx | m | Number of pixel columns. | 90 | +| ny | m | Number of pixel rows. | 90 | +| filename | str | Name of file in which to store the detector image. | "" | +| restore_xray | | If set, the monitor does not influence the xray state. | 0 | +| xwidth | m | Width of block. | 1e-2 | +| yheight | m | Height of block. | 1e-2 | +| zdepth | m | Thickness of block. | 1e-6 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/Detector_pn.comp) for `Detector_pn.comp`. +- material datafile obtained from http://physics.nist.gov/cgi-bin/ffast/ffast.pl + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/Laue_crystal_BC.md b/mcxtrace-comps/contrib/Laue_crystal_BC.md new file mode 100644 index 0000000000..a984dc37d7 --- /dev/null +++ b/mcxtrace-comps/contrib/Laue_crystal_BC.md @@ -0,0 +1,76 @@ +# The `Laue_crystal_BC` Component + +*McXtrace: Perfect, Laue crystal with common cubic structures (diamond, fcc, or bcc, and others if symmetry form factor multipliers provided explicitly)* + +## Identification + +- **Site:** +- **Author:** Marcus H Mendenhall, NIST +- **Origin:** NIST +- **Date:** June, 2017 + +## Description + +```text +NIST_Laue_crystal_BC.comp is written by Marcus H. Mendenhall, NIST, Gaithersburg, MD, USA +It is based on the full vector math and exact solution of the dispersion relation in +Batterman and Cole, Reviews of Modern Physics 36 number 3, page 681, July 1964 +Perfect crystal with common cubic structures (diamond, fcc, or bcc, and others if symmetry form factor multipliers provided explicitly) + +Reads atomic form factors from a data input file. +The Laue_Crystal code reflects rays in an ideal geometry, does not include surface imperfections or mosaicity. + +The crystal is positioned such that the long axis of the crystal surface coincides with +z-axis and the outer normal to the crystal surface is along +y. + +The ratio of the transmitted beam and forward-diffracted Borrman-effect beam is a hack. The sum of the +two is exactly right, but the actual ratio depends critically on geometry, and I just put in a wild estimate +to allow one to demonstrate what the Borrmann effect looks like. If this is turned on, the displacement of the +transmitted beam and forward diffracted beam at the back side of the crystal will be correctly computed. +This displacement is only exact for symmetrical Laue; asymmetrical computation requires more effort, +and is probably not worth it. +The sampling of these processes are controlled by the 3 variables transmission_sampling, forward_diffraction_sampling, +and Laue_sampling. Since 99% of uses of this will have the transmitted beam turned off, and use Laue diffraction mode, +the values should be just 0,0,1. If the general behavior of the transmitted beams +is interesting, use 1,1,1 which samples all beams equally. Results weights are adjusted for this, +so computed intensities won't be affected. + +Non-copyright notice: +Contributed by the National Institute of Standards and Technology; not subject to copyright in the United States. +This is not an official contribution, in that the results are in no way certified by NIST. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| length | m | zdepth (length) of the crystal. | 0.05 | +| width | m | width of the crystal. | 0.02 | +| thickness | m | thickness of crystal (along y-axis, the surface normal) | 1e-4 | +| V | AA^3 | unit cell volume | 160.1826 | +| form_factors | | "FormFactors.txt" from McXtrace install, usually | "FormFactors.txt" | +| material | | Si ("Si.txt"), Ge ("Ge.txt") | "Si.txt" | +| alphax | | x component of normal (unit vector) to crystal planes. Vector is usually [0,0,1] for symmetric Laue. Crystal surface itself has normal [0,1,0]. | 0.0 | +| alphay | | y component of normal (unit vector) to crystal planes. | 0.0 | +| alphaz | | z component of normal (unit vector) to crystal planes. | 1.0 | +| debye_waller_B | AA^2 | Debye-Waller temperature factor, M=B*(sin(theta)/lambda)^2*(2/3), default=silicon at room temp, 0.4632 | 0.4632 | +| crystal_type | | 1 => Mx_crystal_explicit: provide explicit real and imaginary form factor multipliers structure_factor_scale_r, structure_factor_scale_i, | 1 | +| h | | 1st Miller index of reflection | 1 | +| k | | 2nd Miller index of reflection | 1 | +| l | | 3rd Miller index of reflection | 1 | +| structure_factor_scale_r | | real part of complex explicit override of structure factor multiplier for crystal structure if Bragg_crystal_explicit | 0.0 | +| structure_factor_scale_i | | imaginary part of complex explicit override of structure factor multiplier for crystal structure if Bragg_crystal_explicit | 0.0 | +| transmission_sampling | | enable sampling of transmission diffraction mode. | 1.0 | +| forward_diffraction_sampling | | enable sampling of forward diffraftion mode. | 1.0 | +| laue_sampling | | enable sampling of Laue diffraction mode. | 1.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/Laue_crystal_BC.comp) for `Laue_crystal_BC.comp`. +- material datafile obtained from http://physics.nist.gov/cgi-bin/ffast/ffast.pl + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/Mirror_toroid_pothole.md b/mcxtrace-comps/contrib/Mirror_toroid_pothole.md new file mode 100644 index 0000000000..366ce12bec --- /dev/null +++ b/mcxtrace-comps/contrib/Mirror_toroid_pothole.md @@ -0,0 +1,45 @@ +# The `Mirror_toroid_pothole` Component + +*McXtrace: Toroidal shape mirror (in XZ)* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Jul 2016 + +## Description + +```text +This is an implementation of a toroidal mirror which may be curved in two dimensions. +To avoid solving quartic equations, the intersection is computed as a combination of +two intersections. First, the ray is intersected with a cylinder to catch (almost) the small +radius curvature. Secondly, the ray is the intersected with an ellipsoid, with the curvatures +matching that of the torus. + +The first incarnation (Mirror_toroid.comp) the mirror curves outwards (a bump), but this incarnation (Mirror_toroid_pothole) curves inwards (a pothole). + +Example: Mirror_toroid_pothole( radius=0.1, radius_o=1000, xwidth=5e-2, zdepth=2e-1,R0=1, coating="") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| zdepth | m | Length of mirror. | 0.1 | +| xwidth | m | Width of mirror. | 0.01 | +| **radius** | m | Curvature radius | | +| **radius_o** | m | Curvature radius, outwards | | +| R0 | 1 | Reflectivity of mirror. | 0 | +| coating | str | Datafile containing either mirror material constants or reflectivity numbers. | "" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/Mirror_toroid_pothole.comp) for `Mirror_toroid_pothole.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/PSD_monitor_rad.md b/mcxtrace-comps/contrib/PSD_monitor_rad.md new file mode 100644 index 0000000000..efc977c305 --- /dev/null +++ b/mcxtrace-comps/contrib/PSD_monitor_rad.md @@ -0,0 +1,40 @@ +# The `PSD_monitor_rad` Component + +*McXtrace: Position-sensitive monitor with radially averaging.* + +## Identification + +- **Site:** +- **Author:** Henrich Frielinghaus +- **Origin:** FZ-Juelich/FRJ-2/IFF/KWS-2 +- **Date:** Sept 2004 + +## Description + +```text +Radial monitor that allows for radial averaging. +Comment: The intensity is given as two files: +1) a radial sum +2) a radial average (i.e. intensity per area) + +Example: PSD_monitor_rad(rmax=0.2, nr=100, filename="Output.psd", filename_av="Output_av.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nr | 1 | Number of concentric circles | 100 | +| filename | text | Name of file in which to store the detector image | 0 | +| filename_av | text | Name of file in which to store the averaged detector image | 0 | +| rmax | m | Outer radius of detector | 0.2 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/PSD_monitor_rad.comp) for `PSD_monitor_rad.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/SAXSCurve.md b/mcxtrace-comps/contrib/SAXSCurve.md new file mode 100644 index 0000000000..d3fce008db --- /dev/null +++ b/mcxtrace-comps/contrib/SAXSCurve.md @@ -0,0 +1,44 @@ +# The `SAXSCurve` Component + +*McXtrace: A component mimicking the scattering from a given I(q)-curve by using +linear interpolation between the given points.* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** May 2, 2012 + +## Description + +```text +A box-shaped component simulating the scattering from any given I(q)-curve. +The component uses linear interpolation to generate the points necessary to +compute the scattering of any given photon. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| DeltaRho | cm/AA^3 | Excess scattering length density of the particles. | 1.0e-14 | +| Volume | AA^3 | Volume of the particles. | 10000.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered x-rays). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered x-rays). | | +| FileWithCurve | str | Datafile with the given I(q). | "Curve.dat" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/SAXSCurve.comp) for `SAXSCurve.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/SAXSCylinders.md b/mcxtrace-comps/contrib/SAXSCylinders.md new file mode 100644 index 0000000000..e88a2b594d --- /dev/null +++ b/mcxtrace-comps/contrib/SAXSCylinders.md @@ -0,0 +1,44 @@ +# The `SAXSCylinders` Component + +*McXtrace: A sample of monodisperse cylindrical particles in solution.* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** May 2, 2012 + +## Description + +```text +A component simulating the scattering from a box-shaped, thin solution +of monodisperse, cylindrical particles. + +Example: SAXSCylinders( xwidth = 0.01, yheight = 0.01, zdepth = 0.01, SampleToDetectorDistance = 0.48, DetectorRadius = 0.1 ) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| R | AA | Semiaxis of the cross section of the cylinder. | 40.0 | +| Height | AA | Height of the cylinder. | 100.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| DeltaRho | cm/AA^3 | Excess scattering length density of the particles. | 1.0e-14 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered x-rays). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered x-rays). | | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/SAXSCylinders.comp) for `SAXSCylinders.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/SAXSEllipticCylinders.md b/mcxtrace-comps/contrib/SAXSEllipticCylinders.md new file mode 100644 index 0000000000..1bfa736aa7 --- /dev/null +++ b/mcxtrace-comps/contrib/SAXSEllipticCylinders.md @@ -0,0 +1,46 @@ +# The `SAXSEllipticCylinders` Component + +*McXtrace: A sample of monodisperse cylindrical particles with elliptic cross section in +solution.* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** May 2, 2012 + +## Description + +```text +A component simulating the scattering from a box-shaped, thin solution +of monodisperse, cylindrical particles with elliptic cross section. + +Example: SAXSEllipticCylinders( xwidth = 0.01, yheight = 0.01, zdepth = 0.01, SampleToDetectorDistance = 0.48, DetectorRadius = 0.1 ) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| R1 | AA | First semiaxis of the cross section of the elliptic cylinder. | 20.0 | +| R2 | AA | Second semiaxis of the cross section of the elliptic cylinder. | 40.0 | +| Height | AA | Height of the cylinder. | 100.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| DeltaRho | cm/AA^3 | Excess scattering length density of the particles. | 1.0e-14 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered x-rays). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered x-rays). | | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/SAXSEllipticCylinders.comp) for `SAXSEllipticCylinders.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/SAXSLiposomes.md b/mcxtrace-comps/contrib/SAXSLiposomes.md new file mode 100644 index 0000000000..f4dac73e21 --- /dev/null +++ b/mcxtrace-comps/contrib/SAXSLiposomes.md @@ -0,0 +1,51 @@ +# The `SAXSLiposomes` Component + +*McXtrace: A sample of polydisperse liposomes in solution (water).* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** May 2, 2012 + +## Description + +```text +A component simulating the scattering from a box-shaped, thin solution (water) +of liposomes described by a pentuple-shell model. + +Example: SAXSLiposomes( xwidth = 0.01, yheight = 0.01, zdepth = 0.01, SampleToDetectorDistance = 0.48, DetectorRadius = 0.1 ) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Radius | AA | Average thickness of the liposomes. | 800.0 | +| Thickness | AA | Thickness of the bilayer. | 38.89 | +| SigmaRadius | | Relative Gaussian deviation of the radius in the distribution of liposomes. | 0.20 | +| nRadius | | Number of bins in Radius for polydisperse distribution. | 100 | +| VolumeOfHeadgroup | AA^3 | Volume of one lipid headgroup - default is POPC. | 319.0 | +| VolumeOfCH2Tail | AA^3 | Volume of the CH2-chains of one lipid - default is POPC. | 818.8 | +| VolumeOfCH3Tail | AA^3 | Volume of the CH3-tails of one lipid - default is POPC. | 108.6 | +| ScatteringLengthOfHeadgroup | cm | Scattering length of one lipid headgroup - default is POPC. | 4.62E-11 | +| ScatteringLengthOfCH2Tail | cm | Scattering length of the CH2-chains of one lipid - default is POPC. | 6.71E-11 | +| ScatteringLengthOfCH3Tail | cm | Scattering length of the CH3-tails of one lipid - default is POPC. | 5.08E-12 | +| Concentration | mM | Concentration of sample. | 0.01 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered x-rays). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered x-rays). | | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/SAXSLiposomes.comp) for `SAXSLiposomes.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/SAXSNanodiscs.md b/mcxtrace-comps/contrib/SAXSNanodiscs.md new file mode 100644 index 0000000000..5e3adff449 --- /dev/null +++ b/mcxtrace-comps/contrib/SAXSNanodiscs.md @@ -0,0 +1,54 @@ +# The `SAXSNanodiscs` Component + +*McXtrace: A sample of monodisperse phospholipid bilayer nanodiscs in solution (water).* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** May 2, 2012 + +## Description + +```text +A component simulating the scattering from a box-shaped, thin solution (water) +of monodisperse phospholipid bilayer nanodiscs. + +Example: SAXSNanodiscs( xwidth = 0.01, yheight = 0.01, zdepth = 0.01, SampleToDetectorDistance = 0.48, DetectorRadius = 0.1 ) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| AxisRatio | | Axis ratio of the bilayer patch. | 1.4 | +| NumberOfLipids | | Number of lipids per nanodisc. | 130.0 | +| AreaPerLipidHeadgroup | AA^2 | Area per lipid headgroup - default is POPC. | 65.0 | +| HeightOfMSP | AA | Height of the belt protein - default is MSP1D1. | 24.0 | +| VolumeOfOneMSP | AA^3 | Volume of one belt protein - default is MSP1D1. | 26296.5 | +| VolumeOfHeadgroup | AA^3 | Volume of one lipid headgroup - default is POPC. | 319.0 | +| VolumeOfCH2Tail | AA^3 | Volume of the CH2-chains of one lipid - default is POPC. | 818.8 | +| VolumeOfCH3Tail | AA^3 | Volume of the CH3-tails of one lipid - default is POPC. | 108.6 | +| ScatteringLengthOfOneMSP | cm | Scattering length of one belt protein - default is MSP1D1. | 3.34E-9 | +| ScatteringLengthOfHeadgroup | cm | Scattering length of one lipid headgroup - default is POPC. | 4.62E-11 | +| ScatteringLengthOfCH2Tail | cm | Scattering length of the CH2-chains of one lipid - default is POPC. | 6.71E-11 | +| ScatteringLengthOfCH3Tail | cm | Scattering length of the CH3-tails of one lipid - default is POPC. | 5.08E-12 | +| Roughness | | Factor used to smear the interfaces of the nanodisc. | 3.5 | +| Concentration | mM | Concentration of sample. | 0.01 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered x-rays). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered x-rays). | | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/SAXSNanodiscs.comp) for `SAXSNanodiscs.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/SAXSNanodiscsFast.md b/mcxtrace-comps/contrib/SAXSNanodiscsFast.md new file mode 100644 index 0000000000..bcf2e95d82 --- /dev/null +++ b/mcxtrace-comps/contrib/SAXSNanodiscsFast.md @@ -0,0 +1,60 @@ +# The `SAXSNanodiscsFast` Component + +*McXtrace: Release: McXtrace 1.0 + +A sample of monodisperse phospholipid bilayer nanodiscs in solution (water).* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** May 2, 2012 + +## Description + +```text +A component very similar to SAXSNanodiscs.comp - however, the scattering +profile is only computed once, and linear interpolation is then used to +simulate the instrument. + +Example: SAXSNanodiscsFast( xwidth = 0.01, yheight = 0.01, zdepth = 0.01, SampleToDetectorDistance = 0.48, DetectorRadius = 0.1 ) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| AxisRatio | | Axis ratio of the bilayer patch. | 1.4 | +| NumberOfLipids | | Number of lipids per nanodisc. | 130.0 | +| AreaPerLipidHeadgroup | AA^2 | Area per lipid headgroup - default is POPC. | 65.0 | +| HeightOfMSP | AA | Height of the belt protein - default is MSP1D1. | 24.0 | +| VolumeOfOneMSP | AA^3 | Volume of one belt protein - default is MSP1D1. | 26296.5 | +| VolumeOfHeadgroup | AA^3 | Volume of one lipid headgroup - default is POPC. | 319.0 | +| VolumeOfCH2Tail | AA^3 | Volume of the CH2-chains of one lipid - default is POPC. | 818.8 | +| VolumeOfCH3Tail | AA^3 | Volume of the CH3-tails of one lipid - default is POPC. | 108.6 | +| ScatteringLengthOfOneMSP | cm | Scattering length of one belt protein - default is MSP1D1. | 3.34E-9 | +| ScatteringLengthOfHeadgroup | cm | Scattering length of one lipid headgroup - default is POPC. | 4.62E-11 | +| ScatteringLengthOfCH2Tail | cm | Scattering length of the CH2-chains of one lipid - default is POPC. | 6.71E-11 | +| ScatteringLengthOfCH3Tail | cm | Scattering length of the CH3-tails of one lipid - default is POPC. | 5.08E-12 | +| Roughness | | Factor used to smear the interfaces of the nanodisc. | 3.5 | +| Concentration | mM | Concentration of sample. | 0.01 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered x-rays). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered x-rays). | | +| qMin | AA^-1 | Lowest q-value, for which a point is generated in the scattering profile | 0.001 | +| qMax | AA^-1 | Highest q-value, for which a point is generated in the scattering profile | 1.0 | +| NumberOfQBins | | Number of points generated in inital scattering profile. | 200 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/SAXSNanodiscsFast.comp) for `SAXSNanodiscsFast.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/SAXSNanodiscsWithTags.md b/mcxtrace-comps/contrib/SAXSNanodiscsWithTags.md new file mode 100644 index 0000000000..8d79df3228 --- /dev/null +++ b/mcxtrace-comps/contrib/SAXSNanodiscsWithTags.md @@ -0,0 +1,59 @@ +# The `SAXSNanodiscsWithTags` Component + +*McXtrace: A sample of monodisperse phospholipid bilayer nanodiscs in solution (water) - with +histidine tag still on the belt proteins.* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** May 2, 2012 + +## Description + +```text +A component simulating the scattering from a box-shaped, thin solution (water) +of monodisperse phospholipid bilayer nanodiscs - with histidine tags still +on the belt proteins. + +Example: SAXSNanodiscsWithTags( xwidth = 0.01, yheight = 0.01, zdepth = 0.01, SampleToDetectorDistance = 0.48, DetectorRadius = 0.1 ) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| AxisRatio | | Axis ratio of the bilayer patch. | 1.4 | +| NumberOfLipids | | Number of lipids per nanodisc. | 130.0 | +| AreaPerLipidHeadgroup | AA^2 | Area per lipid headgroup - default is POPC. | 65.0 | +| HeightOfMSP | AA | Height of the belt protein - default is MSP1D1. | 24.0 | +| RadiusOfGyrationForHisTag | AA | Radius of gyration for the his-tag. | 10.0 | +| VolumeOfOneMSP | AA^3 | Volume of one belt protein - default is MSP1D1. | 26296.5 | +| VolumeOfHeadgroup | AA^3 | Volume of one lipid headgroup - default is POPC. | 319.0 | +| VolumeOfCH2Tail | AA^3 | Volume of the CH2-chains of one lipid - default is POPC. | 818.8 | +| VolumeOfCH3Tail | AA^3 | Volume of the CH3-tails of one lipid - default is POPC. | 108.6 | +| VolumeOfOneHisTag | AA^3 | Volume of one his-tag. | 2987.3 | +| ScatteringLengthOfOneMSP | cm | Scattering length of one belt protein - default is MSP1D1. | 3.34E-9 | +| ScatteringLengthOfHeadgroup | cm | Scattering length of one lipid headgroup - default is POPC. | 4.62E-11 | +| ScatteringLengthOfCH2Tail | cm | Scattering length of the CH2-chains of one lipid - default is POPC. | 6.71E-11 | +| ScatteringLengthOfCH3Tail | cm | Scattering length of the CH3-tails of one lipid - default is POPC. | 5.08E-12 | +| ScatteringLengthOfOneHisTag | | | 3.89E-10 | +| Roughness | | Factor used to smear the interfaces of the nanodisc. | 3.5 | +| Concentration | mM | Concentration of sample. | 0.01 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered x-rays). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered x-rays). | | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/SAXSNanodiscsWithTags.comp) for `SAXSNanodiscsWithTags.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/SAXSNanodiscsWithTagsFast.md b/mcxtrace-comps/contrib/SAXSNanodiscsWithTagsFast.md new file mode 100644 index 0000000000..1f8bd28f3f --- /dev/null +++ b/mcxtrace-comps/contrib/SAXSNanodiscsWithTagsFast.md @@ -0,0 +1,64 @@ +# The `SAXSNanodiscsWithTagsFast` Component + +*McXtrace: Release: McXtrace 1.0 + +A sample of monodisperse phospholipid bilayer nanodiscs in solution (water) - with +histidine tag still on the belt proteins.* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** May 2, 2012 + +## Description + +```text +A component very similar to SAXSNanodiscsWithTags.comp - however, the +scattering profile is only computed once, and linear interpolation is then used +to simulate the instrument. + +Example: SAXSNanodiscsWithTagsFast( xwidth = 0.01, yheight = 0.01, zdepth = 0.01, SampleToDetectorDistance = 0.48, DetectorRadius = 0.1 ) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| AxisRatio | | Axis ratio of the bilayer patch. | 1.4 | +| NumberOfLipids | | Number of lipids per nanodisc. | 130.0 | +| AreaPerLipidHeadgroup | AA^2 | Area per lipid headgroup - default is POPC. | 65.0 | +| HeightOfMSP | AA | Height of the belt protein - default is MSP1D1. | 24.0 | +| RadiusOfGyrationForHisTag | AA | Radius of gyration for the his-tag. | 12.7 | +| VolumeOfOneMSP | AA^3 | Volume of one belt protein - default is MSP1D1. | 26296.5 | +| VolumeOfHeadgroup | AA^3 | Volume of one lipid headgroup - default is POPC. | 319.0 | +| VolumeOfCH2Tail | AA^3 | Volume of the CH2-chains of one lipid - default is POPC. | 818.8 | +| VolumeOfCH3Tail | AA^3 | Volume of the CH3-tails of one lipid - default is POPC. | 108.6 | +| VolumeOfOneHisTag | AA^3 | Volume of one his-tag. | 2987.3 | +| ScatteringLengthOfOneMSP | cm | Scattering length of one belt protein - default is MSP1D1. | 3.34E-9 | +| ScatteringLengthOfHeadgroup | cm | Scattering length of one lipid headgroup - default is POPC. | 4.62E-11 | +| ScatteringLengthOfCH2Tail | cm | Scattering length of the CH2-chains of one lipid - default is POPC. | 6.71E-11 | +| ScatteringLengthOfCH3Tail | cm | Scattering length of the CH3-tails of one lipid - default is POPC. | 5.08E-12 | +| ScatteringLengthOfOneHisTag | cm | Scattering length of one histidine tag. | 3.89E-10 | +| Roughness | | Factor used to smear the interfaces of the nanodisc. | 3.5 | +| Concentration | mM | Concentration of sample. | 0.01 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered x-rays). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered x-rays). | | +| qMin | AA^-1 | Lowest q-value, for which a point is generated in the scattering profile | 0.001 | +| qMax | AA^-1 | Highest q-value, for which a point is generated in the scattering profile | 1.0 | +| NumberOfQBins | | Number of points generated in inital scattering profile. | 200 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/SAXSNanodiscsWithTagsFast.comp) for `SAXSNanodiscsWithTagsFast.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/SAXSPDB.md b/mcxtrace-comps/contrib/SAXSPDB.md new file mode 100644 index 0000000000..46eb3c586f --- /dev/null +++ b/mcxtrace-comps/contrib/SAXSPDB.md @@ -0,0 +1,49 @@ +# The `SAXSPDB` Component + +*McXtrace: Release: McXtrace 1.0 + +A sample describing a thin solution of proteins. This components must be compiled +with the -lgsl and -lgslcblas flags (and possibly linked to the appropriate +libraries).* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) and Søren Kynde (kynde@nbi.dk) +- **Origin:** KU-Science +- **Date:** May 2, 2012 + +## Description + +```text +This components expands the formfactor amplitude of the protein on spherical +harmonics and computes the scattering profile using these. The expansion is +done on amino-acid level and does not take hydration layer into account. +The component must have a valid .pdb-file as an argument. + +This component is very slow. You should rather use the SAXSPDBFast sample component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| RhoSolvent | AA | Scattering length density of the buffer. | 9.4e-14 | +| Concentration | mM | Concentration of sample. | 0.01 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered x-rays). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered x-rays). | | +| PDBFilepath | | Path to the file describing the high resolution structure of the protein. | "PDBfile.pdb" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/SAXSPDB.comp) for `SAXSPDB.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/SAXSPDBFast.md b/mcxtrace-comps/contrib/SAXSPDBFast.md new file mode 100644 index 0000000000..fc0dd6aa79 --- /dev/null +++ b/mcxtrace-comps/contrib/SAXSPDBFast.md @@ -0,0 +1,52 @@ +# The `SAXSPDBFast` Component + +*McXtrace: Release: McXtrace 1.0 + +A sample describing a thin solution of proteins using linear interpolation +to increase computational speed. This components must be compiled with the +-lgsl and -lgslcblas flags (and possibly linked to the appropriate libraries).* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) and Søren Kynde (kynde@nbi.dk) +- **Origin:** KU-Science +- **Date:** May 2, 2012 + +## Description + +```text +This components expands the formfactor amplitude of the protein on spherical +harmonics and computes the scattering profile using these. The expansion is +done on amino-acid level and does not take hydration layer into account. +The component must have a valid .pdb-file as an argument. + +This is fast implementation of the SAXSPDB sample component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| RhoSolvent | AA | Scattering length density of the buffer. | 9.4e-14 | +| Concentration | mM | Concentration of sample. | 0.01 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered x-rays). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered x-rays). | | +| qMin | AA^-1 | Lowest q-value, for which a point is generated in the scattering profile | 0.001 | +| qMax | AA^-1 | Highest q-value, for which a point is generated in the scattering profile | 0.5 | +| NumberOfQBins | | Number of points generated in inital scattering profile. | 200 | +| PDBFilepath | | Path to the file describing the high resolution structure of the protein. | "PDBfile.pdb" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/SAXSPDBFast.comp) for `SAXSPDBFast.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/SAXSQMonitor.md b/mcxtrace-comps/contrib/SAXSQMonitor.md new file mode 100644 index 0000000000..0bdff80488 --- /dev/null +++ b/mcxtrace-comps/contrib/SAXSQMonitor.md @@ -0,0 +1,48 @@ +# The `SAXSQMonitor` Component + +*McXtrace: Release: McXtrace 1.0 + +A circular detector measuring the radial average of intensity as a function +of the momentum transform in the sample.* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** May 2, 2012 + +## Description + +```text +A circular detector measuring the radial average of intensity as a function +of the momentum transform in the sample. The q-range is set up to +qMax = 4 * PI * sin(TwoThetaMax / 2.0) / LambdaMin; + +Example: SAXSQMonitor( RadiusDetector = 0.1, DistanceFromSample = 0.5, LambdaMin = 1, Lambda0 = 1.54, NumberOfBins = 2000 ) +Example: SAXSQMonitor( RadiusDetector = 0.1, qMax = 5, Lambda0 = 1.54, NumberOfBins = 2000 ) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| RFilename | str | File used for storing I(r). | "RDetector" | +| qFilename | str | File used for storing I(q). | "QDetector" | +| NumberOfBins | 1 | Number of bins in the r (and q). | 100 | +| restore_xray | | If set to 1, the component restores the original x-ray. | 0 | +| **RadiusDetector** | m | Radius of the detector (in the xy-plane). | | +| **DistanceFromSample** | m | Distance from the sample to this component. | | +| LambdaMin | AA | Max sensitivity in lambda - used to compute the highest possible value of momentum transfer, q. | 1.0 | +| Lambda0 | Angs | If given, the momentum transfers of all rays are computed from this value. Otherwise, instrumental effects are negated Lambda0=2PI/k. | 0.0 | +| qMax | Angs-1 | Max momentum for the Q-monitor. use either qMax or LambdaMin. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/SAXSQMonitor.comp) for `SAXSQMonitor.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/SAXSShells.md b/mcxtrace-comps/contrib/SAXSShells.md new file mode 100644 index 0000000000..a6cf2862dc --- /dev/null +++ b/mcxtrace-comps/contrib/SAXSShells.md @@ -0,0 +1,46 @@ +# The `SAXSShells` Component + +*McXtrace: Release: McXtrace 1.0 + +A sample of monodisperse shell-like particles in solution.* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** May 11, 2012 + +## Description + +```text +A simple component simulating the scattering from a box-shaped, thin solution +of monodisperse, shell-like particles. + +Example: Sample1 = SAXSShells( xwidth = 0.01, yheight = 0.01, zdepth = 0.01, SampleToDetectorDistance = 0.5, DetectorRadius = 0.1, R = 50.0, Thickness = 20.0 ) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| R | AA | Average radius of the particles. | 100.0 | +| Thickness | AA | Thickness of the shell - so that the outer radius is R + Thickness and the inner is R - Thickness. | 5.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| DeltaRho | cm/AA^3 | Excess scattering length density of the particles. | 1.0e-14 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered x-rays). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered x-rays). | | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/SAXSShells.comp) for `SAXSShells.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/contrib/SAXSSpheres.md b/mcxtrace-comps/contrib/SAXSSpheres.md new file mode 100644 index 0000000000..5adc30fa30 --- /dev/null +++ b/mcxtrace-comps/contrib/SAXSSpheres.md @@ -0,0 +1,43 @@ +# The `SAXSSpheres` Component + +*McXtrace: A sample of monodisperse spherical particles in solution.* + +## Identification + +- **Site:** +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** May 2, 2012 + +## Description + +```text +A simple component simulating the scattering from a box-shaped, thin solution +of monodisperse, spherical particles. + +Example: SAXSSpheres( xwidth = 0.01, yheight = 0.01, zdepth = 0.01, R = 50.0, SampleToDetectorDistance = 0.5, DetectorRadius = 0.1 ) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| R | AA | Radius of the spherical particles. | 100.0 | +| Concentration | mM | Concentration of sample. | 0.01 | +| DeltaRho | cm/AA^3 | Excess scattering length density of the particles. | 1.0e-14 | +| AbsorptionCrosssection | 1/m | Absorption cross section of the sample. | 0.0 | +| **xwidth** | m | Dimension of component in the x-direction. | | +| **yheight** | m | Dimension of component in the y-direction. | | +| **zdepth** | m | Dimension of component in the z-direction. | | +| **SampleToDetectorDistance** | m | Distance from sample to detector (for focusing the scattered x-rays). | | +| **DetectorRadius** | m | Radius of the detector (for focusing the scattered x-rays). | | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/contrib/SAXSSpheres.comp) for `SAXSSpheres.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1mm/ATHENA_1mm.md b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1mm/ATHENA_1mm.md new file mode 100644 index 0000000000..253f3dfb0c --- /dev/null +++ b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1mm/ATHENA_1mm.md @@ -0,0 +1,85 @@ +# The `ATHENA_1mm` Instrument + +*McXtrace: Single pore version of the ATHENA SPO-optic in use as telescope.* + +## Identification + +- **Site:** AstroX_ESA +- **Author:** Erik B Knudsen & Desiree D. M. Ferreira (email) +- **Origin:** DTU Physics/DTU Space +- **Date:** 12/12/2016 + +## Description + +```text +A model of the ATHENA-telescope using just a single mirror module as optical element. That means to make use of this instrument +it is necessary to run a series of simulation while varying the input parameter porenumber. +At present, the porenumber really means mirror module number. + +The model needs as input two files positionfile and geomfile, which contain (in ascii) tabled details about the positions of mirror +modules and their geometry. +The data in the position file is assumed to be columnar with the following format: +#index row X/m Y/m R/m alpha/deg. +... + +index: a running number identifying the mirror module within a petal. +row: the a running number for which row (ring) this mirror module belongs to (n.b. this is used as an index inot the geomfile). +X: The x-coordinate of the mirror module (ignored because redundant with R,alpha) +Y: The y-coordinate of the mirror module (ignored because redundant with R,alpha) +R: The radial position of the mirror module +alpha: The angular position of the mirror module + +Similarly the format of the geomfile is: +#row L/m rad_h/m rad_m/m rad_p/m width/m +... +row: running index for the rows/rings +L: The length of the plates for this ring +rad_h: The radius at the "hyperbolic" end of the optic. At the detector end. +rad_m: The radius at the midpoint of the optic. This is the reference. +rad_p: The radius at the "parabolic" and of the optic. At the source end. +width: pore width ? + +Example: ATHENA_1mm.instr porenumber=3 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| FL | m | The focal length of the optical system | 12 | +| optics_dist | m | The distance between souce and optic. In space this would be quite large :-). | 10 | +| SRC_POS_X | m | Displacement of source along X | 0 | +| SRC_POS_Y | m | Displacement of source along Y | 0 | +| offaxis_angle | arcmin | Angle of collimated light from source | 0 | +| dPx | m | Offset/displacement of parabolic pore along x from its theoretical position. | 0 | +| dPy | m | Offset/displacement of parabolic pore along y from its theoretical position. | 0 | +| dPz | m | Offset/displacement of parabolic pore along z from its theoretical position. | 0 | +| dPrx | arcsec | Rotational misalignment of parabolic pore around x. | 0 | +| dPry | arcsec | Rotational misalignment of parabolic pore around y. | 0 | +| dPrz | arcsec | Rotational misalignment of parabolic pore around z. | 0 | +| dHx | m | Offset/displacement of hyperbolic pore along x from its theoretical position. | 0 | +| dHy | m | Offset/displacement of hyperbolic pore along y from its theoretical position. | 0 | +| dHz | m | Offset/displacement of hyperbolic pore along z from its theoretical position. | 0 | +| dHrx | arcsec | Rotational misalignment of hyperbolic pore around x. | 0 | +| dHry | arcsec | Rotational misalignment of hyperbolic pore around y. | 0 | +| dHrz | arcsec | Rotational misalignment of hyperbolic pore around z. | 0 | +| reflectivity | | Data file containing reflectivities (such as from IMD) | "mirror_coating_unity.txt" | +| E0 | keV | Central energy of X-rays | 5 | +| dE | keV | Half spread of energy spectrum to be emitted from source | 0.001 | +| porenumber | | Actually the mirror module number. | 1 | +| ringfile | | File which contains deatiled plate descriptions. | "ref_design_breaks.txt" | +| positionfile | | File containing the pore/mirror module positions. | "ATHENA_mm_1petal.dat" | +| geomfile | | File which contains the geometry of the pores (i.e. radii,lengths) | "ATHENA_rings_1_20.dat" | +| Hyper | | If non-zero the secondary mirror (hyperbolic) is active. Useful for debugging. | 1 | +| Para | | If non-zero the primary mirror is acive (parabolic) is active. Useful for debugging. | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1mm/ATHENA_1mm.instr) for `ATHENA_1mm.instr`. +- The ATHENA web pages @ ESA + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1pore/ATHENA_1pore.md b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1pore/ATHENA_1pore.md new file mode 100644 index 0000000000..02fd98de15 --- /dev/null +++ b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1pore/ATHENA_1pore.md @@ -0,0 +1,85 @@ +# The `ATHENA_1pore` Instrument + +*McXtrace: Single pore version of the ATHENA SPO-optic in use as telescope.* + +## Identification + +- **Site:** AstroX_ESA +- **Author:** Erik B Knudsen & Desiree D. M. Ferreira (email) +- **Origin:** DTU Physics/DTU Space +- **Date:** 12/12/2016 + +## Description + +```text +A model of the ATHENA-telescope using just a single pore as optical element. That means to make use of this instrument +it is necessary to run a series of simulation while varying the input parameter porenumber. +At present, the porenumber really means mirror module number, and only the central pore is used to be representative +module. + +The model needs as input two files positionfile and geomfile, which contain (in ascii) tabled details about the positions of mirror +modules and their geometry. +The data in the position file is assumed to be columnar with the following format: +#index row X/m Y/m R/m alpha/deg. +... + +index: a running number identifying the mirror module within a petal. +row: the a running number for which row (ring) this mirror module belongs to (n.b. this is used as an index inot the geomfile). +X: The x-coordinate of the mirror module (ignored because redundant with R,alpha) +Y: The y-coordinate of the mirror module (ignored because redundant with R,alpha) +R: The radial position of the mirror module +alpha: The angular position of the mirror module + +Similarly the format of the geomfile is: +#row L/m rad_h/m rad_m/m rad_p/m width/m +... +row: running index for the rows/rings +L: The length of the plates for this ring +rad_h: The radius at the "hyperbolic" end of the optic. At the detector end. +rad_m: The radius at the midpoint of the optic. This is the reference. +rad_p: The radius at the "parabolic" and of the optic. At the source end. +width: pore width ? + +Example: ATHENA_1pore.instr porenumber=3 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| FL | m | The focal length of the optical system | 12 | +| optics_dist | m | The distance between souce and optic. In space this would be quite large :-). | 10 | +| SRC_POS_X | m | Displacement of source along X | 0 | +| SRC_POS_Y | m | Displacement of source along Y | 0 | +| offaxis_angle | arcmin | Angle of collimated light from source | 0 | +| dPx | m | Offset/displacement of parabolic pore along x from its theoretical position. | 0 | +| dPy | m | Offset/displacement of parabolic pore along y from its theoretical position. | 0 | +| dPz | m | Offset/displacement of parabolic pore along z from its theoretical position. | 0 | +| dPrx | arcsec | Rotational misalignment of parabolic pore around x. | 0 | +| dPry | arcsec | Rotational misalignment of parabolic pore around y. | 0 | +| dPrz | arcsec | Rotational misalignment of parabolic pore around z. | 0 | +| dHx | m | Offset/displacement of hyperbolic pore along x from its theoretical position. | 0 | +| dHy | m | Offset/displacement of hyperbolic pore along y from its theoretical position. | 0 | +| dHz | m | Offset/displacement of hyperbolic pore along z from its theoretical position. | 0 | +| dHrx | arcsec | Rotational misalignment of hyperbolic pore around x. | 0 | +| dHry | arcsec | Rotational misalignment of hyperbolic pore around y. | 0 | +| dHrz | arcsec | Rotational misalignment of hyperbolic pore around z. | 0 | +| reflectivity | | Data file containing reflectivities (such as from IMD) | "mirror_coating_unity.txt" | +| E0 | keV | Central energy of X-rays | 5 | +| dE | keV | Half spread of energy spectrum to be emitted from source | 0.001 | +| porenumber | | Actually the mirror module number. | 1 | +| positionfile | | File containing the pore/mirror module positions. | "ATHENA_mm_1petal.dat" | +| geomfile | | File which contains the geometry of the pores (i.e. radii,lengths) | "ATHENA_rings_1_20.dat" | +| Hyper | | If non-zero the secondary mirror (hyperbolic) is active. Useful for debugging. | 1 | +| Para | | If non-zero the primary mirror is acive (parabolic) is active. Useful for debugging. | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1pore/ATHENA_1pore.instr) for `ATHENA_1pore.instr`. +- The ATHENA web pages @ ESA + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1ring/ATHENA_1ring.md b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1ring/ATHENA_1ring.md new file mode 100644 index 0000000000..af32d1373a --- /dev/null +++ b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1ring/ATHENA_1ring.md @@ -0,0 +1,58 @@ +# The `ATHENA_1ring` Instrument + +*McXtrace: Single pore version of the ATHENA SPO-optic in use as telescope.* + +## Identification + +- **Site:** AstroX_ESA +- **Author:** Erik B Knudsen & Desiree D. M. Ferreira (email) +- **Origin:** DTU Physics/DTU Space +- **Date:** 12/12/2016 + +## Description + +```text +A model of the ATHENA-telescope using a single ring as optical element. That means to make use of this instrument +it is necessary to run a series of simulation while varying the input parameter porenumber. +At present, the porenumber really means ring number. + +The model needs as input a file geomfile, which contains (in ascii) tabled details about the geometry of the shells. +The data in the geomfile is assumed to be in the format: +#row L/m rad_h/m rad_m/m rad_p/m width/m +... +row: running index for the rows/rings +L: The length of the plates for this ring +rad_h: The radius at the "hyperbolic" end of the optic. At the detector end. +rad_m: The radius at the midpoint of the optic. This is the reference. +rad_p: The radius at the "parabolic" and of the optic. At the source end. +width: pore width ? + +Example: ATHENA_1ring.instr shellnumber=3 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| FL | m | The focal length of the optical system | 12 | +| optics_dist | m | The distance between souce and optic. In space this would be quite large :-). | 10 | +| SRC_POS_X | m | Displacement of source along X | 0 | +| SRC_POS_Y | m | Displacement of source along Y | 0 | +| offaxis_angle | arcmin | Angle of collimated light from source | 0 | +| reflectivity | | Data file containing reflectivities (such as from IMD) | "mirror_coating_unity.txt" | +| E0 | keV | Central energy of X-rays | 5 | +| dE | keV | Half spread of energy spectrum to be emitted from source | 0.001 | +| shellnumber | | Actually the ring number. | 1 | +| ringfile | | File which contains details for the meta shells. | "ref_design_breaks.txt" | +| geomfile | | | "ATHENA_rings_1_20.dat" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1ring/ATHENA_1ring.instr) for `ATHENA_1ring.instr`. +- The ATHENA web pages @ ESA + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1sh_W1_OA/ATHENA_1sh_W1_OA.md b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1sh_W1_OA/ATHENA_1sh_W1_OA.md new file mode 100644 index 0000000000..aeb6f4c403 --- /dev/null +++ b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1sh_W1_OA/ATHENA_1sh_W1_OA.md @@ -0,0 +1,58 @@ +# The `ATHENA_1sh_W1_OA` Instrument + +*McXtrace: Single shell model of the ATHENA SPO-optic in use as telescope.* + +## Identification + +- **Site:** AstroX_ESA +- **Author:** Erik B Knudsen & Desiree D. M. Ferreira (email) +- **Origin:** DTU Physics/DTU Space +- **Date:** 12/12/2016 + +## Description + +```text +A model of the ATHENA-telescope using just a single shell as optical element. +That means to make use of this instrument +it is necessary to run a series of simulation while varying the input parameter shellnumber. + +The model needs as input a file geomfile, which contains (in ascii) tabled details about the geometry of the shells. +The data in the geomfile is assumed to be in the format: +#row L/m rad_h/m rad_m/m rad_p/m width/m +... +row: running index for the rows/rings +L: The length of the plates for this ring +rad_h: The radius at the "hyperbolic" end of the optic. At the detector end. +rad_m: The radius at the midpoint of the optic. This is the reference. +rad_p: The radius at the "parabolic" and of the optic. At the source end. + +Example: ATHENA_1sh_W1_OA.instr shellnumber=1 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| FL | m | The focal length of the optical system | 12 | +| optics_dist | m | The distance between souce and optic. In space this would be quite large :-). | 10 | +| XWidth | m | The width of the user detector default is that of the ATHENA WFI large area detector | 0.13312 | +| YHeight | m | The height of the user detector default is that of the ATHENA WFI large area detector | 0.13312 | +| NX | | Number of pixels along X in the user detector | 1024 | +| NY | | Number of pixels along Y in the user detector. | 1024 | +| offaxis_angle | arcmin | Angle of collimated light from source | 0 | +| reflectivity | | Data file containing reflectivities (such as from IMD) | "mirror_coating_unity.txt" | +| E0 | keV | Central energy of X-rays | 5 | +| dE | keV | Half spread of energy spectrum to be emitted from source | 0.001 | +| shellnumber | | The row number for the miror module. This defines the shell. | 1 | +| geomfile | | File which contains the geometry of the pores (i.e. radii,lengths) | "ATHENA_rings_1_20.dat" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1sh_W1_OA/ATHENA_1sh_W1_OA.instr) for `ATHENA_1sh_W1_OA.instr`. +- The ATHENA web pages @ ESA + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1sh_both/ATHENA_1sh_both.md b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1sh_both/ATHENA_1sh_both.md new file mode 100644 index 0000000000..adf263e940 --- /dev/null +++ b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1sh_both/ATHENA_1sh_both.md @@ -0,0 +1,59 @@ +# The `ATHENA_1sh_both` Instrument + +*McXtrace: Single shell model of the ATHENA SPO-optic in use as telescope.* + +## Identification + +- **Site:** AstroX_ESA +- **Author:** Erik B Knudsen & Desiree D. M. Ferreira (email) +- **Origin:** DTU Physics/DTU Space +- **Date:** 12/12/2016 + +## Description + +```text +A model of the ATHENA-telescope using just a single shell as optical element. +That means to make use of this instrument +it is necessary to run a series of simulation while varying the input parameter shellnumber. + +The model needs as input a file geomfile, which contains (in ascii) tabled details about the geometry of the shells. +The data in the geomfile is assumed to be in the format: +#row L/m rad_h/m rad_m/m rad_p/m width/m +... +row: running index for the rows/rings +L: The length of the plates for this ring +rad_h: The radius at the "hyperbolic" end of the optic. At the detector end. +rad_m: The radius at the midpoint of the optic. This is the reference. +rad_p: The radius at the "parabolic" and of the optic. At the source end. + +Example: ATHENA_1sh_both.instr shellnumber=1 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| FL | m | The focal length of the optical system | 12 | +| optics_dist | m | The distance between souce and optic. In space this would be quite large :-). | 10 | +| XWidth | m | The width of the user detector default is that of the ATHENA WFI large area detector | 0.13312 | +| YHeight | m | The height of the user detector default is that of the ATHENA WFI large area detector | 0.13312 | +| NX | | Number of pixels along X in the user detector | 1024 | +| NY | | Number of pixels along Y in the user detector. | 1024 | +| reflectivity | | Data file containing reflectivities (such as from IMD) | "mirror_coating_unity.txt" | +| E0 | keV | Central energy of X-rays | 5 | +| dE | keV | Half spread of energy spectrum to be emitted from source | 0.001 | +| shellnumber | | The row number for the miror module. This defines the shell. | 1 | +| geomfile | | File which contains the geometry of the pores (i.e. radii,lengths) | "ATHENA_rings_1_20.dat" | +| primParab | | | 1 | +| secHyper | | | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1sh_both/ATHENA_1sh_both.instr) for `ATHENA_1sh_both.instr`. +- The ATHENA web pages @ ESA + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1sh_conical/ATHENA_1sh_conical.md b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1sh_conical/ATHENA_1sh_conical.md new file mode 100644 index 0000000000..8a45da704d --- /dev/null +++ b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1sh_conical/ATHENA_1sh_conical.md @@ -0,0 +1,57 @@ +# The `ATHENA_1sh_conical` Instrument + +*McXtrace: Single shell model of the ATHENA SPO-optic in use as telescope.* + +## Identification + +- **Site:** AstroX_ESA +- **Author:** Erik B Knudsen & Desiree D. M. Ferreira (email) +- **Origin:** DTU Physics/DTU Space +- **Date:** 12/12/2016 + +## Description + +```text +A model of the ATHENA-telescope using just a single shell as optical element. +That means to make use of this instrument +it is necessary to run a series of simulation while varying the input parameter shellnumber. + +The model needs as input a file geomfile, which contains (in ascii) tabled details about the geometry of the shells. +The data in the geomfile is assumed to be in the format: +#row L/m rad_h/m rad_m/m rad_p/m width/m +... +row: running index for the rows/rings +L: The length of the plates for this ring +rad_h: The radius at the "hyperbolic" end of the optic. At the detector end. +rad_m: The radius at the midpoint of the optic. This is the reference. +rad_p: The radius at the "parabolic" and of the optic. At the source end. + +Example: ATHENA_1sh_conical.instr shellnumber=1 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| FL | m | The focal length of the optical system | 12 | +| optics_dist | m | The distance between souce and optic. In space this would be quite large :-). | 10 | +| XWidth | m | The width of the user detector default is that of the ATHENA WFI large area detector | 0.13312 | +| YHeight | m | The height of the user detector default is that of the ATHENA WFI large area detector | 0.13312 | +| NX | | Number of pixels along X in the user detector | 1024 | +| NY | | Number of pixels along Y in the user detector. | 1024 | +| reflectivity | | Data file containing reflectivities (such as from IMD) | "mirror_coating_unity.txt" | +| E0 | keV | Central energy of X-rays | 5 | +| dE | keV | Half spread of energy spectrum to be emitted from source | 0.001 | +| shellnumber | | The row number for the miror module. This defines the shell. | 1 | +| geomfile | | File which contains the geometry of the pores (i.e. radii,lengths) | "ATHENA_rings_1_20.dat" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1sh_conical/ATHENA_1sh_conical.instr) for `ATHENA_1sh_conical.instr`. +- The ATHENA web pages @ ESA + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1shell/ATHENA_1shell.md b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1shell/ATHENA_1shell.md new file mode 100644 index 0000000000..d80b057948 --- /dev/null +++ b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1shell/ATHENA_1shell.md @@ -0,0 +1,60 @@ +# The `ATHENA_1shell` Instrument + +*McXtrace: Single shell model of the ATHENA SPO-optic in use as telescope.* + +## Identification + +- **Site:** AstroX_ESA +- **Author:** Erik B Knudsen & Desiree D. M. Ferreira (email) +- **Origin:** DTU Physics/DTU Space +- **Date:** 12/12/2016 + +## Description + +```text +A model of the ATHENA-telescope using just a single shell as optical element. +That means to make use of this instrument +it is necessary to run a series of simulation while varying the input parameter shellnumber. + +The model needs as input a file geomfile, which contains (in ascii) tabled details about the geometry of the shells. +The data in the geomfile is assumed to be in the format: +#row L/m rad_h/m rad_m/m rad_p/m width/m +... +row: running index for the rows/rings +L: The length of the plates for this ring +rad_h: The radius at the "hyperbolic" end of the optic. At the detector end. +rad_m: The radius at the midpoint of the optic. This is the reference. +rad_p: The radius at the "parabolic" and of the optic. At the source end. +width: pore width ? + +Example: ATHENA_1shell.instr shellnumber=1 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| FL | m | The focal length of the optical system | 12 | +| optics_dist | m | The distance between souce and optic. In space this would be quite large :-). | 10 | +| SRC_POS_X | m | Displacement of source along X | 0 | +| SRC_POS_Y | m | Displacement of source along Y | 0 | +| offaxis_angle | arcmin | Angle of collimated light from source | 0 | +| drx | | | 0 | +| dry | | | 0 | +| drz | | | 0 | +| reflectivity | | Data file containing reflectivities (such as from IMD) | "mirror_coating_unity.txt" | +| E0 | keV | Central energy of X-rays | 5 | +| dE | keV | Half spread of energy spectrum to be emitted from source | 0.001 | +| shellnumber | | The row number for the miror module. This defines the shell. | 1 | +| geomfile | | File which contains the geometry of the pores (i.e. radii,lengths) | "ATHENA_rings_1_20.dat" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/AstroX_ESA/ATHENA_1shell/ATHENA_1shell.instr) for `ATHENA_1shell.instr`. +- The ATHENA web pages @ ESA + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/AstroX_ESA/ATHENA_cfgA_1mm/ATHENA_cfgA_1mm.md b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_cfgA_1mm/ATHENA_cfgA_1mm.md new file mode 100644 index 0000000000..f836e9fd2b --- /dev/null +++ b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_cfgA_1mm/ATHENA_cfgA_1mm.md @@ -0,0 +1,77 @@ +# The `ATHENA_1mm` Instrument + +*McXtrace: Single pore version of the ATHENA SPO-optic in use as telescope.* + +## Identification + +- **Site:** AstroX_ESA +- **Author:** Erik B Knudsen & Desiree D. M. Ferreira (email) +- **Origin:** DTU Physics/DTU Space +- **Date:** 12/12/2016 + +## Description + +```text +A model of the ATHENA-telescope using just a single mirror module as optical element. That means to make use of this instrument +it is necessary to run a series of simulation while varying the input parameter porenumber. +At present, the porenumber really means mirror module number. + +The model needs as input a set of files: A Mirror Module definition file and a ring definition file. +The former contains overall definitions of mirror modules and their positions - the latter contains details about each plate. +There is some redundancy between the two files. The latter will be rendered unnecessary in a later version. +An example of mmdef_file is "MM_Definitions-cfgA.csv" which is distributed by ESA. +An example of ringfile is "ref_design.dat" which is taken from the ATHENA_reference design white-paper. + +Reflectivity may be modelled using a datafile. In this telscope model only the top (intentionally reflecting) surface +is given a data-file. However, the MM-components can cope with non-zero reflectivity for side-walls and bottom surfaces. +The reflectivity datafile follows a simple ascii-format with 6 header lines the define the ranges in energy E and grazing +angle theta, followed by a 2D-data block with reflectivity numbers. This is expected to be substituted for a 1D-parametrization ' +in q, to avoid overly lagre data-files. + +Example: ATHENA_cfgA_1mm.instr porenumber=3 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| FL | m | The focal length of the optical system | 12 | +| optics_dist | m | The distance between souce and optic. In space this would be quite large :-). | 10 | +| XWidth | m | The width of the user detector default is that of the ATHENA WFI large area detector | 0.13312 | +| YHeight | m | The height of the user detector default is that of the ATHENA WFI large area detector | 0.13312 | +| NX | | Number of pixels along X in the user detector | 1024 | +| NY | | Number of pixels along Y in the user detector. | 1024 | +| offaxis_angle | arcmin | Angle of collimated light from source | 0 | +| dPx | m | Offset/displacement of parabolic pore along x from its theoretical position. | 0 | +| dPy | m | Offset/displacement of parabolic pore along y from its theoretical position. | 0 | +| dPz | m | Offset/displacement of parabolic pore along z from its theoretical position. | 0 | +| dPrx | arcsec | Rotational misalignment of parabolic pore around x. | 0 | +| dPry | arcsec | Rotational misalignment of parabolic pore around y. | 0 | +| dPrz | arcsec | Rotational misalignment of parabolic pore around z. | 0 | +| dHx | m | Offset/displacement of hyperbolic pore along x from its theoretical position. | 0 | +| dHy | m | Offset/displacement of hyperbolic pore along y from its theoretical position. | 0 | +| dHz | m | Offset/displacement of hyperbolic pore along z from its theoretical position. | 0 | +| dHrx | arcsec | Rotational misalignment of hyperbolic pore around x. | 0 | +| dHry | arcsec | Rotational misalignment of hyperbolic pore around y. | 0 | +| dHrz | arcsec | Rotational misalignment of hyperbolic pore around z. | 0 | +| reflectivity | | Data file containing reflectivities (such as from IMD) | "mirror_coating_unity.txt" | +| default_reflec | | Default reflectivity value to use if no reflectivity file is given. | 0 | +| E0 | keV | Central energy of X-rays | 5 | +| dE | keV | Half spread of energy spectrum to be emitted from source | 0.001 | +| porenumber | | Actually the mirror module number. | 1 | +| mmdef_file | | File containing the positions and overall geometry of Mirror Modules. | "MM_Definitions-cfgA.csv" | +| ringfile | | File which contains deatiled plate descriptions. | "ref_design_breaks.txt" | +| Hyper | | If non-zero the secondary mirror (hyperbolic) is active. Useful for debugging. | 1 | +| Para | | If non-zero the primary mirror is acive (parabolic) is active. Useful for debugging. | 1 | +| lists | | If non-zero drop event mode monitr are active. Turn-off to save disk-space. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/AstroX_ESA/ATHENA_cfgA_1mm/ATHENA_cfgA_1mm.instr) for `ATHENA_cfgA_1mm.instr`. +- The ATHENA web pages @ ESA + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/AstroX_ESA/ATHENA_cfgA_1mm_FEMd/ATHENA_cfgA_1mm_FEMd.md b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_cfgA_1mm_FEMd/ATHENA_cfgA_1mm_FEMd.md new file mode 100644 index 0000000000..d8dea9bf1e --- /dev/null +++ b/mcxtrace-comps/examples/AstroX_ESA/ATHENA_cfgA_1mm_FEMd/ATHENA_cfgA_1mm_FEMd.md @@ -0,0 +1,80 @@ +# The `ATHENA_cfgA_1mm_FEMd` Instrument + +*McXtrace: Single pore version of the ATHENA SPO-optic in use as telescope.* + +## Identification + +- **Site:** AstroX_ESA +- **Author:** Erik B Knudsen & Desiree D. M. Ferreira (email) +- **Origin:** DTU Physics/DTU Space +- **Date:** 12/12/2016 + +## Description + +```text +A model of the ATHENA-telescope using just a single mirror module as optical element. That means to make use of this instrument +it is necessary to run a series of simulation while varying the input parameter porenumber. +At present, the porenumber really means mirror module number. + +The model needs as input a set of files: A Mirror Module definition file and a ring definition file. +The former contains overall definitions of mirror modules and their positions - the latter contains details about each plate. +There is some redundancy between the two files. The latter will be rendered unnecessary in a later version. +An example of mmdef_file is "MM_Definitions-cfgA.csv" which is distributed by ESA. +An example of ringfile is "ref_design.dat" which is taken from the ATHENA_reference design white-paper. +In addition A displacement data file may be specified. + +Reflectivity may be modelled using a datafile. In this telscope model only the top (intentionally reflecting) surface +is given a data-file. However, the MM-components can cope with non-zero reflectivity for side-walls and bottom surfaces. +The reflectivity datafile follows a simple ascii-format with 6 header lines the define the ranges in energy E and grazing +angle theta, followed by a 2D-data block with reflectivity numbers. This is expected to be substituted for a 1D-parametrization ' +in q, to avoid overly lagre data-files. + +Example: ATHENA_cfgA_1mm_FEMd.instr porenumber=3 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| FL | m | The focal length of the optical system | 12 | +| optics_dist | m | The distance between souce and optic. In space this would be quite large :-). | 10 | +| XWidth | m | The width of the user detector default is that of the ATHENA WFI large area detector | 0.13312 | +| YHeight | m | The height of the user detector default is that of the ATHENA WFI large area detector | 0.13312 | +| NX | | Number of pixels along X in the user detector | 1024 | +| NY | | Number of pixels along Y in the user detector. | 1024 | +| offaxis_angle | arcmin | Angle of collimated light from source | 0 | +| dPx | m | Offset/displacement of parabolic pore along x from its theoretical position. | 0 | +| dPy | m | Offset/displacement of parabolic pore along y from its theoretical position. | 0 | +| dPz | m | Offset/displacement of parabolic pore along z from its theoretical position. | 0 | +| dPrx | arcsec | Rotational misalignment of parabolic pore around x. | 0 | +| dPry | arcsec | Rotational misalignment of parabolic pore around y. | 0 | +| dPrz | arcsec | Rotational misalignment of parabolic pore around z. | 0 | +| dHx | m | Offset/displacement of hyperbolic pore along x from its theoretical position. | 0 | +| dHy | m | Offset/displacement of hyperbolic pore along y from its theoretical position. | 0 | +| dHz | m | Offset/displacement of hyperbolic pore along z from its theoretical position. | 0 | +| dHrx | arcsec | Rotational misalignment of hyperbolic pore around x. | 0 | +| dHry | arcsec | Rotational misalignment of hyperbolic pore around y. | 0 | +| dHrz | arcsec | Rotational misalignment of hyperbolic pore around z. | 0 | +| reflectivity | | Data file containing reflectivities (such as from IMD) | "mirror_coating_unity.txt" | +| default_reflec | | Default reflectivity value to use if no reflectivity file is given. | 0 | +| E0 | keV | Central energy of X-rays | 5 | +| dE | keV | Half spread of energy spectrum to be emitted from source | 0.001 | +| porenumber | | Actually the mirror module number. | 1 | +| mmdef_file | | File containing the positions and overall geometry of Mirror Modules. | "MM_Definitions-cfgA.csv" | +| ringfile | | File which contains deatiled plate descriptions. | "ref_design_breaks.txt" | +| disp_file | | Fiel that conatins mirror module displacements | "none" | +| disp_type | | Displacement type | 0 | +| Hyper | | If non-zero the secondary mirror (hyperbolic) is active. Useful for debugging. | 1 | +| Para | | If non-zero the primary mirror is acive (parabolic) is active. Useful for debugging. | 1 | +| lists | | If non-zero drop event mode monitr are active. Turn-off to save disk-space. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/AstroX_ESA/ATHENA_cfgA_1mm_FEMd/ATHENA_cfgA_1mm_FEMd.instr) for `ATHENA_cfgA_1mm_FEMd.instr`. +- The ATHENA web pages @ ESA + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/AstroX_ESA/NuSTAR_1shell_con/NuSTAR_1shell_con.md b/mcxtrace-comps/examples/AstroX_ESA/NuSTAR_1shell_con/NuSTAR_1shell_con.md new file mode 100644 index 0000000000..4f905d6eb4 --- /dev/null +++ b/mcxtrace-comps/examples/AstroX_ESA/NuSTAR_1shell_con/NuSTAR_1shell_con.md @@ -0,0 +1,62 @@ +# The `NuSTAR_1shell_con` Instrument + +*McXtrace: Single shell model of the NuSTAR-optic in use as telescope.* + +## Identification + +- **Site:** AstroX_ESA +- **Author:** Erik B Knudsen & Desiree D. M. Ferreira (email) +- **Origin:** DTU Physics/DTU Space +- **Date:** 12/12/2016 + +## Description + +```text +A model of the NuSTAR-telescope using just a single shell as optical element. +That means to make use of this instrument +it is necessary to run a series of simulation while varying the input parameter shellnumber. + +The model needs as input a file geomfile, which contains (in ascii) tabled details about the geometry of the shells. +The data in the geomfile is assumed to be in the format: +#row L/m rad_h/m rad_m/m rad_p/m width/m +... +row: running index for the rows/rings +L: The length of the plates for this ring +rad_h: The radius at the "hyperbolic" end of the optic. At the detector end. +rad_m: The radius at the midpoint of the optic. This is the reference. +rad_p: The radius at the "parabolic" and of the optic. At the source end. +width: pore width ? + +Example: NuSTAR_1shell_con.instr shellnumber=1 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| FL | m | The focal length of the optical system | 10.12 | +| FLd | m | Detectors distance | 0 | +| optics_dist | m | The distance between souce and optic. In space this would be quite large :-). | 10 | +| SRC_POS_X | m | Displacement of source along X | 0 | +| SRC_POS_Y | m | Displacement of source along Y | 0 | +| offaxis_angle | arcmin | Angle of collimated light from source | 0 | +| drx | | | 0 | +| dry | | | 0 | +| drz | | | 0 | +| reflectivity | | Data file containing reflectivities (such as from IMD) | "mirror_coating_unity.txt" | +| E0 | keV | Central energy of X-rays | 5 | +| dE | keV | Half spread of energy spectrum to be emitted from source | 0.001 | +| shellnumber | | The row number for the miror module. This defines the shell. | 0 | +| parabolic_datafile | | | "om_con_1a_110901_t1.txt" | +| hyperbolic_datafile | | | "om_con_3a_110901_t1.txt" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/AstroX_ESA/NuSTAR_1shell_con/NuSTAR_1shell_con.instr) for `NuSTAR_1shell_con.instr`. +- The ATHENA web pages @ ESA + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/AstroX_ESA/Simple_1shell/Simple_1shell.md b/mcxtrace-comps/examples/AstroX_ESA/Simple_1shell/Simple_1shell.md new file mode 100644 index 0000000000..b2e5bb0d63 --- /dev/null +++ b/mcxtrace-comps/examples/AstroX_ESA/Simple_1shell/Simple_1shell.md @@ -0,0 +1,40 @@ +# The `Simple_1shell` Instrument + +*McXtrace: Single shell model of a true Wolter Type I optic* + +## Identification + +- **Site:** AstroX_ESA +- **Author:** Erik B Knudsen & Desiree D. M. Ferreira (email) +- **Origin:** DTU Physics/DTU Space +- **Date:** 12/12/2016 + +## Description + +```text +Single shell example telescope using a combinatiopn pf parabolic/hyperbolic shell +optical plates covering the full circle. Reflectivity is 1 for all energies. + +Example: Simple_1shell.instr FL=12 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| FL | m | The focal length of the optical system | 12 | +| plate_zdepth | m | Plate length. | 0.5 | +| channel_yheight | m | Channel height. | 1e-2 | +| radius_m | m | Radius at the optics centre. | 0.534927 | +| radius_p | m | Radius at the entry to the primary (parabolic) shell. | 0.535532 | +| radius_h | m | Radius at the exit of the secondary (hyperbolic) shell. | 0.533113 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/AstroX_ESA/Simple_1shell/Simple_1shell.instr) for `Simple_1shell.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/AstroX_ESA/Test_shells/Test_shells.md b/mcxtrace-comps/examples/AstroX_ESA/Test_shells/Test_shells.md new file mode 100644 index 0000000000..c5794c7600 --- /dev/null +++ b/mcxtrace-comps/examples/AstroX_ESA/Test_shells/Test_shells.md @@ -0,0 +1,40 @@ +# The `Test_shells` Instrument + +*McXtrace: Single shell model of a true Wolter Type I optic* + +## Identification + +- **Site:** AstroX_ESA +- **Author:** Erik B Knudsen & Desiree D. M. Ferreira (email) +- **Origin:** DTU Physics/DTU Space +- **Date:** 12/12/2016 + +## Description + +```text +Single shell example telescope using a combinatiopn of parabolic/hyperbolic shell +optical plates covering the full circle. Reflectivity is 1 for all energies. + +Example: Test_shells.instr shell_type=1 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| FL | m | The focal length of the optical system | 12 | +| plate_zdepth | m | Plate length. | 0.5 | +| channel_yheight | m | Channel height. | 1e-2 | +| radiusin | m | Radius at the entry to the primary (parabolic) shell. | 0.535532 | +| radiusout | m | Radius at the optics centre and at the exit of the secondary (hyperbolic) shell. | 0.533113 | +| shell_type | 1 | Shell type 0=parabolic; 1=hyperbolic; 2=conical | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/AstroX_ESA/Test_shells/Test_shells.instr) for `Test_shells.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/AstroX_NASA/CXO/CXO.md b/mcxtrace-comps/examples/AstroX_NASA/CXO/CXO.md new file mode 100644 index 0000000000..a1c8f5ef51 --- /dev/null +++ b/mcxtrace-comps/examples/AstroX_NASA/CXO/CXO.md @@ -0,0 +1,39 @@ +# The `CXO` Instrument + +*McXtrace: Chandra X-ray Observatory CXO* + +## Identification + +- **Site:** AstroX_NASA +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Nov '20 + +## Description + +```text +Model of the Chandra X-ray Observatory based on the description avaiable +in the Chandra Observers' Guide. Fully collimated X-ray light impinges on the +optic consisting of 4 mirrors in the true Wolter I configuration. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Central eX-ray energy to be simulated. | 1 | +| dE | keV | Half-width of energy spectrum | 0.001 | +| verbose | 0 | Emit extra information. | 1 | +| mcoat | str | Filename of file which conatins reflectivity for coating | "Ir_CXO.dat" | +| OA_angle | deg | Off-axis angle. Angle around y-axis at which radiation will hit the optic. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/AstroX_NASA/CXO/CXO.instr) for `CXO.instr`. +- https://cxc.harvard.edu/proposer/POG/html/index.html + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/AstroX_NASA/NuSTAR_1shell/NuSTAR_1shell.md b/mcxtrace-comps/examples/AstroX_NASA/NuSTAR_1shell/NuSTAR_1shell.md new file mode 100644 index 0000000000..ea5b6829cc --- /dev/null +++ b/mcxtrace-comps/examples/AstroX_NASA/NuSTAR_1shell/NuSTAR_1shell.md @@ -0,0 +1,59 @@ +# The `NuSTAR_1shell` Instrument + +*McXtrace: Single shell model of the NuSTAR-optic in use as telescope.* + +## Identification + +- **Site:** AstroX_NASA +- **Author:** Erik B Knudsen & Desiree D. M. Ferreira (email) +- **Origin:** DTU Physics/DTU Space +- **Date:** 12/12/2016 + +## Description + +```text +A model of the NuSTAR-telescope using just a single shell as optical element. +That means to make use of this instrument +it is necessary to run a series of simulation while varying the input parameter shellnumber. + +The model needs as input two geometry files (parabolic_datafile and hyperbolic_datafile), which contains (in ascii) tabled details about the geometry of the shells. +The data in the geomfile is assumed to be in the format: +#row L/m rad_h/m rad_m/m rad_p/m +... +row: running index for the rows/rings +L: The length of the plates for this ring +rad_h: The radius at the "hyperbolic" end of the optic. At the detector end. +rad_m: The radius at the midpoint of the optic. This is the reference. +rad_p: The radius at the "parabolic" and of the optic. At the source end. + +Example: NuSTAR_1shell.instr shellnumber=1 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| FL | m | The focal length of the optical system | 10.12 | +| FLd | m | The distance from the optics centre to the detector. If 0 the detector is placed at the focal plane. | 0 | +| optics_dist | m | The distance between souce and optic. In space this would be quite large :-). | 10 | +| offaxis_angle | arcmin | Angle of collimated light from source | 0 | +| drx | arcsec | Rotation of shell along X | 0 | +| dry | arcsec | Rotation of shell along Y | 0 | +| drz | arcsec | Rotation of shell along Z | 0 | +| reflectivity | | Data file containing reflectivities (such as from IMD) | "mirror_coating_unity.txt" | +| E0 | keV | Central energy of X-rays | 5 | +| dE | keV | Half spread of energy spectrum to be emitted from source | 0.001 | +| shellnumber | | The row number for the miror module. This defines the shell. | 0 | +| parabolic_datafile | | File which contains the geometry of the parabolic (primary) mirrors. (i.e. radii,lengths) | "om_con_1a_110901_t1.txt" | +| hyperbolic_datafile | | File which contains the geometry of the hyperbolic (secondary) mirrors. (i.e. radii,lengths) | "om_con_3a_110901_t1.txt" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/AstroX_NASA/NuSTAR_1shell/NuSTAR_1shell.instr) for `NuSTAR_1shell.instr`. +- The ATHENA web pages @ ESA + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/BARC/Czerny_Turner/Czerny_Turner.md b/mcxtrace-comps/examples/BARC/Czerny_Turner/Czerny_Turner.md new file mode 100644 index 0000000000..859b0a1f91 --- /dev/null +++ b/mcxtrace-comps/examples/BARC/Czerny_Turner/Czerny_Turner.md @@ -0,0 +1,38 @@ +# The `Czerny_Turner` Instrument + +*McXtrace: Czerny-Turner monochromator.* + +## Identification + +- **Site:** BARC +- **Author:** Stephane Bac, Antoine Padovani +- **Origin:** Synchrotron Soleil +- **Date:** Jul 21st 2022 + +## Description + +```text +This Czerny-Turner monochromator was built from "Design and fabrication of a Czerny-Turner monochromator-cum-spectrograph" by +Murty, M.V.R.K.; Shukla, R.P.; Bhattacharya, S.S.; Krishnamurthy, G. (Bhabha Atomic Research Centre, Bombay (India). Spectroscopy Div.) +Bhabha Atomic Research Centre, Bombay (India) +1987 +It can be found here: https://inis.iaea.org/collection/NCLCollectionStore/_Public/19/019/19019134.pdf +Example: Do a scan (scan parameter =1) from x_screw=20 to 103 mm. The calculated monitor "Wavelength(Ang) as a function of x_screw(mm)" will be a linear function. The monochromator functions properly. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| x_screw | mm | Displacement perpendicular to initial position of the lever (sine drive mechanism) | 0 | +| scan | 0 or 1 | 1 is to activate wavelength monitor while scanning the x_screw parameter | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/BARC/Czerny_Turner/Czerny_Turner.instr) for `Czerny_Turner.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/DTU/Airport_scannerII/Airport_scannerII.md b/mcxtrace-comps/examples/DTU/Airport_scannerII/Airport_scannerII.md new file mode 100644 index 0000000000..fdbd698ba0 --- /dev/null +++ b/mcxtrace-comps/examples/DTU/Airport_scannerII/Airport_scannerII.md @@ -0,0 +1,40 @@ +# The `Airp_scannerII` Instrument + +*McXtrace: Example instrument to display how to use the absorption multiobject component* + +## Identification + +- **Site:** DTU +- **Author:** E. B. Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Jan '21 + +## Description + +```text +This instrument simply has a lab source, a few monitors and a multi-off object scene +by means of the Abs_objects component. By supliying a control file and a set of +off/ply-files a scene is put together which may be used for tomography style +simulations. The default input file contains a single object: a mechanical socket. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| SFILE | | Name of file that contains the off/ply parameters for the scene | "input_abs_objects_template.dat" | +| ANGLE | | Rotation around y-axis | 0 | +| posX | m | Displacement of scene along x-axis | 0 | +| posY | m | Displacement of scene along y-axis | 0 | +| posZ | m | Displacement of scene along z-axis | 0 | +| Ncount | 1 | Set X-ray particle count for the simulation (same as -n #) | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/DTU/Airport_scannerII/Airport_scannerII.instr) for `Airport_scannerII.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/DTU/Pump_probe/Pump_probe.md b/mcxtrace-comps/examples/DTU/Pump_probe/Pump_probe.md new file mode 100644 index 0000000000..7f247875b7 --- /dev/null +++ b/mcxtrace-comps/examples/DTU/Pump_probe/Pump_probe.md @@ -0,0 +1,37 @@ +# The `Pump_probe` Instrument + +*McXtrace: Design study of a pump and probe type instrument. The sample is an excitable molecule + +Instrument short description* + +## Identification + +- **Site:** DTU +- **Author:** Erik B Knudsen +- **Origin:** DTU Fysik +- **Date:** 2013 + +## Description + +```text +Instrument longer description (type, elements, usage...) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| excitation_prob | 1 | Fraction of the molecules in solution that are excited at t=0. | 0.2 | +| Dt | 1 | Time delay between laser pulse exciting the sample and the x-ray pulse. | 100e-9 | +| PMN | deg. | Minimum scatterign angle to be sampled | 0 | +| PMX | deg. | Maximum scattering angle to be sampled | 45 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/DTU/Pump_probe/Pump_probe.instr) for `Pump_probe.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/DTU/Pump_probe_solvent/Pump_probe_solvent.md b/mcxtrace-comps/examples/DTU/Pump_probe_solvent/Pump_probe_solvent.md new file mode 100644 index 0000000000..a806961cdb --- /dev/null +++ b/mcxtrace-comps/examples/DTU/Pump_probe_solvent/Pump_probe_solvent.md @@ -0,0 +1,59 @@ +# The `Pump_probe_solvent` Instrument + +*McXtrace: Design study of a pump and probe type instrument. The sample is an excitable molecule* + +## Identification + +- **Site:** DTU +- **Author:** Erik B Knudsen +- **Origin:** DTU Fysik +- **Date:** \today + +## Description + +```text +This is an example instrument for simulating time resolved scattering from +optically excitable, disordered molecules in solution, including scattering +signal from the solvent. By FSOLV it is possible to change the concentration of +solute. + +This is to be considered a concept instrument model, i.e. it is _not_ a model of +an existing real instrument. A simple flat source emitting photons impinge on a chopper, +defining an X-ray pulse. Timing jitter in the chopper may be included through the JITTER +parameter which introduces a random uncertainty in the timing of the pulse. + +The X-ray pulse is allowed to propagate to the sample which is excited by an instantaneous laser +pulse at t=0. The whole sample is assumed to be excited uniformly. +A Monte Carlo choice between interacting with solvent or solute is performed at the sample position. +The chopper is set such that the X-ray pulse front will arive at the sample at t=Dt. Thus, +setting Dt<-tau (chopper opening time) will simulate the "laser-off" setting. + +The sampling of the scattered signal may be controlled by PSIMAX,PSIMIN and ETAMAX,ETAMIN +parameters. Please be aware the by restricting the azimuthal range it is not uncommon to underfill +the acceptance area of subsequent components. This is particularly the case for small psi. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| excitation_prob | 1 | Fraction of the molecules in solution that are excited at t=0. | 0.2 | +| Dt | 1 | Time delay between laser pulse exciting the sample and the x-ray pulse. | 100e-9 | +| PSIMIN | deg. | Minimum scattering angle to be simulated. | 0 | +| PSIMAX | deg. | Maximum scattering angle to be simulated. | 50 | +| FSOLV | | Volume fraction of solvent to solute. ( =1 means only solvent, =0 only solute) | 0 | +| JITTER | s | Jitter in chopper. | 0 | +| ETAMIN | deg. | Minimum azimuthal angle for scattered photons. | -180 | +| ETAMAX | deg. | Maximum azimuthal angle for scattered photons. | 180 | +| NOSOLVENT | | If nonzero - ignore scattering from solvent. | 0 | +| NOSOLUTE | | If nonzeor - ignore scattering from solute. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/DTU/Pump_probe_solvent/Pump_probe_solvent.instr) for `Pump_probe_solvent.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/ESRF/ESRF_BM29/ESRF_BM29.md b/mcxtrace-comps/examples/ESRF/ESRF_BM29/ESRF_BM29.md new file mode 100644 index 0000000000..4b91f7ba22 --- /dev/null +++ b/mcxtrace-comps/examples/ESRF/ESRF_BM29/ESRF_BM29.md @@ -0,0 +1,43 @@ +# The `ESRF_BM29` Instrument + +*McXtrace: A simple BM29 model at ESRF.* + +## Identification + +- **Site:** ESRF +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 28th, 2021 + +## Description + +```text +Toy model used for testing various sample components for solution-SAXS +mimicking the geometry of the BM29 beamline at ESRF: +https://www.esrf.fr/home/UsersAndScience/Experiments/MX/About_our_beamlines/bm29/beamline-specifications.html + +Note that this model does not include much of the beamline optics, instead it emulates their effect +by settgin relevant beam parameters from a model source. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| DistanceFromSourceToFirstPinhole | m | Distance to first pinhole from source. | 31.4 | +| DistanceFromSourceToSecondPinhole | m | Distance to second pinhole - used for focussing rays. | 42.5 | +| DistanceFromSecondPinholeToSample | m | Collimation length. | 0.1 | +| DistanceFromSampleToDetector | m | Sample-detector-distance. | 2.43 | +| RadiusOfDetector | m | Radius of the circular detector. | 0.18 | +| Lambda | AA | Wavelength of the rays emitted from source. | 1.00 | +| DLambda | | Relative deviation of wavelength of the rays emitted from source. | 0.01 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/ESRF/ESRF_BM29/ESRF_BM29.instr) for `ESRF_BM29.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/ESRF/ESRF_ID01/ESRF_ID01.md b/mcxtrace-comps/examples/ESRF/ESRF_ID01/ESRF_ID01.md new file mode 100644 index 0000000000..adc5cfd5a2 --- /dev/null +++ b/mcxtrace-comps/examples/ESRF/ESRF_ID01/ESRF_ID01.md @@ -0,0 +1,50 @@ +# The `ESRF_ID01` Instrument + +*McXtrace: Nano-diffraction imaging beamline at ESRF, Grenoble* + +## Identification + +- **Site:** ESRF +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) +- **Origin:** University of Copenhagen +- **Date:** March, 2015 + +## Description + +```text +This model of ID01 is designed specifically to conduct virtual scanning nano-diffraction imaging +experiments such as the one demonstrated Chahine et al., J. Appl. Cryst 47, 762-769. The model +includes beam-defining slits, a double Si111-monochromator, a Fresnel Zone Plate, a polycrystalline +sample designed specifically for this type of virtual experiments, and a detector set up mimicking the +set up at the actual beam-line. The nanodiffraction experiment is performed by locating a suitable peak +in the diffraction of the crystal (using the variables NominalEnergy, Delta, and Eta) +and then scan across the sample (using the variables Pix and ySamplePosition). By plotting +e.g. total detector intensity as a function of position, one can map out impurities in the sample by +their scattering properties. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| DistanceSampleToDetector | m | Distance from sample to detector | 0.5 | +| NominalEnergy | keV | Nominal energy of photons after monochromation | 8.0 | +| Delta | deg | Angle rotating the detector around the sample in the yz-plane | 0.0 | +| Nu | deg | Horizontal plane rotation angle of the detector (for asymmetric peaks) | 0.0 | +| Eta | deg | Angle between the incoming beam and the sample normal in the yz-plane | 0.0 | +| Phi | deg | Horizontal plane rotation angle of the sample (for asymmetric peaks) | 0.0 | +| Pix | um | Horizontal offset of sample | 0.0 | +| Piy | um | Vertical offset of sample | 0.0 | +| SampleMosaicity | moa | Mosaicity of the sample crystal lattice | 1.0 | +| SampleDeltadoverd | 1 | Uncertainty in lattice parameter for the sample crystal lattice | 0.001 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/ESRF/ESRF_ID01/ESRF_ID01.instr) for `ESRF_ID01.instr`. +- http://www.esrf.eu/UsersAndScience/Experiments/StructMaterials/ID01 + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/ESRF/ESRF_ID11/ESRF_ID11.md b/mcxtrace-comps/examples/ESRF/ESRF_ID11/ESRF_ID11.md new file mode 100644 index 0000000000..cb2d513824 --- /dev/null +++ b/mcxtrace-comps/examples/ESRF/ESRF_ID11/ESRF_ID11.md @@ -0,0 +1,39 @@ +# The `ESRF_ID11` Instrument + +*McXtrace: Model of the ESRF ID11 Transfocator based beamline.* + +## Identification + +- **Site:** ESRF +- **Author:** E. Knudsen (erkn@risoe.dtu.dk) +- **Origin:** Risø DTU +- **Date:** Nov. 26th, 2009 + +## Description + +```text +Model of the ESRF ID11 Transfocator based beamline. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| ANGLE | deg | Rotation (misalignment) of first transfocator | 0 | +| SOURCE | | 1) Choose rectangular source with defined divergence. 2) Choose Gaussian cross-section source | 0 | +| T1_N | | Number of Be lenses in 1st IVT transfocator @31.5m | 16 | +| T2_N | | Number of Al lenses in 1st IVT transfocator @31.5m _currently deactivated by default_ | 16 | +| T3_N | | Number of Al lenses in 2nd IVT transfocator @92.25 m | 16 | +| SI_N | | Number of Si lenses in Si microfocus chip transfocator @94 m | 2 | +| IVT1BE | | If nonzero the set of Be-lenses is chosen for the IVT @31.5m. If 0 the Al set is active. | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/ESRF/ESRF_ID11/ESRF_ID11.instr) for `ESRF_ID11.instr`. +- http://www.esrf.eu/UsersAndScience/Experiments/StructMaterials/ID11/ID11Source + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/MAXII/MAXII_711/MAXII_711.md b/mcxtrace-comps/examples/MAXII/MAXII_711/MAXII_711.md new file mode 100644 index 0000000000..b456cb42d3 --- /dev/null +++ b/mcxtrace-comps/examples/MAXII/MAXII_711/MAXII_711.md @@ -0,0 +1,40 @@ +# The `MAXII_711` Instrument + +*McXtrace: Powder diffraction beamline* + +## Identification + +- **Site:** MAXII +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Sep 2013 + +## Description + +```text +A simple beamline setup consisting of a single focusing mirror, +a monochromator, and a four-circle goniometer at the sample stage. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| R | m | Radius of curvature of the focusing mirror. N.b. a negative curvature simply means the mirror curves towards negative x | -100 | +| phi_mirror | m | Set angle of incidence of the focusing mirror | 3 | +| phi_mono | deg | Set angle of incidence of Monochromator crystal. | 9.25 | +| chi | deg | 2nd rotation of four circle, around X. | 0 | +| ome | deg | 1st rotation of four circle, around Y. | 0 | +| phi | deg | 3rd rotation of four circle, around Y'. | 0 | +| tth | deg | 4th rotation of four circle, i.e. detector arm. Around Y. | 0 | +| dphi | deg | Restrict the powder scattering angle along vertical axis Z. | 160 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/MAXII/MAXII_711/MAXII_711.instr) for `MAXII_711.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/MAXII/MAXII_811/MAXII_811.md b/mcxtrace-comps/examples/MAXII/MAXII_811/MAXII_811.md new file mode 100644 index 0000000000..3f34a82d46 --- /dev/null +++ b/mcxtrace-comps/examples/MAXII/MAXII_811/MAXII_811.md @@ -0,0 +1,56 @@ +# The `MAXII_811` Instrument + +*McXtrace: XAFS and surface diffraction, Materials Science Beamline 811 at MAX-lab.* + +## Identification + +- **Site:** MAXII +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Jan 23, 2011 + +## Description + +```text +Fed by a wiggler, this beamline operates in monochromatic mode with an +operational energy tunable between 2.3 – 20 keV (0.6 - 5.3 AA). +The wavelength is chosen by a double monochromator crystal setup where either +Si 111 or Si 311 may be chosen. Furthermore a double mirror +setup may be used to to focus the beam onto a sample. The rotation of the +first mirror defines the position of the second which is computed automatically. +If mirrors are in the monochromators are automatically reposistioned to +accomadate the deflected beam. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Emin | keV | Minmium energy of radiation emitted from wiggler. | 1e-3 | +| Emax | keV | Maxmium energy of radiation emitted from wiggler. | 12 | +| prim_h | m | Horizontal opening of primary slits. | .40e-3 | +| prim_v | m | Vertical opening of primary slits. | 0.6e-3 | +| xafs_h | m | XAFS station horizontal slit opening | 3e-3 | +| xafs_v | m | XAFS station vertical slit opening | 3e-3 | +| M1 | | Is mirror 1 in the beam? | 0 | +| M1_R | m | Radius of curvature of mirror 1. | 2000 | +| M1_pitch | deg | Central glancing angle of mirror 1. | 0 | +| M2 | | Is mirror 2 in the beam? | 0 | +| M2_R | m | Radius of curvature of mirror 2. | 800 | +| M2_pitch | deg | Central glancing angle of mirror 2. | 0 | +| theta | deg | Scattering angle of monochromators | 14.226 | +| TTH | deg | Angle at which to put the surface diffraction detector | 0 | +| ATT1 | | Should attenuation filter 1 be in the beam? | 0 | +| ATT2 | | Should attenuation filter 2 be in the beam? | 0 | +| ATT3 | | Should attenuation filter 3 be in the beam? | 0 | +| XAFS | | Flag to activate/inactivate the XAFS station | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/MAXII/MAXII_811/MAXII_811.instr) for `MAXII_811.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/MAXIV/MAXIV_Bloch/MAXIV_Bloch.md b/mcxtrace-comps/examples/MAXIV/MAXIV_Bloch/MAXIV_Bloch.md new file mode 100644 index 0000000000..31f2ebdff2 --- /dev/null +++ b/mcxtrace-comps/examples/MAXIV/MAXIV_Bloch/MAXIV_Bloch.md @@ -0,0 +1,67 @@ +# The `MAXIV_Bloch` Instrument + +*McXtrace: Bloch high resolution photoelectron spectroscopy beamline under development at the MAX IV synchrotron.* + +## Identification + +- **Site:** MAXIV +- **Author:** Kristian Soerensen and Philip Smith (s154443@win.dtu.dk) +- **Origin:** DTU Physics +- **Date:** June 2018 + +## Description + +```text +This is a simple simulation of the BLOCH beamline at MAXIV. + +Two kinds of parameters are given, P and P2. +P Parameters are the ones used in the general simulation, i.e when the FOI is intensity ect. +P2 parameters are used when the strain of the beamline is the FOI, i.e what happens when the distances change. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Wanted_energy | keV | The grating reflection energy. Uses E0 when not set. | 0.378 | +| m | | Diffraction order, used for Monochromator angle. (fungerer ikke). | 3 | +| cff | | Constant cff value for the grating. | 0 | +| r_rho | l/mm | Ruling density of the grating. | 800 | +| SourceChoice | 0/1 | Choice of souce. For easy simulation do Flat souce [0],in nonzero, the undulator is used. | 0 | +| E0 | keV | The central energy to sample from source model. | 0.6 | +| dE | keV | Spectral width to sample from source model. | 0.4 | +| undK | | Undulator K parameter, overrides E0, only used if SourceChoice is non zero. | 5.6 | +| Nper | | Number of magnetic periods in the undulator. | 187 | +| grating_mode | 0/1 | If 1 the NIM mode will be used. If 0 cPGM. Otherwise, optimum will be calculated. | -1 | +| zm_mirror2 | m | distance(z) to mirror2 from previous component. | 2 | +| R0_M2 | | Constant relectivity of Mirror2 [0;1]. | 1 | +| zm_mirror1 | m | distance(z) to first mirror from previous component. | 14 | +| theta_mirror1 | m | glancing angle of first mirror. | 3 | +| R0_M1 | | Constant relectivity of Mirror2 [0;1]. | 1 | +| zm_mirror3 | m | distance(z) to mirror3 from previous component. | 1 | +| theta_mirror3 | deg | glancing angle of mirror3. | 3 | +| R0_M3 | | Constant relectivity of Mirror3 [0;1]. | 1 | +| zm_mirror4 | m | distance(z) to mirror4 from previous component. | 19 | +| theta_mirror4 | deg | glancing angle of mirror4. | 3 | +| R0_M4 | | Constant relectivity of Mirror4 [0;1] | 1 | +| zm_ExitSlit | m | distance from Mirror4 to exit slit. | 9 | +| xwidth_ExSlit | m | xwidth of exit slit. | 1e-2 | +| yheight_ExSlit | m | yheight of exit slit. | 1e-2 | +| Exitslit_yshift | | y-shift of the exit slit. | 0.005 | +| verbose | | Flag to print more information | 0 | +| perfectMirrors | | When 0, a toroidal mirros is used, otherwise a plane mirror is used. | 0 | +| Error | | When 1, alignment errors are applied randomly on the optics (from R. Sankari) | 0 | +| angle_grating | deg | Additional tilt on the grating angle. | 6 | +| mirror2_angle | | M2 angle used when grating_mode is 0, otherwise it is computed. | 6 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/MAXIV/MAXIV_Bloch/MAXIV_Bloch.instr) for `MAXIV_Bloch.instr`. +- Bloch_MAX IV description: https://www.maxiv.lu.se/accelerators-beamlines/beamlines/bloch/ +- McXtrace komponent definition: http://www.mcxtrace.org + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/MAXIV/MAXIV_DanMAX_pxrd1d/MAXIV_DanMAX_pxrd1d.md b/mcxtrace-comps/examples/MAXIV/MAXIV_DanMAX_pxrd1d/MAXIV_DanMAX_pxrd1d.md new file mode 100644 index 0000000000..18906075a9 --- /dev/null +++ b/mcxtrace-comps/examples/MAXIV/MAXIV_DanMAX_pxrd1d/MAXIV_DanMAX_pxrd1d.md @@ -0,0 +1,58 @@ +# The `MAXIV_DanMAX_pxrd1d` Instrument + +*McXtrace: DanMAX Powder diffraction/Imaging beamline being designed at MAX IV.* + +## Identification + +- **Site:** MAXIV +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Aug 2015 + +## Description + +```text +Design study model of the DanMAX PowderX/Imaging beamline. +This early version uses a Gaussian approximation source, and a simple bandpass filter +as the multilayer. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | The central energy to sample from source model. | 35 | +| DE | keV | Spectral width (std. dev. if gaussian source) to sample from source model. | 0.05 | +| undK | | Undulator K parameter, overrides E0. | 0 | +| undDetune | eV | First harmonic detuning in eV. When zero - max flux on axis. If set to approx. 4 eV one can gain ~20% of flux through the aperture. | 4 | +| DCM_e0 | keV | The energy to tune the Si monochromator to. May be different from E0. If 0 the DCM is controlled by DCM_angle. | 35 | +| DMM_e0 | keV | The energy to tune the ML monochromator to. May be different from E0. If 0 the DMM is controlled by DMM_angle. | 35 | +| oh_premonoh | m | Pre-mono (white beam) slit height. | 1e-3 | +| oh_premonow | m | Pre-mono (white beam) slit width. | 1e-3 | +| oh_endh | m | OH exit slit height. | 1e-3 | +| oh_endw | m | OH exit slit width. | 1e-3 | +| PXRDsampleap_h | m | PXRD clean-up aperture height. | 300e-6 | +| PXRDsampleap_w | m | PXRD clean-up aperture width. | 300e-6 | +| DMM_angle | deg | Glancing angle of the ML. | 0 | +| DCM_angle | deg | Glacing angle of the Si-111 monochromator crystals. | 0 | +| DCM | | If nonzero the high-resolution SI DCM is active. | 1 | +| DMM | | If nonzero the multilayer mono is active. | 0 | +| OH_2DCRL_N | | Number of 2D focus CRLs in the optics hutch transfocator. 0 means transfocator is inactive. | 11 | +| EH_2DCRL_N | | | 0 | +| D_EH_2DCRL | | | 0 | +| PXRD_SIMPLE | | If zero - the full powder diffraction strip detector is active, else a single circular approximation is active. | 1 | +| sample_radius | m | Powder sample cylinder radius | 100e-6 | +| pxrd_strip_tth0 | deg | Angle offset of the PXRD 1d-strip detector from the optical axis. | 0 | +| debugMon | | If nonzero, all intermediate monitors appear for debugging purposes. | 1 | +| beamStop | | If nonzero, a beamstop is in between sample and PXRD 1d-strip detector. | 0 | +| SPLITS | | Split-number at the sample-position | 1410 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/MAXIV/MAXIV_DanMAX_pxrd1d/MAXIV_DanMAX_pxrd1d.instr) for `MAXIV_DanMAX_pxrd1d.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/MAXIV/MAXIV_DanMAX_pxrd2d/MAXIV_DanMAX_pxrd2d.md b/mcxtrace-comps/examples/MAXIV/MAXIV_DanMAX_pxrd2d/MAXIV_DanMAX_pxrd2d.md new file mode 100644 index 0000000000..9d1e34dcdf --- /dev/null +++ b/mcxtrace-comps/examples/MAXIV/MAXIV_DanMAX_pxrd2d/MAXIV_DanMAX_pxrd2d.md @@ -0,0 +1,59 @@ +# The `MAXIV_DanMAX_pxrd2d` Instrument + +*McXtrace: DanMAX Powder diffraction/Imaging beamline being designed at MAX IV.* + +## Identification + +- **Site:** MAXIV +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Aug 2015 + +## Description + +```text +Design study model of the DanMAX PowderX/Imaging beamline. +This early version uses a Gaussian approximation source, and a simple bandpass filter +as the multilayer. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | The central energy to sample from source model. | 35 | +| DE | keV | Spectral width (std. dev. if gaussian source) to sample from source model. | 0.05 | +| undK | | Undulator K parameter, overrides E0. | 0 | +| undDetune | eV | First harmonic detuning in eV. When zero - max flux on axis. If set to approx. 4 eV one can gain ~20% of flux through the aperture. | 4 | +| DCM_e0 | keV | The energy to tune the Si monochromator to. May be different from E0. If 0 the DCM is controlled by DCM_angle. | 35 | +| DMM_e0 | keV | The energy to tune the ML monochromator to. May be different from E0. If 0 the DMM is controlled by DMM_angle. | 35 | +| oh_premonoh | m | Pre-mono (white beam) slit height. | 1e-3 | +| oh_premonow | m | Pre-mono (white beam) slit width. | 1e-3 | +| oh_endh | m | OH exit slit height. | 1e-3 | +| oh_endw | m | OH exit slit width. | 1e-3 | +| PXRDsampleap_h | m | PXRD clean-up aperture height. | 300e-6 | +| PXRDsampleap_w | m | PXRD clean-up aperture width. | 300e-6 | +| DMM_angle | deg | Glancing angle of the ML. | 0 | +| DCM_angle | deg | Glacing angle of the Si-111 monochromator crystals. | 0 | +| DCM | | If nonzero the high-resolution SI DCM is active. | 1 | +| DMM | | If nonzero the multilayer mono is active. | 0 | +| OH_2DCRL_N | | Number of 2D focus CRLs in the optics hutch transfocator. 0 means transfocator is inactive. | 0 | +| EH_2DCRL_N | | | 0 | +| D_EH_2DCRL | | | 0 | +| sample_radius | m | Powder sample cylinder radius | 100e-6 | +| pxrd_2d_y | m | Offset of 2d-area detector centre perpendicular to the detector arm. | 135e-3 | +| pxrd_2d_tthc | | Rotation around the sample tube (i.e. the x-axis) of the 2d-area detector arm. | 0 | +| SDD_2D | | | 150e-3 | +| debugMon | | If nonzero, all intermediate monitors appear for debugging purposes. | 1 | +| beamStop | | If nonzero, a beamstop is in between sample and PXRD 2d-detector. | 1 | +| SPLITS | | Split-number at the sample position. | 100 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/MAXIV/MAXIV_DanMAX_pxrd2d/MAXIV_DanMAX_pxrd2d.instr) for `MAXIV_DanMAX_pxrd2d.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/MAXIV/MAXIV_FemtoMAX/MAXIV_FemtoMAX.md b/mcxtrace-comps/examples/MAXIV/MAXIV_FemtoMAX/MAXIV_FemtoMAX.md new file mode 100644 index 0000000000..c905de2720 --- /dev/null +++ b/mcxtrace-comps/examples/MAXIV/MAXIV_FemtoMAX/MAXIV_FemtoMAX.md @@ -0,0 +1,41 @@ +# The `MAXIV_FemtoMAX` Instrument + +*McXtrace: Simulation of the FemtoMAX short pulse facility at MAX IV laboratory* + +## Identification + +- **Site:** MAXIV +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Jun 2017 + +## Description + +```text +This a a skeleton version of the FemtoMAX short-pulse facility at MAXIV +N.b. This model is out of date with the present day instrumentation of FemtoMAX. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| DXUS | m | Horizontal opening of the user slit. | 1e-2 | +| DYUS | m | Vertical opening of the user slit. | 1e-2 | +| MONO | | Flag enabling the Crystal monochromator. | 1 | +| MLMONO | | Flag enabling the mulitlayer monochromator. | 1 | +| U2SRC | | Flag enabling wide source model. | 1 | +| U3SRC | | Flag enabling the narrow source model. Overrides U2SRC. | 0 | +| RX | | X-rotation of the sample goniometer. | 0 | +| RY | | Y-rotation of the sample goniometer. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/MAXIV/MAXIV_FemtoMAX/MAXIV_FemtoMAX.instr) for `MAXIV_FemtoMAX.instr`. +- https://www.maxiv.lu.se/accelerators-beamlines/beamlines/femtomax/ + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/NBI/NBI_Lab_TOMO/NBI_Lab_TOMO.md b/mcxtrace-comps/examples/NBI/NBI_Lab_TOMO/NBI_Lab_TOMO.md new file mode 100644 index 0000000000..088e9e6502 --- /dev/null +++ b/mcxtrace-comps/examples/NBI/NBI_Lab_TOMO/NBI_Lab_TOMO.md @@ -0,0 +1,41 @@ +# The `NBI_Lab_TOMO` Instrument + +*McXtrace: Laboratory tomography setup at NBI* + +## Identification + +- **Site:** NBI +- **Author:** Erik B Knudsen and M Thomsen +- **Origin:** Your institution +- **Date:** March 3rd 2014 + +## Description + +```text +Consists simply of a Mo-source, a sample, an Al-filter and a detector, all in line with each other +The sample is a chess-king off-shape. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| fname | | filename which contains the emission spectrum for the source | "spectrumU50_th5.dat" | +| d_sample_det | m | distance between the sample and the detector | .790 | +| d_source_sample | m | distance between source adn sample | 1.1450 | +| Omega | deg | rotation angle of sample (around y-axis) | 0 | +| detw | m | Detector width | .0351 | +| deth | m | Height of detector | .0334 | +| rx | deg | Rotation of the sample around the X-axis | -80 | +| ry | deg | Rotation of the sample around the Y-axis | 0 | +| rz | deg | Rotation of the sample around the Z-axis | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/NBI/NBI_Lab_TOMO/NBI_Lab_TOMO.instr) for `NBI_Lab_TOMO.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/NECSA/NECSA_Brucker_D8_Advance/NECSA_Brucker_D8_Advance.md b/mcxtrace-comps/examples/NECSA/NECSA_Brucker_D8_Advance/NECSA_Brucker_D8_Advance.md new file mode 100644 index 0000000000..bf79c38b58 --- /dev/null +++ b/mcxtrace-comps/examples/NECSA/NECSA_Brucker_D8_Advance/NECSA_Brucker_D8_Advance.md @@ -0,0 +1,47 @@ +# The `NECSA_Brucker_D8_Advance` Instrument + +*McXtrace: Brucker D8 Advance lab powder diffratometer* + +## Identification + +- **Site:** NECSA +- **Author:** us all in ZA ! +- **Origin:** Necsa, ZA +- **Date:** 2024 Oct 11th + +## Description + +```text +This is a lab-scale diffractometer, Brucker D8 Advance type. + +- X-ray Tubes Cu (1.54 Å), Co (1.79 Å), Cr (2.29 Å) +- Beam sizes 0.1 x 15 mm2; 1 mm collimator +- Distance btw souurce and 1st slit: 332mm +- sample-detector distance: 435 mm +- Detector LynxEye 1D 192 pixels 14.4 x 16 mm + +Example: +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| source_material | str | anode type, among Cu.txt, Co.txt, Cr.txt | "Cu.txt" | +| Emin | keV | minimum energy at the source | 1 | +| Emax | keV | maximum energy at the source | 9 | +| Gobel_radius | m | Gobel curved mirror curvature radius | 0.5 | +| Gobel_rotation | deg | Gobel curved mirror rotation | 20 | +| Gobel_coating | str | Gobel curved mirror coating, e.g. Ir.dat | "Ir.dat" | +| Sample_material | str | sample material, e.g. CIF/LAU/LAZ file | "Si.laz" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/NECSA/NECSA_Brucker_D8_Advance/NECSA_Brucker_D8_Advance.instr) for `NECSA_Brucker_D8_Advance.instr`. +- http://nanoqam.ca/wiki/lib/exe/fetch.php?media=d8_advance_discover_user_manual_vol._1_doc-m88-exx153_v6.pdf + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/NECSA/NECSA_MIXRAD_Nikon_Tomo/NECSA_MIXRAD_Nikon_Tomo.md b/mcxtrace-comps/examples/NECSA/NECSA_MIXRAD_Nikon_Tomo/NECSA_MIXRAD_Nikon_Tomo.md new file mode 100644 index 0000000000..15200dd255 --- /dev/null +++ b/mcxtrace-comps/examples/NECSA/NECSA_MIXRAD_Nikon_Tomo/NECSA_MIXRAD_Nikon_Tomo.md @@ -0,0 +1,50 @@ +# The `NECSA_MIXRAD_Nikon_Tomo` Instrument + +*McXtrace: Nikon XTH 225 Tomograph* + +## Identification + +- **Site:** NECSA +- **Author:** us all at Necsa +- **Origin:** Necsa, ZA +- **Date:** Oct 11th 2024 + +## Description + +```text +This is a simple description of the MIXRAD Nikon X-ray tomograph installed at NECSA, ZA + +- The source voltage is 30-225 kV with a electron beam current of 1 mA. +- Anode material: Mo; Cu; W; Ag +- The source spot size is 1-3 um. +- The emission cone is 25 degrees. +- The detector is 400x400 mm, with a 200 um pixel size (2000x2000). +- The source-sample distance is at least 61 cm. +- The source-detector distance is 1.147 m. + +Example: +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Source_material | str | source anode, e.g. W.txt | "W.txt" | +| Emin | keV | minimum energy at the source | 1 | +| Emax | keV | maximum energy at the source | 75 | +| Sample_material | str | sample material, e.g. chemical formulae or CIF file | "Fe2O3Au" | +| sample_shape | str | OFF/PLY file | "king.off" | +| Sample_rotation | deg | sample rotation angle around Y vertical | 90 | +| Sample_distance | deg | sample location wrt source. detector fixed at 1.147 m | 0.5 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/NECSA/NECSA_MIXRAD_Nikon_Tomo/NECSA_MIXRAD_Nikon_Tomo.instr) for `NECSA_MIXRAD_Nikon_Tomo.instr`. +- https://www.necsa.co.za/service/micro-focus-x-ray-radiography-and-tomography-facility-mixrad/ +- https://www.ndt.net/article/wcndt2012/papers/37_wcndtfinal00037.pdf + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/NIST/DBD_IBM_Si_analyzer_BC/DBD_IBM_Si_analyzer_BC.md b/mcxtrace-comps/examples/NIST/DBD_IBM_Si_analyzer_BC/DBD_IBM_Si_analyzer_BC.md new file mode 100644 index 0000000000..e40844a93f --- /dev/null +++ b/mcxtrace-comps/examples/NIST/DBD_IBM_Si_analyzer_BC/DBD_IBM_Si_analyzer_BC.md @@ -0,0 +1,56 @@ +# The `DBD_IBM_Si_analyzer_BC` Instrument + +*McXtrace: Mockup of 219/B002 DBD* + +## Identification + +- **Site:** NIST +- **Author:** Marcus H. Mendenhall (marcus.mendenhall@nist.gov) +- **Origin:** NIST +- **Date:** May '17 + +## Description + +```text +This is a preliminary setup of the DBD with the Ge111 Johansson IBM +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| a_distance_error | m | Logitudinal offset of source. | 0.0 | +| figure_radius_multiplier | | Extra multiplicative factor to the crystal curvature. | 1.0 | +| lattice_radius_multiplier | | Extra factor to the lattice curvature. Currently IGNORED. | 1.0 | +| beam_hor | m | Beam width of source. | 0.01 | +| beam_vert | m | Unscaled Beam height of source. Will be scaled with take_off angle. | 0.00004 | +| tails_integral | | Integrated beam power in the source tails. | 0.05 | +| tails_width | m | Width of the source tails. | 0.002 | +| slit_1_vert | m | Vertical opening of 1st slit. | 0.004 | +| slit_1_hor | m | Horizontal opening of 1st slit. | 0.01 | +| slit_2_vert | m | Vertical opening of 2nd slit. | 0.0002 | +| slit_2_hor | m | Horizontal opening of 2nd slit. | 0.02 | +| slit_3_hor | m | Horizontal opening of 3rd slit. | 0.02 | +| slit_3_vert | m | Vertical opening of 3rd slit. | 0.01 | +| ibm_offset | m | Offset (rotational) of optical arm. | 0.00 | +| two_theta_si | deg. | Monochromator crystal scattering angle. | 94.963 | +| emin | keV | Lower energy to be simulated. | 8.047 | +| emax | keV | i Upper energy to be simulated. | 8.0471 | +| take_off | deg | Take off angle of source. | 6.0 | +| use_flat_source | | Use a soimplified flat source approximation. | 0 | +| use_si_crystal | | Activate the monochromator crystal. | 1 | +| si_hh | | 1st Miller index (h) of monochromator crystal. | 3 | +| si_kk | | 2nd index (k) of monochromator crystal. | 3 | +| si_ll | | 3rd Miller index (l) of monochromator crystal. | 3 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/NIST/DBD_IBM_Si_analyzer_BC/DBD_IBM_Si_analyzer_BC.instr) for `DBD_IBM_Si_analyzer_BC.instr`. +- +- "International Tables for Crystallography (2018). Vol. H, Chapter 3.1, pp. 224–251." + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/NIST/PBD_BT/PBD_BT.md b/mcxtrace-comps/examples/NIST/PBD_BT/PBD_BT.md new file mode 100644 index 0000000000..89f2c45edc --- /dev/null +++ b/mcxtrace-comps/examples/NIST/PBD_BT/PBD_BT.md @@ -0,0 +1,65 @@ +# The `PBD_BT` Instrument + +*McXtrace: Mockup of NIST 219/B004 PBD* + +## Identification + +- **Site:** NIST +- **Author:** Marcus H. Mendenhall (marcus.mendenhall@nist.gov) +- **Origin:** Your institution +- **Date:** Current Date + +## Description + +```text +This is a preliminary setup of the PBD, using single-bounce crystals instead of 3-bounce crystals +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| source_y | m | Vertical offset of the source exit-widow. | 0.0 | +| source_rotation | deg | Rotation around the X-axis of the source. | 0.0 | +| beam_vert | m | Height of beam exit.window. | 0.002 | +| beam_hor | m | Width of beam exit-window. | 0.001 | +| mirror_length | m | Length of the focusing mirror | 0.05 | +| mirror_full_deflection_angle | deg | Deflection angle of mirror | 2.32 | +| mirror_center_distance | m | Distance from | 0.1 | +| mirror_focal_error | m | Additional shift on the mirror focal distance | 0.0 | +| mirror_rotation_angle | deg | Mirror tilt angle | -2.32 | +| mirror_y_offset | m | | 0.0 | +| use_mirror | | Flag to set whether to use the mirror or no. | 1 | +| mono_rotation | deg | Rotation angle of the monochromator crystal. | 0.0 | +| use_mono | | Flag enabling/disabling the monochromator. | 1 | +| mono_detuning_seconds | arcsec | Detuning angle for the monochromator crystal(s). | 34 | +| mono_misalignment_angle_arcsec | arcsec | Mislignment of the monochromator. | 0 | +| mono_incident_angle_deg | deg | Nominal angle of incidence for beam vs. monochromator. | 3.0 | +| slit_1_vert | m | 1st aperture vertical. | 0.001 | +| slit_1_hor | m | 1st aperture horizontal. | 0.0015 | +| slit_2_vert | m | 2nd aperture vertical. | 0.005 | +| slit_2_hor | m | 2nd aperture horizontal. | 0.002 | +| emin | keV | Minimal energy to sample. | 8.046 | +| emax | keV | Maximal energy to sample. | 8.050 | +| omega | deg | Sample roation around the Y-axis. | 106.715 | +| theta | deg | Sample rotation around the X-axis. | -160.0725 | +| crystal_central_angle | deg | sample_crystal_angle. | 53.355 | +| hh | | 1st Miller index of the sample crystal reflection under study. | 4 | +| kk | | 2nd Miller index of the sample crystal reflection under study. | 4 | +| ll | | 3rd Miller index of the sample crystal reflection under study. | 0 | +| use_flat_source | | Use a flat source instead of Lab_source, for debugging. | 0 | +| stop_at_energy | | Flag | 0 | +| use_3_bounce | | Use a 3-bounce set up instead of 1-bounce. | 1 | +| run_setup | string | Which setup to use? | "nosetup" | +| polarization | string | Should polarization be taken into effect. | "0" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/NIST/PBD_BT/PBD_BT.instr) for `PBD_BT.instr`. +- + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/NSLS2/NSLS2_CHX/NSLS2_CHX.md b/mcxtrace-comps/examples/NSLS2/NSLS2_CHX/NSLS2_CHX.md new file mode 100644 index 0000000000..7d55d9d8c1 --- /dev/null +++ b/mcxtrace-comps/examples/NSLS2/NSLS2_CHX/NSLS2_CHX.md @@ -0,0 +1,40 @@ +# The `NSLS2_CHX` Instrument + +*McXtrace: Coherent hard x-ray beamline @ NSLS II* + +## Identification + +- **Site:** NSLS2 +- **Author:** Jana Baltser +- **Origin:** NBI, BNL +- **Date:** March 2011 + +## Description + +```text +This is a lay-out of the coherent hard x-ray (CHX) beamline at NSLS-II. +Since the ray-tracing method doesn't allow to account for partial coherence of the +undulator source, the best approximation was to use the gaussian photon beam and to neglect +diffraction effects on apertures. +The choice of the source sizes along with angular divergence corresponds to the situation of +high emittance (e=0.99nm). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| L | m | Distance from the source to the SS1, secondary source aperture. | 33.5 | +| L2 | m | Position of the CRL. | 35.3 | +| L3 | m | Position of the Kinoform lens. | 44 | +| Energy | keV | primary energy used at the beamline. | 10 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/NSLS2/NSLS2_CHX/NSLS2_CHX.instr) for `NSLS2_CHX.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SAXSLAB/JJ_SAXS/JJ_SAXS.md b/mcxtrace-comps/examples/SAXSLAB/JJ_SAXS/JJ_SAXS.md new file mode 100644 index 0000000000..27253fb0f7 --- /dev/null +++ b/mcxtrace-comps/examples/SAXSLAB/JJ_SAXS/JJ_SAXS.md @@ -0,0 +1,40 @@ +# The `JJ_SAXS` Instrument + +*McXtrace: Crude model of a laboratory SAXS-instrument mimicking the type sold by SAXSlab/JJ-Xray Systems.* + +## Identification + +- **Site:** SAXSLAB +- **Author:** Erik Knudsen (erkn@risoe.dtu.dk) +- **Origin:** Risø DTU, (Finnair flight AY67 to Hong Kong) +- **Date:** September 24th, 2009 + +## Description + +```text +This is a very sketchy model of a SAXS-system, related to the old design of JJ X-ray systems. +It has been superseeded by the SAXS_saxslab model. +Limitations include: +- Focusing only in 1 direction. +- iNo reflectivity coating is implemented. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| pin2_pos | m | distance between 1st and 2nd pinhole in beam tube | 0.2 | +| pin3_pos | m | distance between 2nd and 3rd pinhole in beam tube | 0.4 | +| optic_L | m | length of the focusing optic | 0.1 | +| sample_pos | m | distance from 3rd pinhole to sample | 0.2 | +| detector_pos | m | distance from 3rd pinhole to detector | 2 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SAXSLAB/JJ_SAXS/JJ_SAXS.instr) for `JJ_SAXS.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SAXSLAB/SAXS_saxlab/SAXS_saxlab.md b/mcxtrace-comps/examples/SAXSLAB/SAXS_saxlab/SAXS_saxlab.md new file mode 100644 index 0000000000..8fdb160d89 --- /dev/null +++ b/mcxtrace-comps/examples/SAXSLAB/SAXS_saxlab/SAXS_saxlab.md @@ -0,0 +1,59 @@ +# The `SAXS_saxlab` Instrument + +*McXtrace: SAXSLab small-angle scattering (SAXS)* + +## Identification + +- **Site:** SAXSLAB +- **Author:** +- **Origin:** +- **Date:** + +## Description + +```text +The small-angle scattering (SAXS) instrument generally consists of the following parts: +the X-ray source ( the system includes rotating copper anode and KB multilayermirrors), +a pinhole collimation system and a detector. + +The geometry of this instument is such that an x-ray source (turned 45 deg.) shines light +on Montel mirror pair. The mirror pair is mounted such that the doubly reflected radiation +is deflected downwards (negative y-axis). This means the the mirror join is pointing upwards, and th +mirrors themselves extending +-45 degrees downwards. +There are slits attached to the mirror exits +This arrangement is designed to closesly resemble the SAXSlab system installed at +NBI (University of Copenhagen) + +The evolution of the beam is tracked using a series of 2D PSD monitors situated along the beam axis, +which points slightly down. +In real life the beam axis is parallel to the ground and the source is shining slightly upwards. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Gamma | deg | Nominal mirror glancing angle | 1.2 | +| GammaP | deg | When given, Gamma=Gamma/sqrt(2) | 0 | +| S1 | m | Distance from the source to the multilayer's surface | .045 | +| S2 | m | Focal distance of the multilayer | .9 | +| Energy | keV | Primary energy of the photon beam | 8.05 | +| mirrorin | | Flag controlling whether or not the mirror is active. | 3 | +| pin1 | | Flag controlling whther the 1st pinhole is active. | 1 | +| pin2 | | Flag controlling whther the 2nd pinhole is active. | 1 | +| pin3 | | Flag controlling whther the 3rd pinhole is active. | 1 | +| Lpsd1 | m | Distance from mirror centre to 1st diagnostic PSD. | 0.160 | +| Lpsd2 | m | Distance from vacumm chamber entry to 2nd diagnostic PSD. | 0.15 | +| Lpsd3 | m | Distance from vacumm chamber entry to 3rd diagnostic PSD. | 1.2 | +| detPos | m | Distance from vacuum chamber entry to Detector. | 1.41 | +| detOffSet | m | Final detector shift along Y | 3e-2 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SAXSLAB/SAXS_saxlab/SAXS_saxlab.instr) for `SAXS_saxlab.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SOLEIL/SOLEIL_ANATOMIX/SOLEIL_ANATOMIX.md b/mcxtrace-comps/examples/SOLEIL/SOLEIL_ANATOMIX/SOLEIL_ANATOMIX.md new file mode 100644 index 0000000000..66faff744d --- /dev/null +++ b/mcxtrace-comps/examples/SOLEIL/SOLEIL_ANATOMIX/SOLEIL_ANATOMIX.md @@ -0,0 +1,81 @@ +# The `SOLEIL_ANATOMIX` Instrument + +*McXtrace: The ANATOMIX tomography beam-line at Synchrotron SOLEIL.* + +## Identification + +- **Site:** SOLEIL +- **Author:** J. Perrin and E. Farhi +- **Origin:** Synchrotron SOLEIL +- **Date:** 2022-03-23 + +## Description + +```text +The beamline ANATOMIX (Advanced Nanotomography and Imaging with coherent X rays) +works at photon energies between 5 and 50 keV. It is dedicated to full-field +radiography and tomography in absorption and phase contrast, with pixel sizes +from 20 nm to 20 µm. + +ANATOMIX is a beamline for X-ray tomography on the micro- and nanoscale, in +absorption and phase contrast. It operates in the energy range from 5 keV upward +and allows its users to obtain two- and three-dimensional radiographic images of +bulk volume samples of macroscopic size (up to several cm thickness). For +smaller samples, a spatial resolution down to 50 nm (20 nm pixel size) can be +achieved. Real-time studies are possible at speeds of currently up to one +microtomography scan per second; higher speeds up to 20 volume scans per second +(50 ms per scan) have been demonstrated. + +A flexible sample interface enables in situ and/or operando studies under +conditions similar to the natural or working environment of the samples +(temperature, humidity, mechanical load, transport processes). Biological +samples can be measured without dehydration and, in many cases, without chemical +fixation. With suitable sample preparation, cellular imaging without cryogenic +environment is possible. + +This is a simplified model with an Undulator, a double channel-cut monochromator, +a sample stage and a detector. It models a parallel beam full field tomograph. +The monochromator is an Si(111), the sample is made of Ge. The sample is 2 cm +wide. + +List of important beamline elements. Distances are given from the center of the undulator. + +Element | Distance (m) | Description |Hutch +--------|--------------|--------------|------------------- +Diaphragm | 22.7 | Rectangular aperture | 2.5 × 2 mm2 (h×v). | OH1 +Vertical slit | 23.2 | Horizontal aperture 100. . .300 μm, removable. Increases horizontal transverse coherence where needed. | +Primary slits | 25.9 | Define footprint on mirror and other optics. | +Attenuators | 34.6 | Protect transfocator and other downstream elements. | OH3 +Mirror M1 | 35.3 | Horiz. deflection. Useful length 400 mm. Bender for horiz. focusing (focal length 3.5 m). Coatings: B4C, Rh, Pt. Grazing angle ≈ 3 mrad. | +Mirror M2 | 36.3 | Horiz. deflection. Plane mirror, steers beam back into direction parallel to direct beam, offset 5 mm. Same length, angle and coatings as M1. | +Transfocator | 37.7 | Beryllium lenses. | +Vertical slit | 38.8 | Defines horizontal secondary source when mirror is used. | +Secondary slits | 48.4 | Define footprint on monochromators. | OH4 +Attenuators | 48.8 | Filter out low energies, especially when using DMM. | +DMM | 49.8 | Under design. Vertical deflection, beam offset 20 mm. Tentative specs: two strips Ru/B4C, Ir/B4C, d = 2.4 nm. 400-mm substrates. | +DCM | 52.7 | Vertical deflection, beam offset 20 mm. Si(111), LN2-cooled. | +EH3 | 165.7-174.1 | Guard slits; TXM sample stage and zone-plate table; microtomography sample stage; detector table | EH3 +EH4 | 197.2-208.5 | Guard slits; microtomography sample stage; detector table; X-ray grating interferometer | EH4 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Energy selected at the Undulator. | 11 | +| Emono | keV | Energy selected at the monochromator. When 0, it is set to E0. | 0 | +| dE | keV | Energy spread at the Undulator. | 1 | +| ANGLE | deg | Rotation angle of the sample stage. | 0 | +| sample | str | Sample geometry file, OFF/PLY format. | "wire.ply" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SOLEIL/SOLEIL_ANATOMIX/SOLEIL_ANATOMIX.instr) for `SOLEIL_ANATOMIX.instr`. +- https://www.synchrotron-soleil.fr/en/beamlines/anatomix +- T Weitkamp et al 2017 J. Phys.: Conf. Ser. 849 012037 DOI: 10.1088/1742-6596/849/1/012037 + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SOLEIL/SOLEIL_CASSIOPEE/SOLEIL_CASSIOPEE.md b/mcxtrace-comps/examples/SOLEIL/SOLEIL_CASSIOPEE/SOLEIL_CASSIOPEE.md new file mode 100644 index 0000000000..edb45fa275 --- /dev/null +++ b/mcxtrace-comps/examples/SOLEIL/SOLEIL_CASSIOPEE/SOLEIL_CASSIOPEE.md @@ -0,0 +1,59 @@ +# The `SOLEIL_CASSIOPEE` Instrument + +*McXtrace: CASSIOPEE beamline at SOLEIL* + +## Identification + +- **Site:** SOLEIL +- **Author:** François Bertran +- **Origin:** SOLEIL +- **Date:** 11/03/2022 + +## Description + +```text +CASSIOPEE : Combined Angle- and Spin-resolved SpectroscopIes Of PhotoEmitted Electrons + +The CASSIOPEE beamline is dedicated to photoemission experiments in the 8 eV - +1500 eV photon energy range. The beamline uses two undulators, and the main +optical elements are the entrance optics and the monochromator. After the +monochromator, the beamline is divided into two branches, supplying photons to +two endstations (Spin-resolved Photoemission, and High Resolution Angle-resolved +Photoemission), both connected to a Molecular Beam Epitaxy chamber. + +Position | Element +---------|-------------------------------------------------------------------- +0 | Undulator HU60 / HU256 +21.83 | Plane mirror M1a +22.18 | Spherical mirror M1b +28.83 | Plane grating (reflection) +29.02 | Plane mirror M2 +30.83 | Slit +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| mirror_material | str | Mirror M1 coating (e.g. Pt.dat) | "Pt.dat" | +| undulator_index | 1-2 | Undulator 1=HU60; 2=HU256 | 1 | +| M1_angle | deg | M1 mirror angle. 0=auto | 0 | +| PG_angle | deg | Reflective grating monochromator. 0=auto | 0 | +| PM_angle | deg | M2 mirror angle. 0=auto | 0 | +| E0 | keV | Undulator emission energy, e.g. 40e-3 or 300e-3 keV. 0=auto | 0 | +| dE | keV | Undulator energy bandwidth, e.g. 1e-3. | 1e-3 | +| lambda | Ang | Undulator emission wavelength. Used when E0=0. | 0 | +| beta_mono | deg | Monochromator angle. 0=auto | 0 | +| r_rho | /mm | Grating number of lines/mm. 0=auto. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SOLEIL/SOLEIL_CASSIOPEE/SOLEIL_CASSIOPEE.instr) for `SOLEIL_CASSIOPEE.instr`. +- https://www.synchrotron-soleil.fr/en/beamlines/cassiopee +- https://www.researchgate.net/deref/https%3A%2F%2Ftel.archives-ouvertes.fr%2Ftel-01064523 + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SOLEIL/SOLEIL_DIFFABS/SOLEIL_DIFFABS.md b/mcxtrace-comps/examples/SOLEIL/SOLEIL_DIFFABS/SOLEIL_DIFFABS.md new file mode 100644 index 0000000000..7d05330ddc --- /dev/null +++ b/mcxtrace-comps/examples/SOLEIL/SOLEIL_DIFFABS/SOLEIL_DIFFABS.md @@ -0,0 +1,65 @@ +# The `SOLEIL_DIFFABS` Instrument + +*McXtrace: SOLEIL DIFFABS Combining X‐ray diffraction and absorption to study a large variety of materials* + +## Identification + +- **Site:** SOLEIL +- **Author:** E. Farhi and D. Thiaudiere +- **Origin:** SOLEIL +- **Date:** May 2023 + +## Description + +```text +This is model of the DIFFABS beam-line at synchrotron SOLEIL, combining diffraction and absorption. + +The range of instrumental techniques that can be used on this line concerns +numerous sectors of fundamental research and finalized applied research (oil +industry, nuclear field , metallurgy) among which the science of materials and +chemistry hold a predominant position. In particular, in situ studies of the +transformations in materials at ultra-high temperature will be the domain of +excellence of this line. The interest of coupled absorption, or coupled - +diffraction measurements on powders or monocristalssingle crystals, is to ensure +that both experiments are carried out on the same zone of the sample, in +absolutely identical physico-chemical conditions (temperature, pressure, +reactive atmosphere around the sample), which is very important for establishing +correlations between the information provided by both types of measurements in +the case of complex materials or materials under extreme conditions. + +Position | Element +---------|-------------------------------------------------------------------- +0 | the BM D13-1 Bender B=1.71 T in range 3-23 keV, e-beam cross-section 55.1x20.6 µm2 123.7x1.6 µrad. Other specs give 60.1x24.9 µm and 134.8x2.1 µrad. Critical energy 8.6 keV. +11.85 | primary slit +14.92 | M1 bent mirror with Rh/Si coating. Focuses vertically the beam on the DCM. length 1300 mm, width 100 mm. 2.4 mrad incidence above 19 keV, 3 mrad in 12.5-19 keV, and 5 mrad in 6.5-12.5 keV, and 6 mrad below. +17.462 | a Si(111) DCM. First crystal is 200x100 mm flat at 2.54 m from M1; 2nd is bent 70x100 mm to focus the beam horizontally. +19.28 | M2 bent mirror with Rh coating, 1300x100 mm. Focuses vertically the beam. At 1.817 from DCM. +27.752 | secondary slits when using the KB. We ignore them here. +31.227 | a KB mirror set M3/M4 for micro focusing. We ignore them here. +31.45 | sample stage with e.g. Fluorescence and/or PowderN components. At 13.99 from DCM. +32.09 | a set of detectors (transmission, XRD and XRF), radius 654 mm +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Central energy of the interval to be looked at | 13 | +| dE | keV | Half-width of the energy interval | 1 | +| M1_angle | mrad | Rotation angle of M1/M2 mirrors. When left as 0, it is set automatically from E0. | 0 | +| M1_radius | m | Curvature radius of M1 mirror (Rh, 1300x100) longitudinal. Positive=mirror is focusing. 0=flat. | 1400 | +| M2_radius | m | Curvature radius of M2 mirror (Rh, 1300x100) sagittal. Positive=mirror is focusing. 0=flat. | 1400 | +| DCM_theta | deg | Rotation angle of DCM crystals. When left as 0, it is set automatically from E0. | 0 | +| sample | str | Sample structure file, LAU/CIF format. | "LaB6_660b_AVID2.hkl" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SOLEIL/SOLEIL_DIFFABS/SOLEIL_DIFFABS.instr) for `SOLEIL_DIFFABS.instr`. +- https://www.synchrotron-soleil.fr/en/beamlines/diffabs +- Gallard, PhD, (2019) https://www.theses.fr/2019AIXM0037.pdf + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SOLEIL/SOLEIL_DISCO/SOLEIL_DISCO.md b/mcxtrace-comps/examples/SOLEIL/SOLEIL_DISCO/SOLEIL_DISCO.md new file mode 100644 index 0000000000..852354c5e2 --- /dev/null +++ b/mcxtrace-comps/examples/SOLEIL/SOLEIL_DISCO/SOLEIL_DISCO.md @@ -0,0 +1,40 @@ +# The `SOLEIL_DISCO` Instrument + +*McXtrace: DISCO beam-line at SOLEIL, imaging branch* + +## Identification + +- **Site:** SOLEIL +- **Author:** Stephane Bac, Emmanuel Farhi, Antoine Padovani +- **Origin:** SOLEIL +- **Date:** 01/08/2022 + +## Description + +```text +DISCO beamline description here: https://hal.archives-ouvertes.fr/hal-01479318/document +You may scan the grating monochromator with e.g.: +mxrun -n 1e5 SOLEIL_DISCO.instr -N84 x_screw=20,103 scan=1 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| grazing_angle_one | deg | Mirrors M1/M2 rotation angle | 22.5 | +| HFP_shift | m | z translation from the HFP position (horizontal focal point detector) | 0 | +| VFP_shift | m | z translation from the VFP position (vertical focal point detector) | 0 | +| second_HFP_shift | m | z translation second HFP position | 0 | +| x_screw | mm | length of the screw | 50 | +| scan | | if there is an x_screw scan [1], calculate the Wavelength(Angstroms) as a function of x_screw(mm) | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SOLEIL/SOLEIL_DISCO/SOLEIL_DISCO.instr) for `SOLEIL_DISCO.instr`. +- https://www.synchrotron-soleil.fr/en/beamlines/disco + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SOLEIL/SOLEIL_LUCIA/SOLEIL_LUCIA.md b/mcxtrace-comps/examples/SOLEIL/SOLEIL_LUCIA/SOLEIL_LUCIA.md new file mode 100644 index 0000000000..96c201f0fa --- /dev/null +++ b/mcxtrace-comps/examples/SOLEIL/SOLEIL_LUCIA/SOLEIL_LUCIA.md @@ -0,0 +1,46 @@ +# The `SOLEIL_LUCIA` Instrument + +*McXtrace: A simple model for LUCIA at SOLEIL (fluorescence).* + +## Identification + +- **Site:** SOLEIL +- **Author:** E. Farhi +- **Origin:** SOLEIL +- **Date:** 2023 + +## Description + +```text +The HU52 undulator, a DCM, a fluorescence sample, and monitors. +This model does not contain any focusing mirror. +The sample is a kind of biological cell. + +Position | Element +---------|-------------------------------------------------------------------- +0 | HU52 undulator "Apple II" type, 32 periods, gap 15-150mm +20 | Si(111) DCM, 40x40x10 mm^3 E0=5-16 keV +29 | Sample location +29.1 | Fluorescence Detector at 90 deg +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Nominal energy at the source, in 0.6-8 keV. | 3.09 | +| dE | keV | Energy half-bandwidth at the source. | 0.02 | +| dcm_theta | deg | Rotation angle of the DCM. 0=set from energy E0. | 38.9 | +| sample_material | str | Absorption data file for the sample. | "CaCO3AlP" | +| sample_geometry | str | OFF/PLY file name for sample 3D geometry, or NULL for a box. | "plant_cell.ply" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SOLEIL/SOLEIL_LUCIA/SOLEIL_LUCIA.instr) for `SOLEIL_LUCIA.instr`. +- https://www.synchrotron-soleil.fr/en/beamlines/lucia + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SOLEIL/SOLEIL_MARS/SOLEIL_MARS.md b/mcxtrace-comps/examples/SOLEIL/SOLEIL_MARS/SOLEIL_MARS.md new file mode 100644 index 0000000000..df5027981a --- /dev/null +++ b/mcxtrace-comps/examples/SOLEIL/SOLEIL_MARS/SOLEIL_MARS.md @@ -0,0 +1,48 @@ +# The `SOLEIL_MARS` Instrument + +*McXtrace: The MARS beam-line at Synchrotron SOLEIL.* + +## Identification + +- **Site:** SOLEIL +- **Author:** IGUILIZ Salah-Eddine, MENUT Denis and FARHI Emmanuel. +- **Origin:** SOLEIL +- **Date:** July 2022 + +## Description + +```text +MARS beamline is aiming to extend the research capabilities on radioactive +matter towards the use of synchrotron radiation in multidisciplinary fields +biology, chemistry, physics) with respect to national and European safety law*. + +The design of MARS beamline (infrastructure and optics) is also optimized to +alternatively run two experimental stations in orlder to perform +characterizations with transmission and high resolution X-ray powder-diffraction +(XRD), Wide Angle X-ray Scattering (WAXS), Small Angle X-ray scattering (SAXS), +standard and high resolution X-ray absorption spectroscopy (XANES, EXAFS and +HERFD-XANES) and microbeam techniques (microXRF, XAS, XRD). + +This model implements the XRD station for powders. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Central energy to be emitted by the source | 16.99 | +| reflec_material_M12 | str | reflecting coating on curved mirrors, e.g. Pt | "Pt.dat" | +| reflections | str | Sample structure file, LAU/CIF format. | "LaB6_660b_AVID2.hkl" | +| dEr | 1 | Relative half width to emitted by the source, e.g. 1e-4 | 1e-4 | +| alpha | deg | Asymmetry angle for the crystals. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SOLEIL/SOLEIL_MARS/SOLEIL_MARS.instr) for `SOLEIL_MARS.instr`. +- https://www.synchrotron-soleil.fr/en/beamlines/mars + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SOLEIL/SOLEIL_PSICHE/SOLEIL_PSICHE.md b/mcxtrace-comps/examples/SOLEIL/SOLEIL_PSICHE/SOLEIL_PSICHE.md new file mode 100644 index 0000000000..a6d7d06721 --- /dev/null +++ b/mcxtrace-comps/examples/SOLEIL/SOLEIL_PSICHE/SOLEIL_PSICHE.md @@ -0,0 +1,49 @@ +# The `SOLEIL_PSICHE` Instrument + +*McXtrace: A simple model of the PSICHE tomography/diffraction beam-line at Synchrotron SOLEIL.* + +## Identification + +- **Site:** SOLEIL +- **Author:** Emmanuel FARHI +- **Origin:** SOLEIL +- **Date:** Apr 26th 2023 + +## Description + +```text +The PSICHÉ beamline is installed on a short straight section of the SOLEIL +(I03c), The source is a under vacuum multi-pole wiggler (2.1 T) which delivers +a white beam with a large photon energy range (15-100+ keV). +To perform the various experiments performed on the beamline, 4 different +operating modes are available. + +This model allows the white beam mode for energy dispersive x-ray diffraction, +and the monochromatic beam tomography. + +The sample handles absorption, with edge contrast, as well as fluorescence. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Nominal energy at the Wiggler. Sets the monochromator angle when DCM_present | 31 | +| dE | keV | Energy half-bandwidth at the Wiggler | 1 | +| DCM_present | 1 | Allow the monochromator in place (1) or removed (0, white beam) | 0 | +| sample_theta | deg | Rotation of the sample stage | 0 | +| sample_material | str | Absorption data file for the sample | "Ag" | +| sample_geometry | str | OFF/PLY file name for sample 3D geometry, or emty for a box | "wire.ply" | +| dcm_theta | deg | Rotation angle of the DCM. 0=set from energy E0 | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SOLEIL/SOLEIL_PSICHE/SOLEIL_PSICHE.instr) for `SOLEIL_PSICHE.instr`. +- https://www.synchrotron-soleil.fr/en/beamlines/psiche +- A. King et al, Rev Sci Instrum 87, 093704 (2016), DOI: 10.1063/1.4961365 + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SOLEIL/SOLEIL_PX2a/SOLEIL_PX2a.md b/mcxtrace-comps/examples/SOLEIL/SOLEIL_PX2a/SOLEIL_PX2a.md new file mode 100644 index 0000000000..4dc5d4559c --- /dev/null +++ b/mcxtrace-comps/examples/SOLEIL/SOLEIL_PX2a/SOLEIL_PX2a.md @@ -0,0 +1,56 @@ +# The `SOLEIL_PX2a` Instrument + +*McXtrace: The PROXIMA-2a MX beam-line at Synchrotron SOLEIL.* + +## Identification + +- **Site:** SOLEIL +- **Author:** M. Savko and E. Farhi +- **Origin:** Synchrotron SOLEIL +- **Date:** 2022-03-23 + +## Description + +```text +PROXIMA 2A (PX2-A) is a microfocus beamline dedicated to biological +crystallography and innovative micro-beam methodologies. Opened to the +scientific community since 2013, the topics treated on the beamline go beyond +standard protein crystallography and include drug discovery, membrane proteins, +virus crystallography, small molecule crystallography, powder diffraction and +even crystalluria. The beamline is highly automated and designed to help +scientists tackle the most challenging structural targets and biological +systems. The X-ray energy is rapidly tunable over a wide range (6-18 keV) making +the most commonly used absorption edges accessible for anomalous diffraction +experiments. The end station is equipped with a high capacity sample-changing +system (148 SPINE pins), a high performance micro-diffractometer with a +mini-kappa (MD2), an X-ray fluorescence detector (KETEK), and a fast, low-noise, +photon-counting, area detector - the EIGER X 9M (238 fps in 9M mode, 750 fps in +4M mode). + +This is a simplified model with an Undulator, mirrors, a double crystal +monochromator, a sample stage and a detector. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Energy selected at the Undulator. | 12.65 | +| hfm_radius | m | horizontally focusing mirror radius | 495 | +| vfm_radius | m | vertically focusing mirror radius | 859 | +| mirror_grazing_angle | deg | Tilt angle of the mirrors. | 4e-3 | +| sample | str | Sample structure file, LAU/CIF format. | "adrenaline.lau" | +| rotX | deg | Sample rotation around X | 0 | +| rotY | deg | Sample rotation around Y | 0 | +| rotZ | deg | Sample rotation around Z | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SOLEIL/SOLEIL_PX2a/SOLEIL_PX2a.instr) for `SOLEIL_PX2a.instr`. +- https://www.synchrotron-soleil.fr/en/beamlines/proxima-2a + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SOLEIL/SOLEIL_ROCK/SOLEIL_ROCK.md b/mcxtrace-comps/examples/SOLEIL/SOLEIL_ROCK/SOLEIL_ROCK.md new file mode 100644 index 0000000000..fce34eb56f --- /dev/null +++ b/mcxtrace-comps/examples/SOLEIL/SOLEIL_ROCK/SOLEIL_ROCK.md @@ -0,0 +1,74 @@ +# The `SOLEIL_ROCK` Instrument + +*McXtrace: ROCK beam-line at SOLEIL* + +## Identification + +- **Site:** SOLEIL +- **Author:** Stephane Bac, Antoine Padovani, Emmanuel Farhi +- **Origin:** SOLEIL +- **Date:** 23/02/2022 + +## Description + +```text +ROCK : Rocking Optics for Chemical Kinetics ROCK time-resolved X-ray + +Absorption spectroscopy (XAS) beamline Energy range 4 - 40 keV +The ROCK beamline (ROCK being the acronym for Rocking Optics for Chemical Kinetics) +is devoted to the study of fast kinetic processes in nanomaterials used in +catalysis and batteries. The objective is to contribute to the development of +more efficient catalysts and batteries which should find successful industrial +applications in the field of energy generation and storage in compliance with +the protection of public health and environment. The better knowledge at the +atomic scale of nanomaterials involved in catalysis or energy storage provided +by time-resolved XAS is recognized by the concerned communities as mandatory +for establishing synthesis strategies leading to important breakthroughs in +the production of energy from renewable sources and in the development of +advanced energy storage devices. + +Position | Element +---------|-------------------------------------------------------------------- +0 | Bending_magnet 1.72 T +8.5336 | Slit 1/2 +10.15 | Toroidal mirror M1 +11.69 | Slit 3 +16.82 | Mirror M2a +18.15 | Slit 4 +19 | Channel-cut Si monochromator at 20 (Si220), 18.92 or 19.25 m (Si111) +21.13 | Slit 5/6 +22.44 | Mirror M2b +32.44 | Sample + +Examples: +Copper scan: mxrun SOLEIL_ROCK.instr E0=8.500,9.500 scan=1 cc=2 -N100 +Manganese and chrome scan: mxrun SOLEIL_ROCK.instr E0=5.700,6.800 scan=1 sample_file=MnCr cc=2 -N100 +Pretty energy repartition monitor result: mxrun SOLEIL_ROCK.instr E0=17.000 cc=2 -n1e8 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Energy to hit, i.e. selected by the channel-cut monochromator | 15.918 | +| dE | keV | Energy spread at the source | 1 | +| scan | 0-1 | 0 no energy scan, 1 energy scan | 0 | +| angle_m2a_m2b | rad | M2A/M2B mirror's deviation angle, can vary from 0.0035 to 0.0104 | 0.008 | +| angle_m1 | rad | M1 mirror's deviation angle | 0.0045 | +| sample_file | string | Sample chemical formulae | "CuMo" | +| reflec_material_M1 | str | Material reflectivity file name for M1 mirror, e.g. "Ir.dat" | "Ir.dat" | +| reflec_material_M2A_M2B | str | Material reflectivity file name for M2A and M2B mirror. Use NULL for automatic setting. | "NULL" | +| cc | 0-3 | Channel-cut monochromator type. 0 for Si 220 with an energy range of 5.62883-46.2834 eV/4-35 deg (hit-table:11.752-34.055 ev/5.44-15.94 deg); 1 for Si 111 long 3.44694-28.3427 eV/4-35 deg (hit-table:7.196-20.854 ev/5.44-15.94 deg); 2 for Si 111 short 3.44694-18.914.3 eV/6-35 deg (hittable:5.323-18.914 ev/6-21.8 deg); 3 changes cc dynamically | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SOLEIL/SOLEIL_ROCK/SOLEIL_ROCK.instr) for `SOLEIL_ROCK.instr`. +- https://www.synchrotron-soleil.fr/en/beamlines/rock +- https://gitlab.synchrotron-soleil.fr/grades/mcxtrace-rock +- https://github.com/antoinepado/glitch_runner_rock + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SOLEIL/SOLEIL_SIXS/SOLEIL_SIXS.md b/mcxtrace-comps/examples/SOLEIL/SOLEIL_SIXS/SOLEIL_SIXS.md new file mode 100644 index 0000000000..a644408689 --- /dev/null +++ b/mcxtrace-comps/examples/SOLEIL/SOLEIL_SIXS/SOLEIL_SIXS.md @@ -0,0 +1,74 @@ +# The `SOLEIL_SIXS` Instrument + +*McXtrace: A simple model for the SIXS beam-line at SOLEIL (surface diffraction).* + +## Identification + +- **Site:** SOLEIL +- **Author:** E. Farhi, A. Resta, A. Coati +- **Origin:** SOLEIL +- **Date:** 2023 + +## Description + +```text +SixS (Surface Interface X-ray Scattering) is a beamline dedicated to the study +of X-ray scattering from surfaces and interfaces of hard and soft matter in +various environments in the 5-20 keV energy range. To be sensitive to the +surface all the studies are performed in grazing-incidence geometry. The +beamline is equipped with two experimental hutches, which ae dedicated to the +study of surfaces, interfaces and nano-objets prepared: + +- in-situ under UHV (Ultra High Vacuum, i.e. 10-10 mbar) conditions. A +diffractometer allows to measure X-ray scattering from samples under UHV; +- in various environments (catalysis chambers, soft matter, electrochemical +cells). A diffractometer coupled with exchangeable chambers will be able to +measure X-ray scattering from sample surfaces both in vertical or horizontal +geometries. + +Grazing Incidence X-ray Diffraction (GIXD), Grazing Incidence Small Angle +X-ray Scattering (GISAXS), anomalous surface X-ray scattering, X-Ray +Reflectivity (XRR), magnetic surface X-ray scattering and coherent scattering +experiments are performed on both the facilities. + +In this implementation, the multipurpose diffractometer is used, with a thin +single crystal layer on top of a Si bulk. + +Position | Element +---------|-------------------------------------------------------------------- +0 | the U20 undulator +15 | Slit S1 2x0.7 mm^2 +16.5 | a Si(111) DCM, 40x40x10 mm^3 E0=5-20 keV +26 | Mirror M1 Si coated with Pd, elliptically vertical focusing 20x350x20 mm^3 Incident angle 0.175 deg (3 mrad) +28 | Mirror M2 at 20x550x20mm^3. (tilted 45 deg exchange horz/vert components for UHV) +33 | multipurpose diffractometer +42 | UHV diffractometer (not modelled here) + +Example: E0=10 Detector: mon_spl_fluo_I=3.66859e+14 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Nominal energy at the Wiggler. | 13 | +| dE | keV | Energy half-bandwidth at the Wiggler | 0.1 | +| dcm_theta | deg | Rotation angle of the DCM. 0=set from energy E0 | 0 | +| M1_angle | mrad | Rotation angle of M1/M2 mirrors. When left as 0, it is set automatically from E0. | 3 | +| M1_radius | m | Curvature radius of M1 mirror (Rh, 1300x100) longitudinal. Positive=mirror is focusing. 0=flat. | 1400 | +| M2_radius | m | Curvature radius of M2 mirror (Rh, 1300x100) sagittal. Positive=mirror is focusing. 0=flat. | 1400 | +| sample_coating | str | Reflection/structure data file for the single crystal thin layer coating | "Mo.lau" | +| sample_bulk | str | Reflection/structure data file for the single crystal bulk | "Si.lau" | +| sample_thickness | m | The single crystal thin layer coating thickness | 50e-10 | +| sample_angle | deg | The sample tilt angle (around X axis) | 0.175 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SOLEIL/SOLEIL_SIXS/SOLEIL_SIXS.instr) for `SOLEIL_SIXS.instr`. +- https://www.synchrotron-soleil.fr/en/beamlines/sixs + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SOLEIL/SOLEIL_SWING/SOLEIL_SWING.md b/mcxtrace-comps/examples/SOLEIL/SOLEIL_SWING/SOLEIL_SWING.md new file mode 100644 index 0000000000..f899faf4b6 --- /dev/null +++ b/mcxtrace-comps/examples/SOLEIL/SOLEIL_SWING/SOLEIL_SWING.md @@ -0,0 +1,60 @@ +# The `SOLEIL_SWING` Instrument + +*McXtrace: A simple model for the SWING beam-line at SOLEIL (small angle scattering, SAXS).* + +## Identification + +- **Site:** SOLEIL +- **Author:** E. Farhi, S. Bac +- **Origin:** SOLEIL +- **Date:** 2025 + +## Description + +```text +The SWING beamline targets soft condensed matter, conformation of +macro-molecules in solution (BioSAXS) and material sciences. Our experimental +set up allows simultaneous small-angle X-ray scattering (SAXS) and wide-angle +X-ray scattering measurements (WAXS) in the 5-16 keV energy range. Anomalous +scattering experiments can also be performed. A very large variety of types of +samples can be studied, e.g., solutions, gels, amorphous solids, crystallized +solids, thanks to the diversity of the proposed sample environments. + +This model may use any PDB file as sample, or an ideal sphere colloid for testing. + +Position | Element +---------|-------------------------------------------------------------------- +0 | U20 undulator +11.7 | Diaphragm providing HxV=1x0.5 mm beam +20 | Si(111) DCM, 40x40x10 mm^3 E0=5-16 keV +22.5 | Focusing KB (HFM + VFM) +31 | Linear H-CRL (f=81 cm): 31 m +32 | Sample location +32.5-39 | Detector 162.5 x 155.2 mm + +Example: E0=13 Detector: Eiger4M_I=7.5752e+06 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Nominal energy at the Wiggler. | 13 | +| dE | keV | Energy half-bandwidth at the Wiggler | 0.1 | +| dcm_theta | deg | Rotation angle of the DCM. 0=set from energy E0 | 0 | +| hfm_radius | m | Horizontally focusing mirror radius. | 495 | +| vfm_radius | m | Vertically focusing mirror radius. | 859 | +| mirror_grazing_angle | deg | Tilt angle of the mirrors. | 4e-3 | +| sample | str | Sample given as a PDB file, or NULL for a 100A dilute Sphere model. | "6lyz.pdb" | +| sample_det | m | Sample to detector distance in m. | 2 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SOLEIL/SOLEIL_SWING/SOLEIL_SWING.instr) for `SOLEIL_SWING.instr`. +- https://www.synchrotron-soleil.fr/en/beamlines/swing + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SSRL/SSRL_bl_11_2_not_white_src/SSRL_bl_11_2_not_white_src.md b/mcxtrace-comps/examples/SSRL/SSRL_bl_11_2_not_white_src/SSRL_bl_11_2_not_white_src.md new file mode 100644 index 0000000000..b8432bdd1e --- /dev/null +++ b/mcxtrace-comps/examples/SSRL/SSRL_bl_11_2_not_white_src/SSRL_bl_11_2_not_white_src.md @@ -0,0 +1,44 @@ +# The `SSRL_bl_11_2_not_white_src` Instrument + +*McXtrace: Simulating the beamline 11-2 of SSRL to reproduce their glitches database. +The source is chosen to not be white in this instrument to increase the detected photons, another .instr has a white source.* + +## Identification + +- **Site:** SSRL +- **Author:** Stephane Bac, Antoine Padovani +- **Origin:** Synchrotron Soleil +- **Date:** Dec 5th 2022 + +## Description + +```text +BL 11-2 beamline description here: https://www-ssrl.slac.stanford.edu/mes/11-2/manual.php +https://www-ssrl.slac.stanford.edu/mes/Glitch_Curves/ , the instrument is the BL in the unfocussed and uncollimated mode +SSRL glitch database found here: https://www-ssrl.slac.stanford.edu/smbin/dataextractnew.pl +Documentation and results of the .instr here: https://gitlab.synchrotron-soleil.fr/grades/beamlines/-/tree/main/glitches +A jupyter notebook will soon be available regrouping everything. +You may scan like so for example: +mxrun -n 1e7 SSRL_bl_11_2_not_white_src.instr -N601 Etohit=6900,7500 + +Example: Etohit=6900 Detector: EnergyMonitor_first_I=1.3e+10 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Etohit | eV. | Energy used to calculate the bragg angle the monochromator is put at. This is the energy we select. | 6900 | +| h | 1 | Miller indices. | 2 | +| k | 1 | Miller indices. | 2 | +| l | 1 | Miller indices. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SSRL/SSRL_bl_11_2_not_white_src/SSRL_bl_11_2_not_white_src.instr) for `SSRL_bl_11_2_not_white_src.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/SSRL/SSRL_bl_11_2_white_src/SSRL_bl_11_2_white_src.md b/mcxtrace-comps/examples/SSRL/SSRL_bl_11_2_white_src/SSRL_bl_11_2_white_src.md new file mode 100644 index 0000000000..2f9810faa3 --- /dev/null +++ b/mcxtrace-comps/examples/SSRL/SSRL_bl_11_2_white_src/SSRL_bl_11_2_white_src.md @@ -0,0 +1,44 @@ +# The `SSRL_bl_11_2_white_src` Instrument + +*McXtrace: Simulating the beamline 11-2 of SSRL to reproduce their glitches database.* + +## Identification + +- **Site:** SSRL +- **Author:** Stephane Bac, Antoine Padovani +- **Origin:** Synchrotron Soleil +- **Date:** Dec 5th 2022 + +## Description + +```text +BL 11-2 beamline description here: https://www-ssrl.slac.stanford.edu/mes/11-2/manual.php +https://www-ssrl.slac.stanford.edu/mes/Glitch_Curves/ , the instrument is the BL in the unfocussed and uncollimated mode +SSRL glitch database found here: https://www-ssrl.slac.stanford.edu/smbin/dataextractnew.pl +Documentation and results of the .instr here: https://gitlab.synchrotron-soleil.fr/grades/beamlines/-/tree/main/glitches +A jupyter notebook will soon be available regrouping everything. +You may scan like so for example: +mxrun -n 1e7 SSRL_bl_11_2_white_src.instr -N601 Etohit=6900,7500 detuning_percentage=40 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Etohit | eV. | Energy used to calculate the bragg angle the monochromator is put at. This is the energy we select. | 6900 | +| h | 1 | Miller indices. | 2 | +| k | 1 | Miller indices. | 2 | +| l | 1 | Miller indices. | 0 | +| fwhm | deg. | Full width half maximum of the second crystals's rocking curve. | 0.1 | +| detuning_percentage | %. | Percentage of the rocking curve fwhm to detune the second crystal by. | 0 | +| detuning_rockingcurve | deg. | Degrees to detune the second crystal by. Used to find the 2nd xtal's rocking curve. Leave at 0 otherwise. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/SSRL/SSRL_bl_11_2_white_src/SSRL_bl_11_2_white_src.instr) for `SSRL_bl_11_2_white_src.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Templates/Focal_pt_monitor/Focal_pt_monitor.md b/mcxtrace-comps/examples/Templates/Focal_pt_monitor/Focal_pt_monitor.md new file mode 100644 index 0000000000..9a91986270 --- /dev/null +++ b/mcxtrace-comps/examples/Templates/Focal_pt_monitor/Focal_pt_monitor.md @@ -0,0 +1,43 @@ +# The `Focal_pt_monitor` Instrument + +*McXtrace: Template for creating a focal point monitor.* + +## Identification + +- **Site:** Templates +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Aug. 21 + +## Description + +```text +A template instrument shows how to create a focal point monitor with an +instance of Monitor_nD and an EXTEND block on a preceeding Arm. +The instrument uses a point source and a thin lens to create a focus. + +The working principle behind, is to bin the weight carried by each ray by the +z-coordinate (of a cartesian system defined by an Arm preceeding the Monitor_nD +instance) where the ray's trajectory passes closest to the Z-axis. + +Note, the origin of the monitored z-coordinate is defined by the Arm on which +the EXTEND-block is attached (In this case fpt0). If the subsequent monitor +is placed elsewhere an implicit offset will be the result. +The +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Rcurve | m | Radius of curvature of the lens at the apex. | 100e-6 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Templates/Focal_pt_monitor/Focal_pt_monitor.instr) for `Focal_pt_monitor.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Templates/Template_1Slit_Diff/Template_1Slit_Diff.md b/mcxtrace-comps/examples/Templates/Template_1Slit_Diff/Template_1Slit_Diff.md new file mode 100644 index 0000000000..f4a06bfadd --- /dev/null +++ b/mcxtrace-comps/examples/Templates/Template_1Slit_Diff/Template_1Slit_Diff.md @@ -0,0 +1,34 @@ +# The `Template_1Slit_Diff` Instrument + +*McXtrace: An example instrument showing single slit diffraction* + +## Identification + +- **Site:** Templates +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Jan 2014 + +## Description + +```text +A template instrument that shows how single slit diffraction works. +The slit is positioned 1m downstream from a point source. The slit +width may be varied. The slit height is set to .8e-6 m. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| SLITW | m | Width of the slit in question. The | 5e-6 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Templates/Template_1Slit_Diff/Template_1Slit_Diff.instr) for `Template_1Slit_Diff.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Templates/Template_2Slit_Diff/Template_2Slit_Diff.md b/mcxtrace-comps/examples/Templates/Template_2Slit_Diff/Template_2Slit_Diff.md new file mode 100644 index 0000000000..c50dda21c8 --- /dev/null +++ b/mcxtrace-comps/examples/Templates/Template_2Slit_Diff/Template_2Slit_Diff.md @@ -0,0 +1,35 @@ +# The `Template_2Slit_Diff` Instrument + +*McXtrace: An example instrument showing a Young's double slit experiment* + +## Identification + +- **Site:** Templates +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Jan 2014 + +## Description + +```text +A template instrument that shows double slit diffraction. +Two identical slits are positioned 1m downstream from a point source, The slit +width and their separation may be varied. The slit height is set to .8e-6 m. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| SLITW | m | Width of the slit in question. | 1e-6 | +| SLITSEP | m | Double slit separation. | 4e-6 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Templates/Template_2Slit_Diff/Template_2Slit_Diff.instr) for `Template_2Slit_Diff.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Templates/Template_Johann_spec/Template_Johann_spec.md b/mcxtrace-comps/examples/Templates/Template_Johann_spec/Template_Johann_spec.md new file mode 100644 index 0000000000..1b9ba30f5b --- /dev/null +++ b/mcxtrace-comps/examples/Templates/Template_Johann_spec/Template_Johann_spec.md @@ -0,0 +1,44 @@ +# The `Template_Johann_spec` Instrument + +*McXtrace: Template instrument for a curved crystal Johann-spectrometer* + +## Identification + +- **Site:** Templates +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Jan 2019 + +## Description + +```text +This is a template instrument for a Johann spectrometer intended +for easy inclusion in other "real" instrument simulations. + +The source is a divergent line like source which illumnates the +full crystal. The analyzer crystal itself is modelled as a single +bent crystal curved to a primary radius of 2*Rowland-radius. + +To include a Johann spectrometer in an instrument the sample should be put where +source is in this template. and otherwis copy-paste. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| L | m | Length of the analyzer crystal. | 0.2 | +| r_Row | m | Radius of the Rowland circle. Also governs the crystal curvature (2*r_Row). | 0.5 | +| theta_inc | deg | Angle of incidence at the crystal centre | 78.5 | +| dtheta_s | deg | Rotation angle of the Source. To allow scanning with a pencil beam across the crystal face. | 0 | +| phi_s | deg | Opening angle of source. If 0 it is set to cover the full crystal (and some). | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Templates/Template_Johann_spec/Template_Johann_spec.instr) for `Template_Johann_spec.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Templates/template/template.md b/mcxtrace-comps/examples/Templates/template/template.md new file mode 100644 index 0000000000..5695c1b7f1 --- /dev/null +++ b/mcxtrace-comps/examples/Templates/template/template.md @@ -0,0 +1,42 @@ +# The `template` Instrument + +*McXtrace: !!Please write a short instrument (1 line) here!!* + +## Identification + +- **Site:** Templates +- **Author:** Your name (email) +- **Origin:** Your institution +- **Date:** Current Date + +## Description + +```text +Instrument longer description (type, elements, usage...) + +Example: mcrun template.instr + +once your instrument is written and functional: +- replace INSTRUMENT_SITE entry above with your Institution name as a single word +- rename the instrument name after DEFINE INSTRUMENT below +- update the parameter help in the following Parameters section +- update the instrument description, and better add a usage example with a +sensible parameter set. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Par1 | | | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Templates/template/template.instr) for `template.instr`. +- A reference/HTML link for more information + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Templates/template_simple/template_simple.md b/mcxtrace-comps/examples/Templates/template_simple/template_simple.md new file mode 100644 index 0000000000..650f0d3e68 --- /dev/null +++ b/mcxtrace-comps/examples/Templates/template_simple/template_simple.md @@ -0,0 +1,35 @@ +# The `template_simple` Instrument + +*McXtrace: [Put here the instrument short description]* + +## Identification + +- **Site:** Templates +- **Author:** +- **Origin:** +- **Date:** + +## Description + +```text +[Put here a longer instrument description] + +Example: +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| parameter1 | unit | parameter1 description | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Templates/template_simple/template_simple.instr) for `template_simple.instr`. +- + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests/Be_BM_beamline/Be_BM_beamline.md b/mcxtrace-comps/examples/Tests/Be_BM_beamline/Be_BM_beamline.md new file mode 100644 index 0000000000..eda69eea7c --- /dev/null +++ b/mcxtrace-comps/examples/Tests/Be_BM_beamline/Be_BM_beamline.md @@ -0,0 +1,39 @@ +# The `Be_BM_beamline` Instrument + +*McXtrace: Be-lens Bending Magnet, Low Budget Monochromatic (pink) X-ray beamline* + +## Identification + +- **Site:** Tests +- **Author:** E. Knudsen (erkn@risoe.dtu.dk) +- **Origin:** Risø DTU +- **Date:** Sept. 15th, 2009 + +## Description + +```text +This is a proof of concept beamline to test an idea of how to build a low-cost +monochromtic beamline. Idea is to let a polychromatic beam impinge on a focusing +Be-lens and put a slit in the focal pt. of the lens for the desired wavelength. Any +other wavelengths present in the beam will not be focussed prefectly and may be +by the slit. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| L1 | m | Distance between source and lens | 10 | +| L2 | m | Distance between lens and and slit | 1 | +| dS | m | Slit opening. Slit opening is quadratic. | 1e-2 | +| N | 1 | NUmber of Lenses in the compund lens arrangement | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests/Be_BM_beamline/Be_BM_beamline.instr) for `Be_BM_beamline.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests/Test_Detector_pn/Test_Detector_pn.md b/mcxtrace-comps/examples/Tests/Test_Detector_pn/Test_Detector_pn.md new file mode 100644 index 0000000000..405ba39374 --- /dev/null +++ b/mcxtrace-comps/examples/Tests/Test_Detector_pn/Test_Detector_pn.md @@ -0,0 +1,40 @@ +# The `Test_Detector_pn` Instrument + +*McXtrace: Unit test for Detector_pn* + +## Identification + +- **Site:** Tests +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Apr 20 + +## Description + +```text +A simple unit test instrument for the Detector_pn component. It consists merely of +two sets of monitor each with: +1 regular PSD_monitor and 2 instances of Detector_pn with a scinitillator screen of +Si and Pb respectively. Obviously, no sane person would use Pb, but it's there for +illustration purposes. +A restore_flag parameter may be passed to Detector_pn which negates the absorption +effect for subsequent components. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| restore_flag | | Should the monitor/detector instances restore the x-ray to its pre-detector state | 0 | +| E0 | keV | The central simulation energy to use. A 1% BW will be added. | 12.4 | +| DE | keV | Half energy width of the simulation energy. | 0.124 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests/Test_Detector_pn/Test_Detector_pn.instr) for `Test_Detector_pn.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests/Test_monitors/Test_monitors.md b/mcxtrace-comps/examples/Tests/Test_monitors/Test_monitors.md new file mode 100644 index 0000000000..75c9b4b502 --- /dev/null +++ b/mcxtrace-comps/examples/Tests/Test_monitors/Test_monitors.md @@ -0,0 +1,32 @@ +# The `Test_monitors` Instrument + +*McXtrace: Unit test instrument for various monitors.* + +## Identification + +- **Site:** Tests +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Jan 21 + +## Description + +```text +This is a unit test instrument to test some of the McXtrace monitors. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| monitor_no | | Pick a monitor to test - causes the others not to write any data files. | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests/Test_monitors/Test_monitors.instr) for `Test_monitors.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_MCPL_etc/Test_MCPL_input/Test_MCPL_input.md b/mcxtrace-comps/examples/Tests_MCPL_etc/Test_MCPL_input/Test_MCPL_input.md new file mode 100644 index 0000000000..68f75abdde --- /dev/null +++ b/mcxtrace-comps/examples/Tests_MCPL_etc/Test_MCPL_input/Test_MCPL_input.md @@ -0,0 +1,36 @@ +# The `Test_MCPL_input` Instrument + +*McXtrace: A test instrument for MCPL_input* + +## Identification + +- **Site:** Tests_MCPL_etc +- **Author:** Erik B Knudsen +- **Origin:** DTU +- **Date:** Mar 2016 + +## Description + +```text +This is a unit test for the MCPL_input component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| repeat | 1 | Repeat the contents of the inputfile this many times. NB: When using MPI you implicitly repeat by #mpi processes | 1 | +| E_smear | 1 | When repeating, make Gaussian MC choice on particle energy with spread E_smear * particle energy | 0.1 | +| pos_smear | m | When repeating, make uniform MC choice on sphere of radius pos_spear around particle position | 0.001 | +| dir_smear | deg | When repeating, make Gaussian MC choice in cone of opening dir_smear around particle direction | 0.01 | +| MCPLFILE | str | Input MCPL file. | "voutput.mcpl" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_MCPL_etc/Test_MCPL_input/Test_MCPL_input.instr) for `Test_MCPL_input.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_MCPL_etc/Test_MCPL_output/Test_MCPL_output.md b/mcxtrace-comps/examples/Tests_MCPL_etc/Test_MCPL_output/Test_MCPL_output.md new file mode 100644 index 0000000000..be91bc6a24 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_MCPL_etc/Test_MCPL_output/Test_MCPL_output.md @@ -0,0 +1,32 @@ +# The `Test_MCPL_output` Instrument + +*McXtrace: A test instrument for MCPL_output* + +## Identification + +- **Site:** Tests +- **Author:** Erik B Knudsen +- **Origin:** DTU +- **Date:** Mar 2016 + +## Description + +```text +This is a unit test for the MCPL_output component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Override the number of rays to simulate. | 1e3 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_MCPL_etc/Test_MCPL_output/Test_MCPL_output.instr) for `Test_MCPL_output.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_RNG/Test_RNG_rand01/Test_RNG_rand01.md b/mcxtrace-comps/examples/Tests_RNG/Test_RNG_rand01/Test_RNG_rand01.md new file mode 100644 index 0000000000..3d1c5950a7 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_RNG/Test_RNG_rand01/Test_RNG_rand01.md @@ -0,0 +1,40 @@ +# The `Test_RNG_rand01` Instrument + +*McXtrace: Instrument to get basic test output from random number generator.* + +## Identification + +- **Site:** Tests_RNG +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 2nd, 2020 + +## Description + +```text +Instrument to get basic test output from random number generator. + +The instrument generates 2 randon numbers pr. particle using randpm1(), +encoded into the particle x and y coordinates. + +For a low statistics, one may e.g. check that setting the seed gives +varied output or fixing the seed gives fixed output· +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000 | +| seed | 1 | Specify RNG seed | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_RNG/Test_RNG_rand01/Test_RNG_rand01.instr) for `Test_RNG_rand01.instr`. +- + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randnorm/Test_RNG_randnorm.md b/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randnorm/Test_RNG_randnorm.md new file mode 100644 index 0000000000..d81ef23f4d --- /dev/null +++ b/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randnorm/Test_RNG_randnorm.md @@ -0,0 +1,40 @@ +# The `Test_RNG_randnorm` Instrument + +*McXtrace: Instrument to get basic test output from random number generator.* + +## Identification + +- **Site:** Tests_RNG +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 2nd, 2020 + +## Description + +```text +Instrument to get basic test output from random number generator. + +The instrument generates 2 randon numbers pr. particle using randpm1(), +encoded into the particle x and y coordinates. + +For a low statistics, one may e.g. check that setting the seed gives +varied output or fixing the seed gives fixed output· +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000000 | +| seed | 1 | Specify RNG seed | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randnorm/Test_RNG_randnorm.instr) for `Test_RNG_randnorm.instr`. +- + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randpm1/Test_RNG_randpm1.md b/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randpm1/Test_RNG_randpm1.md new file mode 100644 index 0000000000..464802a616 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randpm1/Test_RNG_randpm1.md @@ -0,0 +1,40 @@ +# The `Test_RNG_randpm1` Instrument + +*McXtrace: Instrument to get basic test output from random number generator.* + +## Identification + +- **Site:** Tests_RNG +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 2nd, 2020 + +## Description + +```text +Instrument to get basic test output from random number generator. + +The instrument generates 2 randon numbers pr. particle using randpm1(), +encoded into the particle x and y coordinates. + +For a low statistics, one may e.g. check that setting the seed gives +varied output or fixing the seed gives fixed output· +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000 | +| seed | 1 | Specify RNG seed | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randpm1/Test_RNG_randpm1.instr) for `Test_RNG_randpm1.instr`. +- + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randtriangle/Test_RNG_randtriangle.md b/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randtriangle/Test_RNG_randtriangle.md new file mode 100644 index 0000000000..ce6b27dd5c --- /dev/null +++ b/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randtriangle/Test_RNG_randtriangle.md @@ -0,0 +1,40 @@ +# The `Test_RNG_randtriangle` Instrument + +*McXtrace: Instrument to get basic test output from random number generator.* + +## Identification + +- **Site:** Tests_RNG +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 2nd, 2020 + +## Description + +```text +Instrument to get basic test output from random number generator. + +The instrument generates 2 randon numbers pr. particle using randpm1(), +encoded into the particle x and y coordinates. + +For a low statistics, one may e.g. check that setting the seed gives +varied output or fixing the seed gives fixed output· +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000000 | +| seed | 1 | Specify RNG seed | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randtriangle/Test_RNG_randtriangle.instr) for `Test_RNG_randtriangle.instr`. +- + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randvec_target_circle/Test_RNG_randvec_target_circle.md b/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randvec_target_circle/Test_RNG_randvec_target_circle.md new file mode 100644 index 0000000000..c9bba39436 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randvec_target_circle/Test_RNG_randvec_target_circle.md @@ -0,0 +1,41 @@ +# The `Test_RNG_randvec_target_circle` Instrument + +*McXtrace: Instrument to get basic test output from random number generator.* + +## Identification + +- **Site:** Tests_RNG +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 2nd, 2020 + +## Description + +```text +Instrument to get basic test output from random number generator. + +The instrument generates 2 randon numbers pr. particle using randpm1(), +encoded into the particle x and y coordinates. + +For a low statistics, one may e.g. check that setting the seed gives +varied output or fixing the seed gives fixed output· +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000000 | +| seed | 1 | Specify RNG seed | 0 | +| dist | m | Distance between synthetic point-source and monitor | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randvec_target_circle/Test_RNG_randvec_target_circle.instr) for `Test_RNG_randvec_target_circle.instr`. +- + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randvec_target_rect/Test_RNG_randvec_target_rect.md b/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randvec_target_rect/Test_RNG_randvec_target_rect.md new file mode 100644 index 0000000000..d1d17182d4 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randvec_target_rect/Test_RNG_randvec_target_rect.md @@ -0,0 +1,41 @@ +# The `Test_RNG_randvec_target_rect` Instrument + +*McXtrace: Instrument to get basic test output from random number generator.* + +## Identification + +- **Site:** Tests_RNG +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 2nd, 2020 + +## Description + +```text +Instrument to get basic test output from random number generator. + +The instrument generates 2 randon numbers pr. particle using randpm1(), +encoded into the particle x and y coordinates. + +For a low statistics, one may e.g. check that setting the seed gives +varied output or fixing the seed gives fixed output· +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000000 | +| seed | 1 | Specify RNG seed | 0 | +| dist | m | Distance between synthetic point-source and monitor | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randvec_target_rect/Test_RNG_randvec_target_rect.instr) for `Test_RNG_randvec_target_rect.instr`. +- + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randvec_target_rect_angular/Test_RNG_randvec_target_rect_angular.md b/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randvec_target_rect_angular/Test_RNG_randvec_target_rect_angular.md new file mode 100644 index 0000000000..dfe994cb82 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randvec_target_rect_angular/Test_RNG_randvec_target_rect_angular.md @@ -0,0 +1,41 @@ +# The `Test_RNG_randvec_target_rect_angular` Instrument + +*McXtrace: Instrument to get basic test output from random number generator.* + +## Identification + +- **Site:** Tests_RNG +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** Oct 2nd, 2020 + +## Description + +```text +Instrument to get basic test output from random number generator. + +The instrument generates 2 randon numbers pr. particle using randpm1(), +encoded into the particle x and y coordinates. + +For a low statistics, one may e.g. check that setting the seed gives +varied output or fixing the seed gives fixed output· +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Ncount | 1 | Specify statistics | 1000000 | +| seed | 1 | Specify RNG seed | 0 | +| angle | deg | Angular focusing settin | 45 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_RNG/Test_RNG_randvec_target_rect_angular/Test_RNG_randvec_target_rect_angular.instr) for `Test_RNG_randvec_target_rect_angular.instr`. +- + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_grammar/Test_GROUP/Test_GROUP.md b/mcxtrace-comps/examples/Tests_grammar/Test_GROUP/Test_GROUP.md new file mode 100644 index 0000000000..8db09e263b --- /dev/null +++ b/mcxtrace-comps/examples/Tests_grammar/Test_GROUP/Test_GROUP.md @@ -0,0 +1,33 @@ +# The `Test_GROUP` Instrument + +*McXtrace: Tests that GROUP logic works as expected* + +## Identification + +- **Site:** Tests_grammar +- **Author:** Erik Knudsen, Peter Willendrup +- **Origin:** DTU +- **Date:** 2021/09/30 + +## Description + +```text +Unit test for the GROUP logic +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| SLITW | m | Width of the GROUP'ed slits | 1e-6 | +| SIGNI | 1 | Which slit should be hit (left or right) | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_grammar/Test_GROUP/Test_GROUP.instr) for `Test_GROUP.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Template_DCM/Template_DCM.md b/mcxtrace-comps/examples/Tests_optics/Template_DCM/Template_DCM.md new file mode 100644 index 0000000000..c7db1abf61 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Template_DCM/Template_DCM.md @@ -0,0 +1,38 @@ +# The `Template_DCM` Instrument + +*McXtrace: Template for a vertically defleting DCM* + +## Identification + +- **Site:** Tests_optics +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Jan '21 + +## Description + +```text +Simple skeleton instrument showing a vertically deflecting +double crystal monochromator. To instead make it horizontally deflecting +simply add Arms before and after the crystal assembly that rotate by +90 and -90 deg. respectively around the z-axis. +The crystal is illuminated by a model point source. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Central energy to be emitted by the source. 0=set from theta. | 0 | +| dE | keV | Half width to be emitted by the source | 0.2 | +| theta | deg | Rotation angle of the crystals. 0=set from E0. | 9.17 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Template_DCM/Template_DCM.instr) for `Template_DCM.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Test_CRL/Test_CRL.md b/mcxtrace-comps/examples/Tests_optics/Test_CRL/Test_CRL.md new file mode 100644 index 0000000000..babd5aaf39 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Test_CRL/Test_CRL.md @@ -0,0 +1,38 @@ +# The `Test_CRL` Instrument + +*McXtrace: Unit test instrument for various lens components.* + +## Identification + +- **Site:** Tests_optics +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Nov. 14 + +## Description + +```text +This is a test with the +- LENS=0: Lens_parab +- LENS=1: Lens_parab_Cyl +- LENS=2: Lens_simple +- LENS=3: Lens_CRL_RTM +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| LENS | | Which lens to use: 0=>Lens_parab, 1=>Lens_parab_Cyl, 2=>Lens_simple | 0 | +| L1 | | Distance from source to lens. | 1 | +| L2 | | Distance from lens to image plane | 11 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Test_CRL/Test_CRL.instr) for `Test_CRL.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Test_CRL_Be/Test_CRL_Be.md b/mcxtrace-comps/examples/Tests_optics/Test_CRL_Be/Test_CRL_Be.md new file mode 100644 index 0000000000..5711b0fdaf --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Test_CRL_Be/Test_CRL_Be.md @@ -0,0 +1,33 @@ +# The `Test_CRL_Be` Instrument + +*McXtrace: Test of a compound refractive lenses* + +## Identification + +- **Site:** Tests_optics +- **Author:** Antoine Padovani +- **Origin:** SOLEIL +- **Date:** March 2022 + +## Description + +```text +Test of a compound refractive lenses using the Lens_parab component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| L | m | Position of the detector for the focusing | 14 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Test_CRL_Be/Test_CRL_Be.instr) for `Test_CRL_Be.instr`. +- https://github.com/antoinepado/Corrections_School_March_2022/tree/master/DAY_2/5_Optics/1_CRLs/Be + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Test_Filter/Test_Filter.md b/mcxtrace-comps/examples/Tests_optics/Test_Filter/Test_Filter.md new file mode 100644 index 0000000000..062223d474 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Test_Filter/Test_Filter.md @@ -0,0 +1,36 @@ +# The `Test_Filter` Instrument + +*McXtrace: Test instrument for checking the Filter.comp component* + +## Identification + +- **Site:** Tests_optics +- **Author:** Erik Knudsen (erkn@risoe.dtu.dk) +- **Origin:** Risø DTU +- **Date:** July 5th 2011 + +## Description + +```text +Test instrument for checking the Filter.comp component +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filter_mat | | Chemical symbol of the filter material | "Rh.txt" | +| thickness | m | thickness of the filter block | 100e-6 | +| L0 | AA | centre wavlength of the source | 1 | +| DL | AA | half width of the (uniform) wavelength distribution | 0.1 | +| F2 | 1 | add a 2nd filter component further away | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Test_Filter/Test_Filter.instr) for `Test_Filter.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Test_KB/Test_KB.md b/mcxtrace-comps/examples/Tests_optics/Test_KB/Test_KB.md new file mode 100644 index 0000000000..2ec2525ff2 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Test_KB/Test_KB.md @@ -0,0 +1,39 @@ +# The `Test_KB` Instrument + +*McXtrace: Test of Kirkpatrick Baez (KB) mirrors* + +## Identification + +- **Site:** Tests_optics +- **Author:** Antoine Padovani +- **Origin:** SOLEIL +- **Date:** March 2022 + +## Description + +```text +Two curved mirrors in a Kirkpatrick Baez geometry. Default parameters +are set for a focusing f_m=f_s= 10 m. +The KB should satisfy f_m=R.sin(theta/2) and f_s=R/2.sin(theta) + +Example: Test_KB L=12 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| L | m | Distance to the PSD detector, with a shift by 1.5 m | 12 | +| theta | rad | Mirror glancing angle | 0.003 | +| R | m | Mirror curvature radius | 6.66e3 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Test_KB/Test_KB.instr) for `Test_KB.instr`. +- https://github.com/mccode-dev/Schools/tree/master/2023/SOLEIL_May_2023/Day2_Wednesday_May_10th/5_Optics/2_KB_mirrors + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Test_ML_elliptic/Test_ML_elliptic.md b/mcxtrace-comps/examples/Tests_optics/Test_ML_elliptic/Test_ML_elliptic.md new file mode 100644 index 0000000000..0047d730a1 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Test_ML_elliptic/Test_ML_elliptic.md @@ -0,0 +1,38 @@ +# The `Test_ML_elliptic` Instrument + +*McXtrace: Unit test instrument for Multilayer_elliptic* + +## Identification + +- **Site:** Tests_optics +- **Author:** Your name (email) +- **Origin:** Your institution +- **Date:** Current Date + +## Description + +```text +Tests the correct working of the mulitlyer_elliptic component both using a +reflectivity file and the kinematical approximation. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| S1 | m | Distance from source focus to multilayer centre. | 1 | +| S2 | m | Distance from multilayer centre to focal point | 2 | +| gamma | deg | Design glancing angle at centre. | 1.2 | +| fromfile | | If nonzero read reflectivity number from a datafile ("reflectivity.txt") | 1 | +| fxw | m | width of the beam | 1e-9 | +| fyh | m | height of the beam | 1e-9 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Test_ML_elliptic/Test_ML_elliptic.instr) for `Test_ML_elliptic.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Test_Mask/Test_Mask.md b/mcxtrace-comps/examples/Tests_optics/Test_Mask/Test_Mask.md new file mode 100644 index 0000000000..c49bf9b9d8 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Test_Mask/Test_Mask.md @@ -0,0 +1,33 @@ +# The `Test_Mask` Instrument + +*McXtrace: A unit test instrument of the Mask component* + +## Identification + +- **Site:** Tests_optics +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** 12/03/2014 + +## Description + +```text +A non-divergent beam impinges on a masking image, with 2d-detectors up- and downstream +of the mask. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| invert | | If nonzero the transparency/opacity sense of the masking image is reversed. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Test_Mask/Test_Mask.instr) for `Test_Mask.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Test_Mirror_toroid/Test_Mirror_toroid.md b/mcxtrace-comps/examples/Tests_optics/Test_Mirror_toroid/Test_Mirror_toroid.md new file mode 100644 index 0000000000..9ee58cbbe6 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Test_Mirror_toroid/Test_Mirror_toroid.md @@ -0,0 +1,33 @@ +# The `Test_Mirror_toroid` Instrument + +*McXtrace: Unit test instrument to check that Mirrror_toroid is working* + +## Identification + +- **Site:** Tests_optics +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Jul 16 + +## Description + +```text +A mere unit test instrument. Also includes a perfectly flat Mirror as reference. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| gamma | deg | Nominal glancing angle of mirror | 5 | +| Tor | 0/1 | Uses a toroidal mirror (1) or a flat mirror (0). | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Test_Mirror_toroid/Test_Mirror_toroid.instr) for `Test_Mirror_toroid.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Test_Mirrors/Test_Mirrors.md b/mcxtrace-comps/examples/Tests_optics/Test_Mirrors/Test_Mirrors.md new file mode 100644 index 0000000000..2b673d4cc1 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Test_Mirrors/Test_Mirrors.md @@ -0,0 +1,44 @@ +# The `Test_Mirrors` Instrument + +*McXtrace: Unit test instrument to check that Mirrors are working* + +## Identification + +- **Site:** Tests_optics +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Jul 16 + +## Description + +```text +A mere unit test instrument. Also includes a perfectly flat Mirror as reference. +The choice of the Mirror to test is set with "index" +index=0: Mirror +index=1: Mirror_elliptic +index=2: Mirror_parabolic +index=3: Mirror_curved +index=4: Mirror_toroid +index=5: Mirror_toroid_pothole +index=6: Multilayer_elliptic +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| gamma | deg | Nominal glancing angle of mirror | 0.5 | +| index | 1 | Index of the Mirror component to test | 1 | +| L | m | Distance source-mirror and mirror-detector | 2 | +| radius | m | Radius of curvature | 1000 | +| E0 | keV | Mean photon energy | 12.5 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Test_Mirrors/Test_Mirrors.instr) for `Test_Mirrors.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Test_Mono/Test_Mono.md b/mcxtrace-comps/examples/Tests_optics/Test_Mono/Test_Mono.md new file mode 100644 index 0000000000..7b5e2eeac2 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Test_Mono/Test_Mono.md @@ -0,0 +1,47 @@ +# The `Test_Mono` Instrument + +*McXtrace: Compares intensities of Monochromator components.* + +## Identification + +- **Site:** Tests_optics +- **Author:** A. Vickery, A. Prodi and E. Knudsen +- **Origin:** NBI,Risø DTU Physics +- **Date:** July 2011. + +## Description + +```text +Very simple setup to compare intensities diffracted by Monochromators. +It shows that implementations are equivalent. + +The input parameter 'Mono' chooses which model to use: +0: Obsolete Perfect_crystal +1: Bragg_crystal - validated component +2: Bragg_crystal_bent - bent version of the above +3: Bragg_crystal_BC - variant of the above based on Mendenhall et. al., J. Appl. Cryst 2019 +4: Bragg_crystal_bent_BC - variant of the above based on Mendenhall et. al., J. Appl. Cryst 2019 +5: Bragg_crystal_simple - a simple mono with a static (flat) Darwin width. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Mono | | Which monochromator model to use. See description above. | 1 | +| lambda | AA | Source wavelength. | 1.0 | +| L1 | m | Distance from source to monochromator. | 10.0 | +| OMM | deg | Rotation angle of monochromator, i.e. angle of incidence. | 14.2208 | +| TTM | deg | Scattering angle at which to put the detector. | 28.4416 | +| BEND | m | Curvature radius of the monochromator crystal lattice. Only relevant for Mono==2. | 1 | +| monsiz | m | Size (h and w) of PSD measuring diffracted beam. | 5e-5 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Test_Mono/Test_Mono.instr) for `Test_Mono.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Test_capillary/Test_capillary.md b/mcxtrace-comps/examples/Tests_optics/Test_capillary/Test_capillary.md new file mode 100644 index 0000000000..304c1b7060 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Test_capillary/Test_capillary.md @@ -0,0 +1,35 @@ +# The `Test_capillary` Instrument + +*McXtrace: Unit test instrument for the capillary tube component.* + +## Identification + +- **Site:** Tests_optics +- **Author:** E. B: Knudsen +- **Origin:** DTU Physics +- **Date:** July 2015. + +## Description + +```text +Very simple setup to compare intensities diffracted by Monochromators. +It shows that implementations are equivalent. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| TL | m | length of capillary tube | 0.1 | +| TR | m | radius of capillary tube | 1e-4 | +| L1 | m | disatnce from source to capillary tube entrance | 3 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Test_capillary/Test_capillary.instr) for `Test_capillary.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Test_grating_reflect/Test_grating_reflect.md b/mcxtrace-comps/examples/Tests_optics/Test_grating_reflect/Test_grating_reflect.md new file mode 100644 index 0000000000..d4bf620e96 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Test_grating_reflect/Test_grating_reflect.md @@ -0,0 +1,37 @@ +# The `Test_grating_reflect` Instrument + +*McXtrace: Unit-test instrument for the Grating reflect component.* + +## Identification + +- **Site:** Tests_optics +- **Author:** Stephane Bac, Antoine Padovani +- **Origin:** Synchrotron Soleil +- **Date:** Jul 21st 2022 + +## Description + +```text +Simply a bending magnet illuminating a reflection grating. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Source's center of emitted energy spectrum | 1 | +| dE | keV | Source's half-width of emitted energy spectrum | 0.1 | +| angle_grating_norm | deg. | Angle between the norm of the grating and the incident ray | 88 | +| number_lines_per_mm | | Number of lines pr mm of the grating | 100 | +| order | | The target order of the grating | 0 | +| dphi | deg. | Range of diffraction angle that is to be simulated -d_phi/2 ; d_phi/2 | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Test_grating_reflect/Test_grating_reflect.instr) for `Test_grating_reflect.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Test_grating_trans/Test_grating_trans.md b/mcxtrace-comps/examples/Tests_optics/Test_grating_trans/Test_grating_trans.md new file mode 100644 index 0000000000..5a980c5c10 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Test_grating_trans/Test_grating_trans.md @@ -0,0 +1,40 @@ +# The `Test_grating_trans` Instrument + +*McXtrace: Template/test instrument for Grating_trans* + +## Identification + +- **Site:** Tests_optics +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Aug 21 + +## Description + +```text +A simple test insrument for the transmission grating component. Two examples +of gratings are included matching those in the Chandra X-ray Observatory +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Central energy to emit from the source. | 1 | +| dE | kEV | Half energy spread of source. | 0.001 | +| GD | m | Distance from grating to detector. | 1 | +| Rx | deg | Rotation of grating around the X-axis. | 0 | +| Ry | deg | Rotation of grating around the Y-axis. | 0 | +| Rz | deg | Rotation of grating around the Z-axis. | 0 | +| MEG | | Flag to chosse between the two included gratings. 1: medium energy grating (MEG), 0: high energy grating (HEG). | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Test_grating_trans/Test_grating_trans.instr) for `Test_grating_trans.instr`. +- https://cxc.harvard.edu/proposer/POG/html/chap8.html#tb:hetg-params + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Test_mirror_elliptic/Test_mirror_elliptic.md b/mcxtrace-comps/examples/Tests_optics/Test_mirror_elliptic/Test_mirror_elliptic.md new file mode 100644 index 0000000000..af90885e09 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Test_mirror_elliptic/Test_mirror_elliptic.md @@ -0,0 +1,35 @@ +# The `Test_mirror_elliptic` Instrument + +*McXtrace: Unit-test instrument for the Mirror_elliptic component.* + +## Identification + +- **Site:** Tests_optics +- **Author:** A. Padovani +- **Origin:** Synchrotron Soleil +- **Date:** May 9th 2022 + +## Description + +```text +Simply a flat source illuminating an elliptical mirror. + +Try distance_from_source = 1 (rays reflected back towards the center) +distance_from_source = 0.5 (rays reflected back in a parallel-like fashion) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| distance_from_source | m | source-mirror distance | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Test_mirror_elliptic/Test_mirror_elliptic.instr) for `Test_mirror_elliptic.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_optics/Test_mirror_parabolic/Test_mirror_parabolic.md b/mcxtrace-comps/examples/Tests_optics/Test_mirror_parabolic/Test_mirror_parabolic.md new file mode 100644 index 0000000000..434004b962 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_optics/Test_mirror_parabolic/Test_mirror_parabolic.md @@ -0,0 +1,35 @@ +# The `Test_mirror_parabolic` Instrument + +*McXtrace: Unit test instrument for Mirror_parabolic* + +## Identification + +- **Site:** Tests_optics +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Jan '21 + +## Description + +```text +This is a test instrument for Mirror parabolic. A collimated beam impinges on a +with normal incidence on a parabolic mirror, is reflected to the focal point, and +back to flat detector some distance, D, away. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| D | m | Distance between mirror apex and detector plane. | 1 | +| MM | | Flag to deactivate the mirror. | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_optics/Test_mirror_parabolic/Test_mirror_parabolic.instr) for `Test_mirror_parabolic.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_other/test_File/test_File.md b/mcxtrace-comps/examples/Tests_other/test_File/test_File.md new file mode 100644 index 0000000000..969eba74b2 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_other/test_File/test_File.md @@ -0,0 +1,33 @@ +# The `test_File` Instrument + +*McXtrace: Demonstrates how to use the File.comp component for storing instrument +input-files as METADATA blocks* + +## Identification + +- **Site:** Tests_other +- **Author:** Greg Tucker +- **Origin:** ESS +- **Date:** 2024 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_other/test_File/test_File.instr) for `test_File.instr`. +- From https://github.com/g5t/mccode-file + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_samples/Template_SasView/Template_SasView.md b/mcxtrace-comps/examples/Tests_samples/Template_SasView/Template_SasView.md new file mode 100644 index 0000000000..30469bde4c --- /dev/null +++ b/mcxtrace-comps/examples/Tests_samples/Template_SasView/Template_SasView.md @@ -0,0 +1,48 @@ +# The `Template_SasView` Instrument + +*McXtrace: Test instrument for the SasView_model component. No optics. +etc.* + +## Identification + +- **Site:** Tests_samples +- **Author:** Torben Nielsen +- **Origin:** DTU Physics / ESS DMSC +- **Date:** Jan 2017. + +## Description + +```text +Very simple test instrument for 3 examples from the suite of SasView_ components. +Select sample model with 'model_index': +1= SasView_barbell +3= SasView_bcc_paracrystal +47= SasView_parallelepiped +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lambda | AA | Mean wavelength of X-rays | 1.54 | +| dlambda | AA | Wavelength spread of X-rays | 0.05 | +| model_index | | SASmodels model index (see SasView_model.comp mcdoc page) | 10 | +| par1 | | Slot 1 in SASmodel parameter vector | 0 | +| par2 | | Slot 2 in SASmodel parameter vector | 0 | +| par3 | | Slot 3 in SASmodel parameter vector | 0 | +| par4 | | Slot 4 in SASmodel parameter vector | 0 | +| par5 | | Slot 5 in SASmodel parameter vector | 0 | +| par6 | | Slot 6 in SASmodel parameter vector | 0 | +| par7 | | Slot 7 in SASmodel parameter vector | 0 | +| par8 | | Slot 8 in SASmodel parameter vector | 0 | +| Ncount | 1 | Override the number of rays to simulate. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_samples/Template_SasView/Template_SasView.instr) for `Template_SasView.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_samples/Test_Absorption/Test_Absorption.md b/mcxtrace-comps/examples/Tests_samples/Test_Absorption/Test_Absorption.md new file mode 100644 index 0000000000..df98ad2758 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_samples/Test_Absorption/Test_Absorption.md @@ -0,0 +1,42 @@ +# The `Test_Absorption` Instrument + +*McXtrace: Example instrument to compare material absorption components.* + +## Identification + +- **Site:** Tests_samples +- **Author:** E. Farhi (emmanuel.farhi@synchrotron-soleil.fr) +- **Origin:** Synchrotron SOLEIL +- **Date:** March '21 + +## Description + +```text +This instrument simply has a lab source, a few monitors and a set of components +to model material absorption. Material is chosen to be Mn (K-edge 6.5 keV). + +This test compares the folowwing components: +- index=1: Filter +- index=2: Absorption_sample +- index=3: Abs_objects +- index=4: Fluorescence +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| index | 1 | Index of the absorption component to use in 1-4. See above. | 1 | +| material | str | Material file to use, e.g. Mn.txt | "Mn.txt" | +| E0 | keV | Mean photon energy | 6.5 | +| dE | keV | Photon energy spread, half width | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_samples/Test_Absorption/Test_Absorption.instr) for `Test_Absorption.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_samples/Test_Air/Test_Air.md b/mcxtrace-comps/examples/Tests_samples/Test_Air/Test_Air.md new file mode 100644 index 0000000000..660189f7fc --- /dev/null +++ b/mcxtrace-comps/examples/Tests_samples/Test_Air/Test_Air.md @@ -0,0 +1,38 @@ +# The `Test_Air` Instrument + +*McXtrace: Unit test for the Air component* + +## Identification + +- **Site:** Tests_samples +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** + +## Description + +```text +This instrument checks whether the Air component works as intended. +A point source illuminates the central part of a rectangular volume of air ( 0.02 x 0.02 x Lair m^3 ). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| FRAC | | Fraction of statistics to use for Air-scatter. | 0.5 | +| E0 | keV | Central energy to be emitted from the source. | 12.3984 | +| dE_E | | Relative full bandwidth of the source. | 0.1 | +| Lair | m | The length of air to be traversed by the beam. | 1 | +| MXDIV | | Maximal divergence to allow in divergence monitors. | 1 | +| AIR | | Flag to enable (nonzero) / disable (0) the block of Air. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_samples/Test_Air/Test_Air.instr) for `Test_Air.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_samples/Test_FluoPowder/Test_FluoPowder.md b/mcxtrace-comps/examples/Tests_samples/Test_FluoPowder/Test_FluoPowder.md new file mode 100644 index 0000000000..d50a7e8a5b --- /dev/null +++ b/mcxtrace-comps/examples/Tests_samples/Test_FluoPowder/Test_FluoPowder.md @@ -0,0 +1,44 @@ +# The `Test_FluoPowder` Instrument + +*McXtrace: Unit-test instrument for the FluoPowder sample component.* + +## Identification + +- **Site:** Tests_samples +- **Author:** Emmanuel Farhi (emmanuel.farhi.synchrotron-soleil.fr) +- **Origin:** Synchrotron Soleil +- **Date:** 2025 + +## Description + +```text +Simply a model source illuminating a fluo/powder/sx sample. +The default sample itself is an LaB6-powder. +The idea is to compare the fluorescence and diffraction patterns: +- index=1: use PowderN (no fluorescence) +- index=2: use Single_crystal (no fluorescence, slower, powder mode) +- index=3: use FluoPowder (exact) +- index=4: use Fluorescence (no diffraction) +- index=5: use Fluorescence+PowderN (under estimates contributions) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Source mean energy of xrays. | 15 | +| dE | keV | Source energy half spread of x-rays. | 0.05 | +| L1 | m | Source-sample distance. | 10 | +| material | str | Material structure/composition as formula or LAU/CIF format. | "LaB6.cif" | +| index | 1 | Index of the sample component to use. 1=PowderN, 2=Single_crystal (much slower), 3=FluoPowder, 4=Fluorescence, 5=Fluorescence+PowderN in a GROUP (slower) | 3 | +| delta_d_d | | | 3e-4 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_samples/Test_FluoPowder/Test_FluoPowder.instr) for `Test_FluoPowder.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_samples/Test_Fluorescence/Test_Fluorescence.md b/mcxtrace-comps/examples/Tests_samples/Test_Fluorescence/Test_Fluorescence.md new file mode 100644 index 0000000000..211e50b2a3 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_samples/Test_Fluorescence/Test_Fluorescence.md @@ -0,0 +1,35 @@ +# The `Test_Fluorescence` Instrument + +*McXtrace: Example instrument to test the Fluorescence sample.* + +## Identification + +- **Site:** Tests_samples +- **Author:** E. Farhi (emmanuel.farhi@synchrotron-soleil.fr) +- **Origin:** Synchrotron SOLEIL +- **Date:** March '21 + +## Description + +```text +This instrument simply has a lab source, a few monitors and a sample +to model material fluorescence, Compton and Rayleigh scattering. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| material | str | Material file to use, e.g. chemical formulae "Pb2SnO4" | "LaB6" | +| E0 | keV | Mean photon energy | 39 | +| dE | keV | Photon energy spread, half width | 0.06 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_samples/Test_Fluorescence/Test_Fluorescence.instr) for `Test_Fluorescence.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_samples/Test_PowderN/Test_PowderN.md b/mcxtrace-comps/examples/Tests_samples/Test_PowderN/Test_PowderN.md new file mode 100644 index 0000000000..05f7ac941f --- /dev/null +++ b/mcxtrace-comps/examples/Tests_samples/Test_PowderN/Test_PowderN.md @@ -0,0 +1,43 @@ +# The `Test_PowderN` Instrument + +*McXtrace: Unit-test instrument for the PowderN sample component.* + +## Identification + +- **Site:** Tests_samples +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** 2009 + +## Description + +```text +Simply a model source illuminating a powder sample. +The default sample itself is an LaB6-powder. +Alternatively, the Single_crystal (powder mode) and FluoPowder components can also be tested. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Source energy (width 1 keV) | 15 | +| L1 | m | Source-sample distance | 10 | +| directbeam | 1 | Suppress direct beam (0) or not (1) | 0 | +| reflections | str | List of powder reflections, LAU/LAZ/CIF format. | "LaB6.cif" | +| SPLITS | 1 | Number of SPLIT's before sample | 1 | +| frac_c | 1 | Fraction of stats assigned to coherent scattering | 0.8 | +| frac_i | 1 | Fraction of stats assigned to incoherent scattering | 0.1 | +| frac_t | 1 | Fraction of stats assigned to unscattered, "direct beam" | 0.1 | +| d_phi | deg | Angle corresponding to the vertical angular range to focus to, e.g. detector height. 0 for no focusing. | 0 | +| index | 1 | Index of the sample component to use. 1=PowderN, 2=Single_crystal, 3=FluoPowder | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_samples/Test_PowderN/Test_PowderN.instr) for `Test_PowderN.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_samples/Test_SAXS/Test_SAXS.md b/mcxtrace-comps/examples/Tests_samples/Test_SAXS/Test_SAXS.md new file mode 100644 index 0000000000..a409d2ddaf --- /dev/null +++ b/mcxtrace-comps/examples/Tests_samples/Test_SAXS/Test_SAXS.md @@ -0,0 +1,54 @@ +# The `Test_SAXS` Instrument + +*McXtrace: Toy model used for testing various sample components for solution-SAXS.* + +## Identification + +- **Site:** Tests_samples +- **Author:** Martin Cramer Pedersen (mcpe@nbi.dk) and Søren Kynde (kynde@nbi.dk) +- **Origin:** KU-Science +- **Date:** October 29th, 2012 + +## Description + +```text +Toy model used for testing various sample components for solution-SAXS. + +The following SAXS samples are handled: +SAXSSpheres SAMPLE=0 +SAXSShells SAMPLE=1 +SAXSCylinders SAMPLE=2 +SAXSEllipticCylinders SAMPLE=3 +SAXSLiposomes SAMPLE=4 +SAXSNanodiscs SAMPLE=5 +SAXSNanodiscsWithTags SAMPLE=6 +SAXSPDB SAMPLE=7 (very slow, rather use SAXSPDBFast) +SAXSCurve SAMPLE=8 (inactivated) +SAXSNanodiscsFast SAMPLE=9 +SAXSNanodiscsWithTagsFast SAMPLE=10 +SAXSPDBFast SAMPLE=11 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| DistanceFromSourceToFirstPinhole | m | Distance to first pinhole from source. | 0.05 | +| DistanceFromSourceToSecondPinhole | m | Distance to second pinhole - used for focusing rays. | 0.7 | +| DistanceFromSecondPinholeToSample | m | Collimation length. | 0.6 | +| DistanceFromSampleToDetector | m | Sample-detector-distance. | 0.48 | +| RadiusOfDetector | m | Radius of the circular detector. | 0.1 | +| Lambda | AA | Wavelength of the rays emitted from source. | 1.54 | +| DLambda | | Relative deviation of wavelength of the rays emitted from source. | 0.01 | +| SAMPLE | | Index of sample model, see above. | 0 | +| Ncount | 1 | Override the number of rays to simulate. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_samples/Test_SAXS/Test_SAXS.instr) for `Test_SAXS.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_samples/Test_SX/Test_SX.md b/mcxtrace-comps/examples/Tests_samples/Test_SX/Test_SX.md new file mode 100644 index 0000000000..4a7c967f22 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_samples/Test_SX/Test_SX.md @@ -0,0 +1,42 @@ +# The `Test_SX` Instrument + +*McXtrace: Unit-test instrument for the Single_crystal sample component. + +Simply a model source illuminating a SX sample. +The default sample itself is a Mo bulk crystal. +The idea is to compare the fluorescence and diffraction patterns: +- index=1: use Single_crystal +- index=2: use FluoCrystal +- index=3: use Fluorescence+Single_crystal in a GROUP* + +## Identification + +- **Site:** Tests_samples +- **Author:** E. Farhi +- **Origin:** Synchrotron Soleil +- **Date:** Sept 26th 2019 + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflections | str | List of powder reflections, LAU/CIF format. | "Mo.lau" | +| index | 1 | Index of the sample component to use. 1=Single_crystal, 2=FluoCrystal, 3=Fluorescence+Single_crystal in a GROUP | 1 | +| E0 | keV | Source mean energy of xrays. | 7 | +| dE | keV | Source energy half spread of x-rays. | 6.9 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_samples/Test_SX/Test_SX.instr) for `Test_SX.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_samples/Test_Saxs_spheres/Test_Saxs_spheres.md b/mcxtrace-comps/examples/Tests_samples/Test_Saxs_spheres/Test_Saxs_spheres.md new file mode 100644 index 0000000000..baaefe4312 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_samples/Test_Saxs_spheres/Test_Saxs_spheres.md @@ -0,0 +1,35 @@ +# The `Test_Saxs_spheres` Instrument + +*McXtrace: Test instrument for the Saxs_spheres sample component. + +Simply a model source illuminating a Saxs_spheres sample. +The spheres are nominally made from Be in non-absorbing solution.* + +## Identification + +- **Site:** Tests_samples +- **Author:** Your name (email) +- **Origin:** Your institution +- **Date:** Current Date + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| RR | AA | Radius of the dilute hard spheres. | 100 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_samples/Test_Saxs_spheres/Test_Saxs_spheres.instr) for `Test_Saxs_spheres.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_samples/Test_Sqw/Test_Sqw.md b/mcxtrace-comps/examples/Tests_samples/Test_Sqw/Test_Sqw.md new file mode 100644 index 0000000000..48d7283730 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_samples/Test_Sqw/Test_Sqw.md @@ -0,0 +1,35 @@ +# The `Test_Sqw` Instrument + +*McXtrace: Test output of Isotropic_Sqw on a spherical monitor.* + +## Identification + +- **Site:** Tests_samples +- **Author:** E. Farhi +- **Origin:** DTU +- **Date:** Sept 21st 2022 + +## Description + +```text +A test instrument for testing Isotropic_Sqw output on a spherical monitor. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Energy emitted from source | 12.0 | +| dE | keV | Energy spread at the source | 1e-6 | +| L1 | m | Source-sample distance | 10 | +| sqw_coh | str | Sqw material definition | "Rb_liq_coh.sqw" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_samples/Test_Sqw/Test_Sqw.instr) for `Test_Sqw.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_sources/Test_BM/Test_BM.md b/mcxtrace-comps/examples/Tests_sources/Test_BM/Test_BM.md new file mode 100644 index 0000000000..7c2a71ce68 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_sources/Test_BM/Test_BM.md @@ -0,0 +1,34 @@ +# The `Test_BM` Instrument + +*McXtrace: Test instrument for the Bending_magnet component* + +## Identification + +- **Site:** Tests_sources +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** 07/05/2013 + +## Description + +```text +This is a simple test-instrument for the bending magnet component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| SOURCE | 0/1 | select a BM (0) or a Wiggler (1) source. | 0 | +| e0 | keV | Central energy of the interval to be looked at | 25 | +| de | keV | Half-width of energy interval | 24.9 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_sources/Test_BM/Test_BM.instr) for `Test_BM.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_sources/Test_Source_quasi/Test_Source_quasi.md b/mcxtrace-comps/examples/Tests_sources/Test_Source_quasi/Test_Source_quasi.md new file mode 100644 index 0000000000..f827b1f291 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_sources/Test_Source_quasi/Test_Source_quasi.md @@ -0,0 +1,32 @@ +# The `Test_Source_quasi` Instrument + +*McXtrace: Test instrument to show that the quasi-stcohastic source component works* + +## Identification + +- **Site:** Tests_sources +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Fysik +- **Date:** Feb 1st 2013 + +## Description + +```text +This instrument is a unit test for the quasi-stochastic source component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| SRC | | Integer parameter picks a source model. 0=normal Source_div, 1=Quasi-stochastic | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_sources/Test_Source_quasi/Test_Source_quasi.instr) for `Test_Source_quasi.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_sources/Test_Sources/Test_Sources.md b/mcxtrace-comps/examples/Tests_sources/Test_Sources/Test_Sources.md new file mode 100644 index 0000000000..a06931a74a --- /dev/null +++ b/mcxtrace-comps/examples/Tests_sources/Test_Sources/Test_Sources.md @@ -0,0 +1,42 @@ +# The `Test_Sources` Instrument + +*McXtrace: Test instrument to show that the source components work* + +## Identification + +- **Site:** Tests_sources +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Fysik +- **Date:** Feb 1st 2013 + +## Description + +```text +This instrument is a unit test for the source components. + +The following sources are handled: +Source_gaussian SRC=0 (with gauss=0) +Source_gaussian SRC=1 +Source_pt SRC=2 +Source_pt SRC=3 +Source_flat SRC=4 +Source_flat SRC=5 +Source_div SRC=6 +Source_div SRC=7 +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| SRC | | Integer parameter picks a source model. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_sources/Test_Sources/Test_Sources.instr) for `Test_Sources.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_sources/Test_source_lab/Test_source_lab.md b/mcxtrace-comps/examples/Tests_sources/Test_source_lab/Test_source_lab.md new file mode 100644 index 0000000000..0fc96eb8ab --- /dev/null +++ b/mcxtrace-comps/examples/Tests_sources/Test_source_lab/Test_source_lab.md @@ -0,0 +1,35 @@ +# The `Test_source_lab` Instrument + +*McXtrace: Unit test instrument for the Source_lab component* + +## Identification + +- **Site:** Tests_sources +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Jul. 8th 2014 + +## Description + +```text +This instrument serves as a unit test for the Source_lab component. +The emon1-monitor catches the Kalpha-peaks, and emon2 the Kbeta peaks. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| Emin | keV | minimal energy of the photons at the source | 1 | +| Emax | keV | maximal energy of the photons at the source | 40 | +| LO | 0/1 | activate Lorentzian line profile at the source | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_sources/Test_source_lab/Test_source_lab.instr) for `Test_source_lab.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_sources/Test_source_spectra/Test_source_spectra.md b/mcxtrace-comps/examples/Tests_sources/Test_source_spectra/Test_source_spectra.md new file mode 100644 index 0000000000..8af2a77473 --- /dev/null +++ b/mcxtrace-comps/examples/Tests_sources/Test_source_spectra/Test_source_spectra.md @@ -0,0 +1,38 @@ +# The `Test_source_spectra` Instrument + +*McXtrace: Test instrument for the Source_spectra component* + +## Identification + +- **Site:** Tests_sources +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Aug. 10th, 2014 + +## Description + +```text +A unit test instrument for the Source component that can take input from a SPECTRA-simulation +of an undulator/wiggler etc. and input it into McXtrace. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Central wavelength for sampling | 12.5 | +| dE | keV | Halfwidth of sampleing window (in energy) | 1 | +| stem4d | | Filename stem for 4D-datafiles from SPECTRA. | "sp8LU_xy" | +| flag4d | | If zero use projection datafiles, else use 4D. | 0 | +| stemx | | Filename stem for the x-projection data files coming from SPECTRA. | "sp8LU_x" | +| stemy | | Filename stem for the y-projection data files coming from SPECTRA | "sp8LU_y" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_sources/Test_source_spectra/Test_source_spectra.instr) for `Test_source_spectra.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/Tests_sources/Test_undulator/Test_undulator.md b/mcxtrace-comps/examples/Tests_sources/Test_undulator/Test_undulator.md new file mode 100644 index 0000000000..d8e94e1b8f --- /dev/null +++ b/mcxtrace-comps/examples/Tests_sources/Test_undulator/Test_undulator.md @@ -0,0 +1,34 @@ +# The `Test_undulator` Instrument + +*McXtrace: Unit test instrument for the Undulator component* + +## Identification + +- **Site:** Tests_sources +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Aug 2016 + +## Description + +```text +A simple undulator with parameters as in Kim, 1989 (sec. 4). +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| minh | 1 | lowest harmonic to include in the simulation | 1 | +| maxh | 1 | highest harmonic to include in the simulation | 1 | +| FAST | 0/1 | Use a faster integration scheme | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/Tests_sources/Test_undulator/Test_undulator.instr) for `Test_undulator.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/examples/XFEL/XFEL_SPB/XFEL_SPB.md b/mcxtrace-comps/examples/XFEL/XFEL_SPB/XFEL_SPB.md new file mode 100644 index 0000000000..9f71e16a97 --- /dev/null +++ b/mcxtrace-comps/examples/XFEL/XFEL_SPB/XFEL_SPB.md @@ -0,0 +1,42 @@ +# The `XFEL_SPB` Instrument + +*McXtrace: European XFEL SPB beamline (on SASE1)* + +## Identification + +- **Site:** XFEL +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Fysik +- **Date:** End of the World + +## Description + +```text +A simple and early model of the SPB-beamline at the European XFEL in Hamburg. +This model includes the long beam transport from the source all the way into +experimental hutch. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| L0 | AA | The central wavelength to be simulated. | 1.3051 | +| DL | AA | Half width of energy ointerval to be simulated | 0.01 | +| D | m | Sample to detector distance | 10 | +| offset_omega_rad | rad | Incidence angle of the upstream offset mirror. | 3.6e-3 | +| offset2_rad | m | Radius of curvature of 2nd offset mirror. | 50000 | +| preCRL | 0/1 | Flag to choose whether pre-focusing CRLs are active. | 0 | +| FXE | 0/1 | Flag to enable the FXE distribution mirror. Useful for debugging. | 0 | +| R1 | m | Radius of curvature of 1st focusing mirror. | 20000 | +| R2 | m | Radius of curvature of 2nd focusing mirror. | 20000 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/examples/XFEL/XFEL_SPB/XFEL_SPB.instr) for `XFEL_SPB.instr`. + +--- + +*Generated for mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/misc/Air.md b/mcxtrace-comps/misc/Air.md new file mode 100644 index 0000000000..c64ffe9aa2 --- /dev/null +++ b/mcxtrace-comps/misc/Air.md @@ -0,0 +1,74 @@ +# The `Air` Component + +*McXtrace: Release: McXtrace 1.4 + +Component simulating atmospheric air.* + +## Identification + +- **Site:** +- **Author:** M. B. Nielsen +- **Origin:** DTU Fysik, NBI +- **Date:** 05.02.2015 + +## Description + +```text +The component simulates air and can be inserted as if it was just some extra sample placed somewhere in the beam line. +The air component is intended to be used in all kinds of setups where air may introduce background. +Code structure in this component is based on the component Saxs_spheres. +The shape of the sample may be a filled box with dimensions +xwidth, yheight, zdepth, a filled cylinder with dimensions radius and yheight, +a filled sphere with radius R. +(NB: As we assume air to be an ideal gas, the volume fractions of the elements in the gas are merely the mole fractional part of the given element. +From this the number density of atoms/molecules is calculated) +The air is dry and assumed to be made of nitrogen, oxygen and argon - all other constituents are neglected. + +So far the calculations of the scattering probability (and hence also the weight multiplier) assumes the x-ray source to be unpolarized. +Further the component does not yet account for absorption of x-rays. I.e. absorption is simply omitted, but it may OR may NOT be negligible. +I have not yet looked into this last question, so I can't say if the lack of absorption is a bad thing or if it is allowable. + +Example: +COMPONENT air1 = Air( +frac = 0.4, pressure = 50000, temperature = 270, +xwidth = 0.5, yheight = 0.5, zdepth = 1.5, target_index = 1, +focus_xw = 0.5, focus_yh = 0.5) +AT (0, 0, 15) RELATIVE Origin +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| frac | 0-1 | Fraction of rays to scatter from the air | 0.3 | +| pressure | Pa | Total pressure of the air gas | 101325 | +| temperature | K | Absolute temperature | 273.15+21.1 | +| R_gas | | | 8.3144621 | +| bond_N | | | 1.0976 | +| bond_O | | | 1.2074 | +| Nitrogen_part | | | 0.781 | +| Oxygen_part | | | 0.21 | +| Argon_part | | | 0.009 | +| xwidth | m | Width of the air volume. | 0 | +| yheight | m | Height of the air volume. | 0 | +| zdepth | m | Depth of the air volume. | 0 | +| radius | m | Radius of spherical or cylindrical air volume. | 0 | +| target_x | m | X-coordinate of sampling window. | 0 | +| target_y | m | Y-coordinate of sampling window. | 0 | +| target_z | m | Z-coordinate of sampling window. | 6 | +| target_index | | Index of target component putting sampling window on a subsequent component. | 0 | +| focus_xw | m | Width of the sampling window. | 0 | +| focus_yh | m | Height of the sampling window. | 0 | +| focus_aw | rad | Horizontal (width) opening angle of sampling window. | 0 | +| focus_ah | rad | Vertical (height) opening angle of sampling window. | 0 | +| focus_r | rad | Radius of circular sampling window. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/misc/Air.comp) for `Air.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/misc/File.md b/mcxtrace-comps/misc/File.md new file mode 100644 index 0000000000..9098a8156d --- /dev/null +++ b/mcxtrace-comps/misc/File.md @@ -0,0 +1,36 @@ +# The `File` Component + +*McXtrace: File.comp - allows to generate instrument/component input-files +from METADATA blocks* + +## Identification + +- **Site:** +- **Author:** Greg Tucker +- **Origin:** ESS +- **Date:** 2024 + +## Description + +```text +File.comp - allows to generate instrument/component input-files +from METADATA blocks - see test_File.instr for an example. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | string | Filename for output-file generated from metadata block | 0 | +| **metadatakey** | string | METADATA-key for looking up file content (may belong to File instance or another comp) | | +| keep | 1 | Flag to indicate if file should be kept post-simulation | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/misc/File.comp) for `File.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/misc/Focus.md b/mcxtrace-comps/misc/Focus.md new file mode 100644 index 0000000000..cf7c4a4b1a --- /dev/null +++ b/mcxtrace-comps/misc/Focus.md @@ -0,0 +1,42 @@ +# The `Focus` Component + +*McXtrace: Release: McXtrace 1.1 + +Turn a photon into a Huygens wavelet. To be used with the SPLIT keyword.* + +## Identification + +- **Site:** +- **Author:** Carsten Detlefs, hacked from slit.comp +- **Origin:** ESRF +- **Date:** November 6, 2013 + +## Description + +```text +Changes direction of the photon to a random direction +towards the specified target area. +To be used in coherent simulations, preferably with +the SPLIT keyword. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dist | m | distance to target | 0.0 | +| focus_xw | m | x-width of target | 0.0 | +| focus_yh | m | y-height of target | 0.0 | +| focus_x0 | m | x-center of target | 0.0 | +| focus_y0 | m | y-center of target | 0.0 | +| focus_absolute | | Flag - if non-zero, focus_x0 and focus_y0 are in absolute (lab) coordinates. | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/misc/Focus.comp) for `Focus.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/misc/MCPL_input.md b/mcxtrace-comps/misc/MCPL_input.md new file mode 100644 index 0000000000..366c53901a --- /dev/null +++ b/mcxtrace-comps/misc/MCPL_input.md @@ -0,0 +1,49 @@ +# The `MCPL_input` Component + +*McXtrace: Source-like component that reads photon state parameters from an mcpl-file.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Aug 2016 + +## Description + +```text +Source-like component that reads photon state parameters from a binary mcpl-file. + +MCPL is short for Monte Carlo Particle List, and is a new format for sharing events +between e.g. MCNP(X), Geant4 and McXtrace . + +When used with MPI, the --ncount given on the commandline is overwritten by +#MPI nodes x #events in the file. + +Example: MCPL_input(filename=voutput,verbose=1,repeat_count=1,E_smear=0.1,pos_smear=0.001,dir_smear=0.01) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of photon mcpl file to read | 0 | +| polarisationuse | | If !=0 read polarisation vectors from file | 1 | +| verbose | | Print debugging information for first 10 particles read | 1 | +| Emin | keV | Lower energy bound. Particles found in the MCPL-file below the limit are skipped | 0 | +| Emax | keV | Upper energy bound. Particles found in the MCPL-file above the limit are skipped | FLT_MAX | +| repeat_count | 1 | Repeat contents of the MCPL file this number of times. NB: When running MPI, repeating is implicit and is taken into account by integer division. MUST be combined sith the _smear options! | 1 | +| E_smear | 1 | When repeating events, make a Gaussian MC choice within E_smear*E around particle energy E | 0 | +| pos_smear | m | When repeating events, make a flat MC choice of position within pos_smear around particle starting position | 0 | +| dir_smear | deg | When repeating events, make a Gaussian MC choice of direction within dir_smear around particle direction | 0 | +| preload | | Load particles during INITIALIZE. On GPU preload is forced | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/misc/MCPL_input.comp) for `MCPL_input.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/misc/MCPL_output.md b/mcxtrace-comps/misc/MCPL_output.md new file mode 100644 index 0000000000..a55a0e5c98 --- /dev/null +++ b/mcxtrace-comps/misc/MCPL_output.md @@ -0,0 +1,58 @@ +# The `MCPL_output` Component + +*McXtrace: Detector-like component that writes photon state parameters into an mcpl-format +binary, virtual-source photon file.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Aug 2016 + +## Description + +```text +Detector-like component that writes photon state parameters into an mcpl-format +binary, virtual-source photon file. + +MCPL is short for Monte Carlo Particle List, and is a new format for sharing events +between e.g. MCNP(X), Geant4, and McXtrace. + +When used with MPI, the component will output #MPI nodes individual MCPL files that +can be merged using the mcpltool. + +MCPL_output allows a few flags to tweak the output files: +1. If use_polarisation is unset (default) the polarisation vector will not be stored (saving space) +2. If doubleprec is unset (default) data will be stored as 32 bit floating points, effectively cutting the output file size in half. +3. Extra information may be attached to each ray in the form of a userflag, a user-defined variable wich is packed into 32 bits. If +the user variable does not fit in 32 bits the value will be truncated and likely garbage. If more than one variable is to be attached to +each photon this must be packed into the 32 bits. + +These features are set this way to keep file sizes as manageable as possible. + +Example: MCPL_output( filename="voutput", verbose=1, userflag="flag", userflagcomment="Photon Id" ) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of photon file to write. If not given, the component name will be used. | 0 | +| weight_mode | 1 | weight_mode=1: record initial ray count in MCPL stat:sum entry and rescale particle weights. weight_mode=2: classical (deprecated) mode of outputting particle weights directly. | -1 | +| verbose | 1 | If 1) Print summary information for created MCPL file. 2) Also print summary of first 10 particles information stored in the MCPL file. >2) Also print information for first 10 particles as they are being stored by McStas | 0 | +| polarisationuse | 1 | Enable storing the polarisation state of the photon. | 0 | +| doubleprec | 1 | Use double precision storage | 0 | +| userflag | 1 | Extra variable to attach to each photon. The value of this variable will be packed into a 32 bit integer. | "" | +| userflagcomment | str | String variable to describe the userflag. If this string is empty (the default) no userflags will be stored. | "" | +| buffermax | 1 | Maximal number of events to save ( <= MAXINT), GPU/OpenACC only | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/misc/MCPL_output.comp) for `MCPL_output.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/misc/Progress_bar.md b/mcxtrace-comps/misc/Progress_bar.md new file mode 100644 index 0000000000..698092d586 --- /dev/null +++ b/mcxtrace-comps/misc/Progress_bar.md @@ -0,0 +1,44 @@ +# The `Progress_bar` Component + +*McXtrace: Release: McXtrace 1.0 + +A simulation progress bar* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi +- **Origin:** ILL +- **Date:** 2009 + +## Description + +```text +An indicator of the progress of the simulation, monitoring +the Init, Trace with the achieved percentage, and the Finally section. +Intermediate savings (e.g. triggered by USR2 signal) are also shown. +This component should be positioned at the very begining of the instrument +The profile option will save the intensity and number of events for each +component It may be used to evaluate the simulation efficiency. + +Example: Progress_bar(percent=10,flag_save=1) AT (0,0,0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| profile | str | file name to save the simulation profile in. If set to "", it is set to the name of the instrument. | "NULL" | +| percent | 0-100 | percentage interval between updates. Default is 10%. | 10 | +| flag_save | 0\|1 | flag to enable intermediate saving for all monitors | 0 | +| minutes | min | time in minutes between updates (Overrides percent flag). | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/misc/Progress_bar.comp) for `Progress_bar.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/misc/Shadow_input.md b/mcxtrace-comps/misc/Shadow_input.md new file mode 100644 index 0000000000..76b2e6271b --- /dev/null +++ b/mcxtrace-comps/misc/Shadow_input.md @@ -0,0 +1,40 @@ +# The `Shadow_input` Component + +*McXtrace: Release: McXtrace 0.1 + +Read x-ray state parameters from SHADOW x-ray event file.* + +## Identification + +- **Site:** +- **Author:** Andrea Prodi +- **Origin:** Risoe/ILL +- **Date:** November 21, 2011 + +## Description + +```text +Source-like component reading x-ray state parameters from a +SHADOW x-ray event file. Used to interface McXtrace components or +simulations into SHADOW. + +Example: Shadow_input(file="MySource.00", bufsize = 10000, repeat_count = 2) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| file | string | Filename of x-ray file to read. Default (NULL) is standard input. Empty string "" unactivates component | "" | +| bufsize | records | Size of x-ray input buffer | 10000 | +| repeat_count | 1 | Number of times to repeat each x-ray read | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/misc/Shadow_input.comp) for `Shadow_input.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/misc/Shadow_output.md b/mcxtrace-comps/misc/Shadow_output.md new file mode 100644 index 0000000000..9eea33cbaf --- /dev/null +++ b/mcxtrace-comps/misc/Shadow_output.md @@ -0,0 +1,45 @@ +# The `Shadow_output` Component + +*McXtrace: Release: McXtrace 0.1 + +Write x-ray state parameters to SHADOW x-ray event file.* + +## Identification + +- **Site:** +- **Author:** Andrea Prodi +- **Origin:** Risoe/ILL +- **Date:** November 21, 2011 + +## Description + +```text +Detector-like component writing x-ray state parameters to a +SHADOW x-ray file. Used to interface McXtrace components or +simulations into SHADOW. Each photon is 104 bytes. + +Note that when standard output is used, as is the default, no +monitors or other components that produce terminal output must be +used, or the x-ray output from this component will become +corrupted. + +Example: Shadow_output(file="MySource.vit", bufsize = 10000, progress = 1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| file | string | Filename of x-ray file to write. Default is standard output | "" | +| bufsize | records | Size of x-ray output buffer | 1000 | +| progress | flag | If not zero, output dots as progress indicator | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/misc/Shadow_output.comp) for `Shadow_output.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/misc/Shape.md b/mcxtrace-comps/misc/Shape.md new file mode 100644 index 0000000000..c806229bca --- /dev/null +++ b/mcxtrace-comps/misc/Shape.md @@ -0,0 +1,62 @@ +# The `Shape` Component + +*McXtrace: A geometric shape without effect on X-raysX, for instrument display purpose.* + +## Identification + +- **Site:** +- **Author:** E. Farhi +- **Origin:** ILL +- **Date:** June 23rd 2009 + +## Description + +```text +An inactive geometrical shape, for drawing purposes only. +It does not propagate X-rays, nor interact. +Shape: +Geometric shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the X ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using qhull/powercrust, and +viewed with geomview +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Example: Shape(radius=0.05, yheight=0.1) +Shape(geometry="socket.off") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| geometry | str | Name of an Object File Format (OFF) file for complex geometry. The OFF file may be generated from XYZ coordinates using qhull/powercrust | 0 | +| radius | m | Outer radius of sample in (x,z) plane | 0 | +| xwidth | m | Horiz. dimension of sample (bounding box if off file), as a width | 0 | +| yheight | m | Vert. dimension of sample (bounding box if off file), as a height. A sphere shape is used when 0 and radius is set | 0 | +| zdepth | m | Depth of sample (bounding box if off file) | 0 | +| thickness | m | Thickness of hollow sample | 0 | +| center | 1 | Flag to determine if OFF object is centered on its centre of mass. | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/misc/Shape.comp) for `Shape.comp`. +- Geomview and Object File Format (OFF) +- Powercrust/qhull + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/DivE_monitor.md b/mcxtrace-comps/monitors/DivE_monitor.md new file mode 100644 index 0000000000..bb934a2c37 --- /dev/null +++ b/mcxtrace-comps/monitors/DivE_monitor.md @@ -0,0 +1,49 @@ +# The `DivE_monitor` Component + +*McXtrace: Divergence/Energy monitor.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Jun. 2016 + +## Description + +```text +2D detector for intensity as a function of both horizontal divergence +and Energy. + +Example: DivE_monitor(nE=20, nh=20, filename="Output.div", +xwidth=0.1, yheight=0.1, +maxdiv_h=2, Emin=2, Emax=10) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nE | 1 | Number of bins in energy | 20 | +| nh | 1 | Number of bins in divergence | 20 | +| filename | str | Name of file in which to store the detector image | 0 | +| xwidth | m | Width of detector. | 0.1 | +| yheight | m | Height of detector. | 0.1 | +| maxdiv_h | deg | Maximal horizontal divergence detected | 2 | +| **Emin** | keV | Minimum energy detected | | +| **Emax** | keV | Maximum energy detected | | +| restore_xray | 1 | If set, the monitor does not influence the photon state | 0 | +| nx | 1 | Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane. | 0 | +| ny | 1 | Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane. | 0 | +| nz | 1 | Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane. | 1 | +| nowritefile | 1 | If set, monitor will skip writing to disk. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/DivE_monitor.comp) for `DivE_monitor.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/DivPos_monitor.md b/mcxtrace-comps/monitors/DivPos_monitor.md new file mode 100644 index 0000000000..76c9d29a02 --- /dev/null +++ b/mcxtrace-comps/monitors/DivPos_monitor.md @@ -0,0 +1,49 @@ +# The `DivPos_monitor` Component + +*McXtrace: Release: McXtrace 1.3 + +Divergence/position monitor (acceptance diagram).* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Jun. 16 + +## Description + +```text +2D detector for intensity as a function of both horizontal position +and wavelength. This gives information similar to an aceptance diagram used +eg. to investigate beam profiles in neutron guides. + +Example: DivPos_monitor(nh=20, ndiv=20, filename="Output.dip", +xwidth=0.1, yheight=0.1, maxdiv_h=2) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nh | 1 | Number of bins in position | 20 | +| ndiv | 1 | Number of bins in divergence | 20 | +| filename | str | Name of file in which to store the detector image | 0 | +| xwidth | m | Width of detector. | 0.1 | +| yheight | m | Height of detector. | 0.1 | +| maxdiv_h | deg | Maximal horizontal divergence detected | 2 | +| restore_xray | 1 | If set, the monitor does not influence the photon state | 0 | +| nx | 1 | Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane | 0 | +| ny | 1 | Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane | 0 | +| nz | 1 | Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane | 1 | +| nowritefile | 1 | If set, monitor will skip writing to disk. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/DivPos_monitor.comp) for `DivPos_monitor.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/Divergence_monitor.md b/mcxtrace-comps/monitors/Divergence_monitor.md new file mode 100644 index 0000000000..137e8196c4 --- /dev/null +++ b/mcxtrace-comps/monitors/Divergence_monitor.md @@ -0,0 +1,49 @@ +# The `Divergence_monitor` Component + +*McXtrace: Horizontal+vertical divergence monitor.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Jun. '16 + +## Description + +```text +A 2D divergence sensitive monitor. The counts are distributed in +(n times m) pixels. + +Example: Divergence_monitor(nh=20, nv=20, filename="Output.pos", +xwidth=0.1, yheight=0.1, +maxdiv_h=2, maxdiv_v=2) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nh | 1 | Number of pixel rows | 20 | +| nv | 1 | Number of pixel columns | 20 | +| rad | 1 | If set - divergence will be measured in radians. | 0 | +| filename | str | Name of file in which to store the detector image text | 0 | +| xwidth | m | Width of detector. | 0.1 | +| yheight | m | Height of detector. | 0.1 | +| maxdiv_h | degrees | Maximal horizontal divergence detected | 1 | +| maxdiv_v | degrees | Maximal vertical divergence detected | 1 | +| restore_xray | 1 | If set, the monitor does not influence the photon state | 0 | +| nx | 1 | Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane | 0 | +| ny | 1 | Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane | 0 | +| nz | 1 | Vector definition of "forward" direction wrt. divergence, to be used e.g. when the monitor is rotated into the horizontal plane | 1 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/Divergence_monitor.comp) for `Divergence_monitor.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/EPSD_monitor.md b/mcxtrace-comps/monitors/EPSD_monitor.md new file mode 100644 index 0000000000..18cc38478d --- /dev/null +++ b/mcxtrace-comps/monitors/EPSD_monitor.md @@ -0,0 +1,46 @@ +# The `EPSD_monitor` Component + +*McXtrace: Position-energy-sensitive monitor.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU +- **Date:** June 22, 2009 + +## Description + +```text +An nx times ny pixel energy resolved PSD monitor, which only counts photons with energy in an interval +given by Emin and Emax in nE energy bins. The default energy interval is (almost) infinite, with a single bin. +If nE>1 the component will output nE detector files + one which is integrated over the full energy interval. + +Example: EPSD_monitor(xwidth=0.1, yheight=0.1, +nx=90, ny=90, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of pixel columns. | 90 | +| ny | 1 | Number of pixel rows. | 90 | +| filename | str | Name of file in which to store the detector image. | 0 | +| restore_xray | 1 | If set, the monitor does not influence the xray state. | 0 | +| xwidth | m | Width of detector. | 0.1 | +| yheight | m | Height of detector. | 0.1 | +| Emax | keV | Upper bound of energy interval. | 0 | +| Emin | keV | Lower bound of energy interval. | 0 | +| nE | 1 | Number of energy bins. | 1 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/EPSD_monitor.comp) for `EPSD_monitor.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/E_monitor.md b/mcxtrace-comps/monitors/E_monitor.md new file mode 100644 index 0000000000..5fd62e5370 --- /dev/null +++ b/mcxtrace-comps/monitors/E_monitor.md @@ -0,0 +1,43 @@ +# The `E_monitor` Component + +*McXtrace: Release: McXtrace 0.1 + +Energy-sensitive monitor.* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** June 22, 2009 + +## Description + +```text +A square single monitor that measures the energy of the incoming x-rays. + +Example: E_monitor(xwidth=0.1, yheight=0.1, +Emin=1, Emax=50, nE=20, filename="Output.nrj") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nE | m | Number of energy channels. | 20 | +| filename | str | Name of file in which to store the detector image. | 0 | +| xwidth | m | Width of detector. | 0.1 | +| yheight | m | Height of detector. | 0.1 | +| **Emin** | keV | Minimum energy to detect. | | +| **Emax** | keV | Maximum energy to detect. | | +| restore_xray | 0/1 | If set, the monitor does not influence the x-ray state. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/E_monitor.comp) for `E_monitor.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/Event_monitor_simple.md b/mcxtrace-comps/monitors/Event_monitor_simple.md new file mode 100644 index 0000000000..442a8fa8c9 --- /dev/null +++ b/mcxtrace-comps/monitors/Event_monitor_simple.md @@ -0,0 +1,34 @@ +# The `Event_monitor_simple` Component + +*McXtrace: Low-key event-monitor for debugging purposes.* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** May 21st, 2025 + +## Description + +```text +Simple, low-key event-monitor for debugging purposes. No propagation, +no MPI support. Simply prints the event list to a log file in the SAVE section. +The filename is "comp-instance".log +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nevents | 1 | Number of events to store and print | 1e6 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/Event_monitor_simple.comp) for `Event_monitor_simple.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/Flex_monitor_1D.md b/mcxtrace-comps/monitors/Flex_monitor_1D.md new file mode 100644 index 0000000000..3944062d6e --- /dev/null +++ b/mcxtrace-comps/monitors/Flex_monitor_1D.md @@ -0,0 +1,42 @@ +# The `Flex_monitor_1D` Component + +*McXtrace: Flexible monitor.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen & Peter Willendrup +- **Origin:** DTU Physics +- **Date:** Oct '20 + +## Description + +```text +A square 1D single monitor that measures intensity (or something else) as a function of some variable or parameter. + +Example: Flex_monitor_1D(nU=20, filename="Output", ustring="x", Umin=-.1, Umax=.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nU | 1 | Number of U channels | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| **Umin** | | Minimum U to detect | | +| **Umax** | | Maximum U to detect | | +| uid | 1 | Integer index of uservar to be monitored. Overrides ustring. | -1 | +| ustring | string | Name of variable (user or particle state parameter as a string) to be monitored. | "" | +| restore_xray | 1 | If set, the monitor does not influence the particle state | 0 | +| signal | string | Name of variable to be used as an additive signal to be monitored. Default is intensity. | "p" | +| nowritefile | 1 | Flag to indicate if monitor should not save any data. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/Flex_monitor_1D.comp) for `Flex_monitor_1D.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/Flex_monitor_2D.md b/mcxtrace-comps/monitors/Flex_monitor_2D.md new file mode 100644 index 0000000000..dbfcb64514 --- /dev/null +++ b/mcxtrace-comps/monitors/Flex_monitor_2D.md @@ -0,0 +1,47 @@ +# The `Flex_monitor_2D` Component + +*McXtrace: Flexible monitor.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen & Peter Willendrup +- **Origin:** DTU Physics +- **Date:** Oct '20 + +## Description + +```text +A square 2D single monitor that measures intensity (or something else) as a function of two selectable variables or parameters. + +Example: Flex_monitor_2D(nU1=20, nU2=20, filename="Output", ustring1="x", ustring2="y", Umin1=-.1, Umax1=.1, Umin2=-.1, Umax2=.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nU1 | 1 | Number of U1 channels | 20 | +| nU2 | 1 | Number of U1 channels | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| **Umin1** | | Minimum U1 to detect | | +| **Umax1** | | Maximum U1 to detect | | +| uid1 | 1 | Integer index of uservar to be monitored. Overrides ustring1. | -1 | +| ustring1 | string | Name of variable U1 (user or particle state parameter as a string) to be monitored. | "" | +| **Umin2** | | Minimum U1 to detect | | +| **Umax2** | | Maximum U1 to detect | | +| uid2 | 1 | Integer index of uservar to be monitored. Overrides ustring2. | -1 | +| ustring2 | string | Name of variable U2 (user or particle state parameter as a string) to be monitored. | "" | +| restore_xray | 1 | If set, the monitor does not influence the particle state | 0 | +| signal | string | Name of variable to be used as an additive signal to be monitored. Default is intensity. | "p" | +| nowritefile | 1 | Flag to indicate if monitor should not save any data. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/Flex_monitor_2D.comp) for `Flex_monitor_2D.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/Flex_monitor_3D.md b/mcxtrace-comps/monitors/Flex_monitor_3D.md new file mode 100644 index 0000000000..6a478ef2a7 --- /dev/null +++ b/mcxtrace-comps/monitors/Flex_monitor_3D.md @@ -0,0 +1,53 @@ +# The `Flex_monitor_3D` Component + +*McXtrace: Flexible monitor.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen & Peter Willendrup +- **Origin:** DTU Physics +- **Date:** Oct '20 + +## Description + +```text +A square 3D single monitor that measures intensity (or something else) as a function of three selectable variables or parameters. +The 3D data is saved as a series of 2D datasets, which names are filename_index + +Example: Flex_monitor_3D(nU1=20, nU2=20, nU3=20, filename="Output", ustring1="x", ustring2="y", ustring1="z", Umin1=-.1, Umax1=.1, Umin2=-.1, Umax2=.1, Umin3=-.1, Umax3=.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nU1 | 1 | Number of U1 channels | 20 | +| nU2 | 1 | Number of U1 channels | 20 | +| nU3 | 1 | Number of U3 channels | 20 | +| filename | string | Name of file in which to store the detector image | 0 | +| **Umin1** | | Minimum U1 to detect | | +| **Umax1** | | Maximum U1 to detect | | +| uid1 | 1 | Integer index of uservar to be monitored. Overrides ustring1. | -1 | +| ustring1 | string | Name of variable U1 (user or particle state parameter as a string) to be monitored. | "" | +| **Umin2** | | Minimum U1 to detect | | +| **Umax2** | | Maximum U1 to detect | | +| uid2 | 1 | Integer index of uservar to be monitored. Overrides ustring2. | -1 | +| ustring2 | string | Name of variable U2 (user or particle state parameter as a string) to be monitored. | "" | +| **Umin3** | | Minimum U3 to detect | | +| **Umax3** | | Maximum U3 to detect | | +| uid3 | 1 | Integer index of uservar to be monitored. Overrides ustring3. | -1 | +| ustring3 | string | Name of variable U3 (user or particle state parameter as a string) to be monitored. | "" | +| restore_xray | 1 | If set, the monitor does not influence the particle state | 0 | +| signal | string | Name of variable to be used as an additive signal to be monitored. Default is intensity. | "p" | +| nowritefile | 1 | Flag to indicate if monitor should not save any data. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/Flex_monitor_3D.comp) for `Flex_monitor_3D.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/Fluo_detector.md b/mcxtrace-comps/monitors/Fluo_detector.md new file mode 100644 index 0000000000..96f2ea32ef --- /dev/null +++ b/mcxtrace-comps/monitors/Fluo_detector.md @@ -0,0 +1,71 @@ +# The `Fluo_detector` Component + +*McXtrace: Detector for fluorescence, e.g. Silicon Drift Detector (SDD) or High Purity Germanium (HPGe).* + +## Identification + +- **Site:** +- **Author:** E. Farhi +- **Origin:** Synchrotron SOLEIL +- **Date:** May 2025 + +## Description + +```text +A detector that records energy spectrum from e.g. fluorescence. +This component handles: +- fluorescence detector escape (energy shift from detector K-alpha) +- fluorescence detector pile-up (sum aka time-coincidence aka pile-up within detector dead-time) +- energy resolution (above Fano level) + +The detector geometry can be a rectangle xwidth*yheight, or a disk of given 'radius'. +When the radius is given negative, a 4PI detector sphere of given radius is assumed. + +The detector escape corresponds with a fluorescence excitation within the detector itself +that subtracts the K-alpha detector level from the sample scattered energy. +The level of escape peaks in set as 'escape_ratio', e.g. 1-2 %. + +The detector pile-up is related to the detector dead-time, within which time coincidence +between two fluorescence photons are summed-up. +The level of pile-up is set as 'pileup_ratio', e.g. 1-2 % which can increase for high +count rates that saturate the detector. + +Last, the fluorescence peak shape is broadened using an electronic noise (at E=0) and +a nominal resolution at E=resolution_energy (in keV). You may set the electronic_noise +to zero for a perfect detector (Fano limit). To use a constant resolution, set the +resolution_energy=0. + +Example: Fluo_detector(xwidth=0.1, yheight=0.1, +Emin=1, Emax=50, nE=20, filename="Output.nrj") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Radius of disk detector (in XY plane). When given as negative, a 4PI sphere is assumed. | 0 | +| xwidth | m | Width of rectangle detector. | 0 | +| yheight | m | Height of rectangle detector. | 0 | +| Emin | keV | Minimum energy to detect. | 1 | +| Emax | keV | Maximum energy to detect. | 39 | +| nE | m | Number of energy channels. | 2000 | +| filename | str | Name of file in which to store the detector image. | 0 | +| restore_xray | 0/1 | If set, the monitor does not influence the x-ray state. | 0 | +| escape_ratio | 1 | Detector escape peak ratio, e.g. 0.01-0.02. Zero inactivates. | 0.01 | +| escape_energy | keV | Detector escape peak energy, e.g. 1.739 for Si, 9.886 for Ge. | 1.739 | +| pileup_ratio | 1 | Sum aka time coincidence aka pile-up detector peak ratio, e.g. 0.01-0.02. This is e.g. the dead-time ratio. Zero inactivates. | 0.01 | +| electronic_noise | keV | Electronic noise at E=0, FWHM in keV. Use electronic_noise=0 for Fano limit. | 0.1 | +| resolution_energy | keV | Energy at which resolution is given, e.g. 5.9 keV Mn K-alpha. | 6 | +| resolution | keV | Resolution FWHM in keV at resolution_energy. | 0.2 | +| flag_lorentzian | 1 | When 1, the line shapes are assumed to be Lorentzian, else Gaussian. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/Fluo_detector.comp) for `Fluo_detector.comp`. +- Fluorescence https://en.wikipedia.org/wiki/Fluorescence + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/L_monitor.md b/mcxtrace-comps/monitors/L_monitor.md new file mode 100644 index 0000000000..d39291c319 --- /dev/null +++ b/mcxtrace-comps/monitors/L_monitor.md @@ -0,0 +1,44 @@ +# The `L_monitor` Component + +*McXtrace: Release: McXtrace 0.1 + +Wavelength-sensitive monitor.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen and Kim Lefmann +- **Origin:** Risoe +- **Date:** June 22, 2009 + +## Description + +```text +A square single monitor that measures the wavelength of the incoming +xray. + +Example: L_monitor(xmin=-0.1, xwidth=0.1, yheight=0.1, +nL=20, filename="Output.L", Lmin=0.1, Lmax=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nL | m | Number of wavelength channels. | 20 | +| filename | str | Name of file in which to store the detector image. | 0 | +| xwidth | m | Width of detector. | 0.1 | +| yheight | m | Height of detector. | 0.1 | +| **Lmin** | AA | Minimum wavelength to detect. | | +| **Lmax** | AA | Maximum wavelength to detect. | | +| restore_xray | | If set, the monitor does not influence the x-ray state. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/L_monitor.comp) for `L_monitor.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/Monitor.md b/mcxtrace-comps/monitors/Monitor.md new file mode 100644 index 0000000000..e5a9598ee1 --- /dev/null +++ b/mcxtrace-comps/monitors/Monitor.md @@ -0,0 +1,38 @@ +# The `Monitor` Component + +*McXtrace: Release: McXtrace 0.1 + +Simple monitor.* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** June 22, 2009 + +## Description + +```text +A square single monitor that measures the intergated intensity of the incoming x-rays. + +Example: Monitor(xwidth=0.1, yheight=0.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Width of detector. | 0.1 | +| yheight | m | Height of detector. | 0.1 | +| restore_xray | m | If set, the monitor does not influence the xray state | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/Monitor.comp) for `Monitor.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/Monitor_nD.md b/mcxtrace-comps/monitors/Monitor_nD.md new file mode 100644 index 0000000000..a63d9e62c8 --- /dev/null +++ b/mcxtrace-comps/monitors/Monitor_nD.md @@ -0,0 +1,201 @@ +# The `Monitor_nD` Component + +*McXtrace: Release: McXtrace 1.2 + +This component is a general Monitor that can output 0/1/2D signals +(Intensity or signal vs. [something] and vs. [something] ...)* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi +- **Origin:** ILL +- **Date:** 14th Feb 2000. + +## Description + +```text +This component is a general Monitor that can output 0/1/2D signals +It can produce many 1D signals (one for any variable specified in +option list), or a single 2D output (two variables correlation). +Also, an additional 'list' of photon events can be produced. +By default, monitor is square (in x/y plane). A disk shape is also possible +The 'cylinder' and 'banana' option will change that for a banana shape +The 'sphere' option simulates spherical detector. The 'box' is a box. +The cylinder, sphere and banana should be centered on the scattering point. +In normal configuration, the Monitor_nD measures the current parameters +of the photon that is beeing detected. But a PreMonitor_nD component can +be used in order to study correlations between a photon being detected in +a Monitor_nD place, and given parameters that are monitored elsewhere +(at PreMonitor_nD). +The monitor can also act as a 3He gas detector, taking into account the +detection efficiency. + +The 'bins' and 'limits' modifiers are to be used after each variable, +and 'auto','log' and 'abs' come before it. (eg: auto abs log hdiv bins=10 +limits=[-5 5]) When placed after all variables, these two latter modifiers +apply to the signal (e.g. intensity). Unknown keywords are ignored. +If no limits are specified for a given observable, reasonable defaults will be +applied. Note that these implicit limits are even applied in list mode. + +Implicit limits for typical variables: +(consult monitor_nd-lib.c if you don't find your variable here) +x, y, z: Derived from detection-object geometry +k: [0 10] Angs-1 +v: [0 1e6] m/s +t: [0 1] s +p: [0 FLT_MAX] in intensity-units +vx, vy: [-1000 1000] m/s +vz: [0 10000] m/s +kx, ky: [-1 1] Angs-1 +kz: [-10 10] Angs-1 +energy, omega: [0 100] meV +lambda,wavelength: [0 100] Angs +sx, sy, sz: [-1 1] in polarisation-units +angle: [-50 50] deg +divergence, vdiv, hdiv, xdiv, ydiv: [-5 5] deg +longitude, lattitude: [-180 180] deg +photon: [0 simulaton_ncount] +id, pixel id: [0 FLT_MAX] +uservars u1,u2,u3: [-1e10 1e10] + +In the case of multiple components at the same position, the 'parallel' +keyword must be used in each instance instead of defining a GROUP. + +Possible options are +Variables to record: +kx ky kz k wavevector [Angs-1] Wavevector on x,y,z and norm +vx vy vz v [m/s] Velocity on x,y,z and norm +x y z radius [m] Distance, Position and norm +xy, yz, xz [m] Radial position in xy, yz and xz plane +kxy kyz kxz [Angs-1] Radial wavevector in xy, yz and xz plane +vxy vyz vxz [m/s] Radial velocity in xy, yz and xz plane +t time [s] Time of Flight +energy omega [keV] energy of photon +lambda wavelength [Angs] wavelength of photon +sx sy sz [1] Spin +vdiv ydiv dy [deg] vertical divergence (y) +hdiv divergence xdiv [deg] horizontal divergence (x) +angle [deg] divergence from direction +theta longitude [deg] longitude (x/z) for sphere and cylinder +phi lattitude [deg] lattitude (y/z) for sphere and cylinder + +user user1 will monitor the [Mon_Name]_Vars.UserVariable{1|2|3} +user2 user3 to be assigned in an other component (see below) + +p intensity flux [phts/s or phts/cm^2/s] +ncounts n photon [1] photon ID, i.e current event index +pixel id [1] pixelID in histogram made of preceeding vars, e.g. 'theta y'. To set an offset PixelID use the 'min=value' keyword. Sets event mode. + +Other options keywords are: +abs Will monitor the abs of the following variable or of the signal (if used after all variables) +auto Automatically set detector limits for one/all +all {limits|bins|auto} To set all limits or bins values or auto mode +binary {float|double} with 'source' option, saves in compact files +bins=[bins=20] Number of bins in the detector along dimension +borders To also count off-limits photons (X < min or X > max) +capture weight by capture flux (not validated) +exclusive absorb photon out of monitor limits +file=string Detector image file name. default is component name, plus date and variable extension. +incoming Monitor incoming beam in non flat det +limits=[min max] Lower/Upper limits for axes (see up for the variable unit) +list=[counts=1000] or all For a long file of photon characteristics with [counts] or all events +log Will monitor the log of the following variable or of the signal (if used after all variables) +min=[min_value] Same as limits, but only sets the min or max +max=[max_value] +multiple Create multiple independant 1D monitors files +no or not Revert next option +outgoing Monitor outgoing beam (default) +parallel Use this option when the next component is at the same position (parallel components) +per cm2 Intensity will be per cm^2 (detector area). Displays beam section. +per steradian Intensity will be per steradian (requires auto) +premonitor Will monitor photon parameters stored previously with PreMonitor_nD. +signal=[var] Will monitor [var] instead of usual intensity +slit or absorb Absorb photons that are out detector +source The monitor will save photon states +inactivate To inactivate detector (0D detector) +verbose To display additional informations + +Detector shape options (specified as xwidth,yheight,zdepth or x/y/z/min/max) +box Box of size xwidth, yheight, zdepth. +cylinder To get a cylindrical monitor (diameter is xwidth or set radius, height is yheight). +banana Same as cylinder, without top/bottom, on restricted angular area; use theta variable with limits to define arc. (diameter is xwidth or set radius, height is yheight). +disk Disk flat xy monitor. diameter is xwidth. +sphere To get a spherical monitor (e.g. a 4PI) (diameter is xwidth or set radius). +square Square flat xy monitor (xwidth, yheight). +previous The monitor uses PREVIOUS component as detector surface. + +EXAMPLES: +MyMon = Monitor_nD( +xwidth = 0.1, yheight = 0.1, zdepth = 0, +options = "intensity per cm2 angle,limits=[-5 5] bins=10,with +borders, file = mon1"); +will monitor photon angle from [z] axis, between -5 +and 5 degrees, in 10 bins, into "mon1.A" output 1D file +options = "sphere theta phi outgoing" for a sphere PSD detector (out +beam) and saves into file "MyMon_[Date_ID].th_ph" +options = "banana, theta limits=[10,130], bins=120, y" a theta/height banana detector +options = "angle radius all auto" is a 2D monitor with automatic limits +options = "list=1000 kx ky kz energy" records 1000 photon event in a file +options = "multiple kx ky kz, auto abs log t, and list all photons" +makes 4 output 1D files and produces a complete list for all photons +and monitor log(abs(tof)) within automatic limits (for t) +options = "theta y, sphere, pixel min=100" +a 4pi detector which outputs an event list with pixelID from the actual +detector surface, starting from index 100. + +To dynamically define a number of bins, or limits: +Use in DECLARE: char op[256]; +Use in INITIALIZE: sprintf(op, "lambda limits=[%g %g], bins=%i", lmin, lmax, lbin); +Use in TRACE: Monitor_nD(... options=op ...) + +How to monitor any instrument/component variable into a Monitor_nD +Suppose you want to monitor a variable 'age' which you assign somwhere in +the instrument: +COMPONENT MyMonitor = Monitor_nD( +xwidth = 0.1, yheight = 0.1, +user1="age", username1="Age of the Captain [years]", +options="user1, auto") +AT ... + +See also the example in PreMonitor_nD to +monitor photon parameters cross-correlations. + +%BUGS +The 'auto' option for guessing optimal variable bounds should NOT be used with MPI +as each process may use different limits. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| user1 | str | Variable name of USERVAR to be monitored by user1. | "" | +| user2 | str | Variable name of USERVAR to be monitored by user2. | "" | +| user3 | str | Variable name of USERVAR to be monitored by user3. | "" | +| xwidth | m | Width of detector. | 0 | +| yheight | m | Height of detector. | 0 | +| zdepth | m | Thickness of detector (z). | 0 | +| bins | 1 | Number of bins to force for all variables. Use 'bins' keyword in 'options' for heterogeneous bins | 0 | +| min | u | Minimum range value to force for all variables. Use 'min' or 'limits' keyword in 'options' for other limits | -1e40 | +| max | u | Maximum range value to force for all variables. Use 'max' or 'limits' keyword in 'options' for other limits | 1e40 | +| restore_xray | 0\|1 | If set, the monitor does not influence the photon state. Equivalent to setting the 'parallel' option. | 0 | +| radius | m | Radius of sphere/banana shape monitor | 0 | +| options | str | String that specifies the configuration of the monitor. The general syntax is "[x] options..." (see Descr.). | "NULL" | +| filename | str | Output file name (overrides file=XX option). | "NULL" | +| geometry | str | Name of an OFF file to specify a complex geometry detector | "NULL" | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| username1 | str | Name assigned to User1 | "NULL" | +| username2 | str | Name assigned to User2 | "NULL" | +| username3 | str | Name assigned to User3 | "NULL" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/Monitor_nD.comp) for `Monitor_nD.comp`. +- PreMonitor_nD + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/PSD_monitor.md b/mcxtrace-comps/monitors/PSD_monitor.md new file mode 100644 index 0000000000..d8b185d238 --- /dev/null +++ b/mcxtrace-comps/monitors/PSD_monitor.md @@ -0,0 +1,46 @@ +# The `PSD_monitor` Component + +*McXtrace: Position-sensitive monitor.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** Risoe +- **Date:** June 22, 2009 + +## Description + +```text +Based on neutron component written by Kim Lefmann +An (nx times ny) pixel PSD monitor. This component may also be used as a beam +detector. If instead of xwidth, yheight a radius is given, the component has a circular footprint +and integrates circularly (caking). + +Example: PSD_monitor(xwidth=0.1, yheight=0.1, +nx=90, ny=90, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| filename | str | Name of file in which to store the detector image. | 0 | +| xwidth | m | Width of detector. | 0.05 | +| yheight | m | Height of detector. | 0.05 | +| radius | m | Radius of circular detetor. | 0 | +| restore_xray | 1 | If set, the monitor does not influence the xray state. | 1 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | +| nx | 1 | Number of pixel columns. | 90 | +| ny | 1 | Number of pixel rows. | 90 | +| nr | 1 | Number of radial pixels. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/PSD_monitor.comp) for `PSD_monitor.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/PSD_monitor_4PI.md b/mcxtrace-comps/monitors/PSD_monitor_4PI.md new file mode 100644 index 0000000000..42c9920150 --- /dev/null +++ b/mcxtrace-comps/monitors/PSD_monitor_4PI.md @@ -0,0 +1,43 @@ +# The `PSD_monitor_4PI` Component + +*McXtrace: Release: McXtrace 0.1 + +Spherical position-sensitive detector.* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** June 23rd, 2009 + +## Description + +```text +Based on neutron component by Kim Lefmann and Kristian Nielsen +An (n times m) pixel spherical PSD monitor using a cylindrical projection. +Mostly for test and debugging purposes. + +Example: PSD_monitor_4PI(radius=0.1, +nx=90, ny=90, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Radius of detector | 1 | +| restore_xray | 1 | If set, the monitor does not influence the xray state | 0 | +| nx | 1 | Number of pixel columns | 90 | +| ny | 1 | Number of pixel rows | 90 | +| filename | str | Name of file in which to store the detector image | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/PSD_monitor_4PI.comp) for `PSD_monitor_4PI.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/PSD_monitor_coh.md b/mcxtrace-comps/monitors/PSD_monitor_coh.md new file mode 100644 index 0000000000..a9728dd53e --- /dev/null +++ b/mcxtrace-comps/monitors/PSD_monitor_coh.md @@ -0,0 +1,51 @@ +# The `PSD_monitor_coh` Component + +*McXtrace: Position-sensitive monitor with phase integration.* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** March 13, 2010 + +## Description + +```text +An (n times m) pixel PSD monitor taking phase into account. +As the i:th ray hits a pixel (j,k) in the monitor the intensity in that +pixel will be updated as a complex sum, i.e. P_i = P_{i-1} + p_i exp{-\phi_i}. + +By setting ratio<1 the effective pixel area becomes a +fraction of the ideal (which is to divide the xwidth and yheight intervals into nx and ny abutting +subintervals). This reduces the monitor effective area by ratio^2. +If the centering flag is set - the monitor will treat all rays as if they hit a pixel +center. This behaves as if ratio -> 0, but at no cost in statistics. + +Example: PSD_monitor_coh(xwidth=0.1, yheight=0.1, +nx=90, ny=90, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | | Number of pixel columns. | 90 | +| ny | | Number of pixel rows. | 90 | +| filename | m | Name of file in which to store the detector images - the suffixes .abs and .arg will be added. | 0 | +| restore_xray | | If set, the monitor does not influence the xray state. | 0 | +| xwidth | m | Width of detector. | 0.05 | +| yheight | m | Height of detector. | 0.05 | +| ratio | | ratio between pixel area and effective pixel area. | 1 | +| centering | | Treat all rays as if they hit the center of the pixel. | 1 | +| nowritefile | 1 | If set, monitor will skip writing to disk | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/PSD_monitor_coh.comp) for `PSD_monitor_coh.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/TOF_monitor.md b/mcxtrace-comps/monitors/TOF_monitor.md new file mode 100644 index 0000000000..ed2c5e238b --- /dev/null +++ b/mcxtrace-comps/monitors/TOF_monitor.md @@ -0,0 +1,42 @@ +# The `TOF_monitor` Component + +*McXtrace: Release: 1.2 + +Rectangular Time-of-flight monitor.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** British Airways +- **Date:** Aug. 2014 + +## Description + +```text +Rectangular Time-of-flight monitor. You may either give the time-step or the +time range. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nt | 1 | Number of time bins | 20 | +| filename | str | Name of file in which to store the detector image | 0 | +| xwidth | m | Width of detector. | 0.1 | +| yheight | m | Height of detector. | 0.1 | +| tmin | mu-s | Lower time limit | 0 | +| tmax | mu-s | Upper time limit. When left as 0, use dt to compute tmax. | 0 | +| dt | mu-s | Length of each time bin | 1.0 | +| restore_xray | 1 | If set, the monitor does not influence the xray state | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/TOF_monitor.comp) for `TOF_monitor.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/monitors/W_psd_monitor.md b/mcxtrace-comps/monitors/W_psd_monitor.md new file mode 100644 index 0000000000..1a752280e9 --- /dev/null +++ b/mcxtrace-comps/monitors/W_psd_monitor.md @@ -0,0 +1,44 @@ +# The `W_psd_monitor` Component + +*McXtrace: Release: McXtrace 0.1 + +Position-sensitive wattage monitor.* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** June 22, 2009 + +## Description + +```text +Based on neutron PSD component written by Kim Lefmann +An n times m pixel PSD wattage monitor. This component may also be used as a beam +detector. + +Example: W_psd_monitor(xwidth=0.1, yheight=0.1, +nx=90, ny=90, filename="Output.psd") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| nx | 1 | Number of pixel columns | 90 | +| ny | 1 | Number of pixel rows | 90 | +| filename | str | Name of file in which to store the detector image | 0 | +| restore_xray | 1 | If set, the monitor does not influence the xray state | 0 | +| xwidth | m | Width of detector. | 0.1 | +| yheight | m | Height of detector. | 0.1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/monitors/W_psd_monitor.comp) for `W_psd_monitor.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/obsolete/Lens_Kinoform.md b/mcxtrace-comps/obsolete/Lens_Kinoform.md new file mode 100644 index 0000000000..54c41a0d1f --- /dev/null +++ b/mcxtrace-comps/obsolete/Lens_Kinoform.md @@ -0,0 +1,44 @@ +# The `Lens_Kinoform` Component + +*McXtrace: A model of a specific kinoform used by the BNL* + +## Identification + +- **Site:** +- **Author:** Jana Baltser and Erik Knudsen +- **Origin:** NBI +- **Date:** January 2012 + +## Description + +```text +KINOFORM. A model of a specific kinoform used by the BNL team during the APS beamtime. +z: [0 0.002033m] +xmin=-0.0002634 +xmax=0.0002634 +the principles of the kinoform's operation are described here: http://neutrons.ornl.gov/workshops/nni_05/presentations/min050616_xray_evans-lutterodt_ken_nni05.pdf + +You may as well use a kinoform with: +Lens_parab_Cyl(r=.5e-3,yheight=1.3e-3,xwidth=1.3e-3,d=.1e-3,N=21, +material_datafile="Be.txt") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| datafile | | | "kinoform.txt" | +| material_datafile | | | "Si.txt" | +| yheight | m | height of the lens. | 1e-2 | +| xwidth | m | width of the lens | 5.268e-4 | +| deltaN | | | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/obsolete/Lens_Kinoform.comp) for `Lens_Kinoform.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/obsolete/Lens_parab_Cyl_rough.md b/mcxtrace-comps/obsolete/Lens_parab_Cyl_rough.md new file mode 100644 index 0000000000..c3e0213f6c --- /dev/null +++ b/mcxtrace-comps/obsolete/Lens_parab_Cyl_rough.md @@ -0,0 +1,41 @@ +# The `Lens_parab_Cyl_rough` Component + +*McXtrace: Lens_parab_Cyl_rough component* + +## Identification + +- **Site:** +- **Author:** Jana Baltser and Erik Knudsen +- **Origin:** +- **Date:** April 2011 + +## Description + +```text +A simple X-ray compound refractive lens (CRL) with a parabolic cylinder profile, +it focuses in 1D. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| material_datafile | | | "Be.txt" | +| r | m | radius of curvature (circular approximation at the tip of the profile) | .5e-3 | +| yheight | m | the CRL's dimensions along Y, aka aperture | 1.2e-3 | +| xwidth | | | 1.2e-3 | +| d | | | .1e-3 | +| T | | | .99 | +| N | | | 1 | +| rough_z | | | 0 | +| rough_xy | | | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/obsolete/Lens_parab_Cyl_rough.comp) for `Lens_parab_Cyl_rough.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/obsolete/Lens_parab_rough.md b/mcxtrace-comps/obsolete/Lens_parab_rough.md new file mode 100644 index 0000000000..96f4c390ee --- /dev/null +++ b/mcxtrace-comps/obsolete/Lens_parab_rough.md @@ -0,0 +1,42 @@ +# The `Lens_parab_rough` Component + +*McXtrace: Lens_parab_rough component* + +## Identification + +- **Site:** +- **Author:** Jana Baltser and Erik Knudsen +- **Origin:** +- **Date:** August 2010, modified July 2011 + +## Description + +```text +A simple X-ray compound refractive lens (CRL) with a profile of the parabola in +rotation simulates the photons' movement on passing through it. The CRL focuses in 2D. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| material_datafile | Be.txt | File where the material parameters for the filter may be found. Format is similar to what may be found off the NIST website. | "Be.txt" | +| r | m | radius of curvature (circular approximation at the tip of the profile) | 0.5e-3 | +| yheight | m | the CRL's dimensions along Y, aka aperture | 1.4e-3 | +| xwidth | m | the CRL's dimensions along X | 1.4e-3 | +| d | m | distance between two surfaces of the lens along the propagation axis; | .1e-3 | +| T | 1 | transmission of the lens | .99 | +| N | 1 | amount of single lenses in a stack. | 1 | +| rough_z | rms | waviness along z | 0 | +| rough_xy | rms | waviness along x and y | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/obsolete/Lens_parab_rough.comp) for `Lens_parab_rough.comp`. +- material datafile obtained from http://physics.nist.gov/cgi-bin/ffast/ffast.pl + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/obsolete/Perfect_crystal.md b/mcxtrace-comps/obsolete/Perfect_crystal.md new file mode 100644 index 0000000000..fa297738ee --- /dev/null +++ b/mcxtrace-comps/obsolete/Perfect_crystal.md @@ -0,0 +1,52 @@ +# The `Perfect_crystal` Component + +*McXtrace: Perfect crystal with diamond or zincblende structure* + +## Identification + +- **Site:** +- **Author:** Anette Vickery, Andrea Prodi, Erik Knudsen +- **Origin:** NBI +- **Date:** April 2011 + +## Description + +```text +Reads atomic formfactors from a data input file. +The PerfectCrystal code reflects ray in an ideal geometry, does not include surface imperfections or mosaicity + +The crystal is positioned such that the long axis of the crystal surface coincides with +z-axis. The angle between the Bragg planes and the crystal surface is alpha + + +The algorithm: +Incoming photon's coordinates and direction (k-vector) are transformed into an elliptical reference frame +(elliptical parameters are calculated according to the mirror's position and its focusing distances and the * incident angle), the intersection point is then defined. +A new, reflected photon is then starting at the point of intersection. +Notation follows Tadashi Matsushita and Hiro-O Hashizume, X-RAY MONOCHROMATORS. Handbook on Synchrotron Radiation,North-Holland Publishing Company, 1:263–274, 1983. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| form_factors | | | "FormFactors.txt" | +| material | | | "Si.txt" | +| R0 | | Reflectivity. Overrides the computed Darwin reflectivity. Probably only useful for debugging. | 0 | +| length | m | length of the crystal (along z-axis) | 0.05 | +| width | m | width of the crystal (along x-axis) | 0.02 | +| V | AA^3 | unit cell volum | 160.1826 | +| h | | Miller index of reflection | 1 | +| k | | Miller index of reflection | 1 | +| l | | Miller index of reflection | 1 | +| alpha | rad | asymmetry angle (alpha=0 for symmetric reflection, ie the Bragg planes are parallel to the crystal surface) | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/obsolete/Perfect_crystal.comp) for `Perfect_crystal.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Arm.md b/mcxtrace-comps/optics/Arm.md new file mode 100644 index 0000000000..4227ae59e4 --- /dev/null +++ b/mcxtrace-comps/optics/Arm.md @@ -0,0 +1,34 @@ +# The `Arm` Component + +*McXtrace: Arm/optical bench* + +## Identification + +- **Site:** +- **Author:** Kim Lefmann and Kristian Nielsen +- **Origin:** Risoe +- **Date:** September 2009 + +## Description + +```text +An arm does not actually do anything, it is just there to set +up a new coordinate system. + +Example: Arm() +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Arm.comp) for `Arm.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Beamstop.md b/mcxtrace-comps/optics/Beamstop.md new file mode 100644 index 0000000000..ec713fcdef --- /dev/null +++ b/mcxtrace-comps/optics/Beamstop.md @@ -0,0 +1,44 @@ +# The `Beamstop` Component + +*McXtrace: Rectangular/circular beam stop.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** March 2011 + +## Description + +```text +A simple rectangular or circular beam stop. +Infinitely thin and infinitely absorbing. +The beam stop is by default rectangular. You may either +specify the radius (circular shape), or the rectangular bounds. + +Example: Beamstop(xmin=-0.05, xmax=0.05, ymin=-0.05, ymax=0.05) +Beamstop(radius=0.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xmin | m | Lower x bound | -0.05 | +| xmax | m | Upper x bound | 0.05 | +| ymin | m | Lower y bound | -0.05 | +| ymax | m | Upper y bound | 0.05 | +| xwidth | m | Width of beamstop (x). Overrides xmin,xmax. | 0 | +| yheight | m | Height of beamstop (y). Overrides ymin,ymax. | 0 | +| radius | m | Radius of the beam stop in the z=0 plane, centered at Origo | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Beamstop.comp) for `Beamstop.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Bragg_crystal.md b/mcxtrace-comps/optics/Bragg_crystal.md new file mode 100644 index 0000000000..98aa2e73a9 --- /dev/null +++ b/mcxtrace-comps/optics/Bragg_crystal.md @@ -0,0 +1,79 @@ +# The `Bragg_crystal` Component + +*McXtrace: Perfect, reflecting crystal with common cubic structures (diamond, fcc, or bcc, and others if symmetry form factor multipliers provided explicitly)* + +## Identification + +- **Site:** +- **Author:** Marcus H Mendenhall, NIST +- **Origin:** NIST, Gaithersburg, MD, USA +- **Date:** December 1, 2016 + +## Description + +```text +Bragg_crystal.comp supercedes Perfect_Crystal.comp with major edits and corrections. + +For details see: +The optics of focusing bent-crystal monochromators on X-ray powder diffractometers with application to lattice parameter determination and microstructure analysis, +Marcus H. Mendenhall,* David Black and James P. Cline, J. Appl. Cryst. (2019). 52, https://doi.org/10.1107/S1600576719010951 + +Reads atomic formfactors from a data input file. + +The crystal code reflects ray in an ideal geometry, i.e. does not include surface imperfections or mosaicity. +The crystal planes from which the reflection is made lies in the X-Z plane on the unbent crystal rotated +by an angle alpha about the Y axis with respect to the crystal surface. + +The crystal itself is set in the X-Z plane positioned such that the long axis of the crystal surface coincides with +the Z-axis, with its normam pointing in the positve Y-direction. The angle between the Bragg planes and the crystal surface is alpha + +This code has been validated against both experimental data +(2 channel-cut 3-bounce Si 440 crystals together in non-dispersive mode, at Cu kalpha) +and against theoretical rocking rocking curves from XOP for Si220 at Sc kalpha and Si440 at Cu kalpha. + +Changelog: +- Off-axis rays fixed June 2015 so axial divergence corrections are right +- Inclusion of polarization and temperature dependence (via Debye-Waller factor), June-September 2015 +- Errors in complex arithmetic in DarwinReflectivity2 corrected, September 2015, MHM +- Symmetries for form factors corrected 20150924 +- Rotation code updated to use exact DarwinReflectivity Theta0, Thetah so answer is right even if alpha != 0. 20151009 MHM +- Results for (1,1,1) etc. with complex form factor made to agree with XOP. December 1st, 2016 + +Notation follows Tadashi Matsushita and Hiro-O Hashizume, X-RAY MONOCHROMATORS. Handbook on Synchrotron Radiation,North-Holland Publishing Company, 1:263–274, 1983. + +Non-copyright notice: +Contributed by the National Institute of Standards and Technology; not subject to copyright in the United States. +This is not an official contribution, in that the results are in no way certified by NIST. + +Example: Bragg_crystal( +length=0.05, width=0.02, V=160.1826, h=1, k=1, l=1, alpha=0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| length | m | z depth (length) of the crystal. | 0.05 | +| width | m | x width of the crystal. | 0.02 | +| V | AA^3 | Unit cell volume | 160.1826 | +| form_factors | str | File for X-ray form factors | "FormFactors.txt" | +| material | str | Si, Ge (maybe also GaAs?) | "Si.txt" | +| alpha | rad | Asymmetry angle (alpha=0 for symmetric reflection, ie the Bragg planes are parallel to the crystal surface). alpha is defined so that positive alpha reduces the Bragg angle to the plane i.e. alpha=Thetain grazes the planes. if alpha!=0, one should restrict to rays which have small kx values, since otherwise the alpha rotation is not around the diffraction axis. | 0.0 | +| R0 | 0-1 | Reflectivity. Overrides the computed Darwin reflectivity. Probably only useful for debugging. | 0 | +| debye_waller_B | AA^2 | Debye-Waller temperature factor, M=B*(sin(theta)/lambda)^2*(2/3), default=silicon at room temp. | 0.4632 | +| crystal_type | 1 | 1 => Mx_crystal_explicit: provide explicit real and imaginary form factor multipliers structure_factor_scale_r, structure_factor_scale_i; 2 => Mx_crystal_diamond: diamond; 3 => Mx_crystal_fcc: fcc; 4 => Mx_crystal_fcc: bcc | 1 | +| h | 1 | Miller index of reflection | 1 | +| k | 1 | Miller index of reflection | 1 | +| l | 1 | Miller index of reflection | 1 | +| structure_factor_scale_r | 1 | real form factor multiplier | 0.0 | +| structure_factor_scale_i | 1 | imaginary form factor multiplier | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Bragg_crystal.comp) for `Bragg_crystal.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Bragg_crystal_bent.md b/mcxtrace-comps/optics/Bragg_crystal_bent.md new file mode 100644 index 0000000000..751b6bc6aa --- /dev/null +++ b/mcxtrace-comps/optics/Bragg_crystal_bent.md @@ -0,0 +1,80 @@ +# The `Bragg_crystal_bent` Component + +*McXtrace: Bent, perfect, reflecting crystal with common cubic structures (diamond, fcc, or bcc, and others if symmetry form factor multipliers provided explicitly)* + +## Identification + +- **Site:** +- **Author:** Marcus H Mendenhall, NIST +- **Origin:** Marcus H. Mendenhall, NIST, Gaithersburg, MD, USA +- **Date:** December 1, 2016 + +## Description + +```text +Bragg_crystal_bent.comp supercedes Perfect_Crystal_bent.comp with major edits and corrections. + +Reads atomic formfactors from a data input file. + +The crystal code reflects ray in an ideal geometry, does not include surface imperfections or mosaicity +The crystal planes from which the reflection is made must lie in the X-Z plane on the unbent crystal rotated +by an angle alpha about the x axis with respect to the crystal surface. + +The external geometry of the crystal follows that of Elliptic_mirror.comp. +I.e. the crystal is positioned such that the a-axis of the ellipsoid is on the +z-axis, the b-axis is along the y-axis and the c is along the x-axis. +The reference point of the crystal is the ellipsoid centre, offset by one half-axis along the y-axis. +(See the component manual for Elliptic_mirror for a drawing). + +N.B. The component does not work for negative curvature, nor for rays hitting the back of the monochromator. + +Notation follows Tadashi Matsushita and Hiro-O Hashizume, X-RAY MONOCHROMATORS. Handbook on Synchrotron Radiation,North-Holland Publishing Company, 1:263–274, 1983. + +Non-copyright notice: +Contributed by the National Institute of Standards and Technology; not subject to copyright in the United States. +This is not an official contribution, in that the results are in no way certified by NIST. + +NOTE: elliptical coordinate code and documentation taken from Mirror_elliptic.comp distributed in McXtrace v1.2 +However, the coordinates are rotated to be consistent with Bragg_crystal_flat.comp and Perfect_Crystal.comp. +Idealized elliptic mirror with surface ellipse and lattice ellipses independent, to allow construction of +Johansson optics, for example. + +Example: Bragg_crystal_bent( +length=0.05, width=0.02, V=160.1826, h=1, k=1, l=1, alpha=0,y_b=1, lattice_y_b=1, z_c=1, lattice_z_c=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| x_a | m | 1st short half axis (along x). Commonly set to zero, which really implies infinite value, so crystal is an elliptic cylinder. | 0 | +| y_b | m | 2nd short half axis (along y), which is also the presumed near-normal direction, reflection near the y-z plane. | 1.0 | +| z_c | m | Long half axis (along z). Commonly a=0. b=c, which creates a circular cylindrical surface. | 1.0 | +| lattice_x_a | m | Curvature matrix for underlying lattice, for bent/ground/rebent crystals THERE HAS BEEN NO TESTING for the case in which lattice_x_a != x_a. | 0 | +| lattice_y_b | m | Curvature matrix for underlying lattice, for bent/ground/rebent crystals | 1.0 | +| lattice_z_c | m | Curvature matrix for underlying lattice, for bent/ground/rebent crystals | 1.0 | +| length | m | z depth (length) of the crystal. | 0.05 | +| width | m | x width of the crystal. | 0.02 | +| V | AA^3 | Unit cell volume | 160.1826 | +| form_factors | str | File for X-ray form factors | "FormFactors.txt" | +| material | str | Si, Ge (maybe also GaAs?) | "Si.txt" | +| alpha | rad | Asymmetry angle (alpha=0 for symmetric reflection, ie the Bragg planes are parallel to the crystal surface); alpha is defined so that positive alpha reduces the Bragg angle to the plane i.e. alpha=Thetain grazes the planes; if alpha!=0, one should restrict to rays which have small kx values, since otherwise the alpha rotation is not around the diffraction axis. | 0.0 | +| R0 | 0-1 | Reflectivity. Overrides the computed Darwin reflectivity. Probably only useful for debugging. | 0 | +| debye_waller_B | AA^2 | Debye-Waller temperature factor, M=B*(sin(theta)/lambda)^2*(2/3), default=silicon at room temp. | 0.4632 | +| crystal_type | 1 | 1 => Bragg_crystal_explicit: provide explicit real and imaginary form factor multipliers structure_factor_scale_r, structure_factor_scale_i; 2 => Bragg_crystal_diamond: diamond; 3 => Bragg_crystal_fcc: fcc; 4 => Bragg_crystal_fcc: bcc | 1 | +| h | 1 | Miller index of reflection | 1 | +| k | 1 | Miller index of reflection | 1 | +| l | 1 | Miller index of reflection | 1 | +| structure_factor_scale_r | 1 | real form factor multiplier | 0.0 | +| structure_factor_scale_i | 1 | imaginary form factor multiplier | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Bragg_crystal_bent.comp) for `Bragg_crystal_bent.comp`. +- material datafile obtained from http://physics.nist.gov/cgi-bin/ffast/ffast.pl + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Capillary.md b/mcxtrace-comps/optics/Capillary.md new file mode 100644 index 0000000000..63d92e40ea --- /dev/null +++ b/mcxtrace-comps/optics/Capillary.md @@ -0,0 +1,52 @@ +# The `Capillary` Component + +*McXtrace: Release: McXtrace 1.2 + +A capillary tube* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** July 2015 + +## Description + +```text +A Capillary tube allowing for reflections along the tube. A material coating can be applied. Multilayer +coatings may be handled by generating a reflectivity file (e.g. by IMD) and setting rtable=1. +Waviness is implemented using the model described in +Wang et.al., J. Appl. Phys., 1996 where the grazing incidence angle $\theta$ is altered as +
+

+$\theta' = \theta + \delta \theta \in [-min(theta,\Delta\theta,\Delta\theta]$ +
+This ensures that reflected rays will never be scattered into the capillary. +$\Delta\theta$ is the value specified by the parameter waviness. + +Example: Capillary( +radius=1e-4,length=0.1, R0=0, coating="Rh.txt") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| coating | str | Name of file containing the material data (i.e. f1 and f2) for the coating | "Be.txt" | +| longw | 0/1 | If non-zero, waviness is purely longitudinal in its nature. | 1 | +| radius | m | Radius of curvature. | 1 | +| length | m | Length of the unbent mirror. | 0.2 | +| R0 | 0-1 | Fixed constant reflectivity | 0 | +| rtable | 0/1 | If nonzero, the coating file contains an E,theta parameterized matrix of raw reflectivities. | 0 | +| waviness | rad | The momentaneous waviness is uniformly distributed in the range [-waviness,waviness]. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Capillary.comp) for `Capillary.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Chopper_simple.md b/mcxtrace-comps/optics/Chopper_simple.md new file mode 100644 index 0000000000..0b9c7c18b1 --- /dev/null +++ b/mcxtrace-comps/optics/Chopper_simple.md @@ -0,0 +1,49 @@ +# The `Chopper_simple` Component + +*McXtrace: Ideal chopper* + +## Identification + +- **Site:** +- **Author:** +- **Origin:** Risoe +- **Date:** August 2011 + +## Description + +```text +Ideal model of a chopper situated at Z=0. If a photon arrives at the chopper plane +at a time of t = [t0 +-n*T: t0 +-n*T +tau], where T is the period of the chopper, t0 the initial delay +and tau the opening time of the chopper, it is left untouched - otherwise it is ABSORBed. +If on a continous source the isfirst parameter may be used. In this case the photon time is _defined_ +by the chopper. In other words no photons are absorbed, the photon time is merely sampled within the chopper window. +t_rise is the rise-time of the chopper opening giving a trapezoidal shape. +Limitations: this component does not take chopper geometry into account. If isfirst only samples in the first chopper opening window. + +Example: Chopper_simple( +t0 = -0.5/M_C, T = 20e-6, tau = 100e-12, xwidth = 1e-4, +yheight = 1e-4, isfirst = 1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| t0 | s | Initial delay of the opening time | 0 | +| T | s | Period of the chopper | 1 | +| tau | s | Opening time of the chopper | 0.1 | +| xwidth | m | Height of the chopper opening | 0.1 | +| yheight | m | Width of the chopeper opening | 0.1 | +| isfirst | 0/1 | Is the chopper the first chopper on a continous source. | 0 | +| t_rise | s | Rise time of the chopper pulse. | 0 | +| tjit | 1 | Timing jitter in terms of the opening time tau. For each ray the opening window will be shifted by a random amount within t=[-tjit*.5*tau,tjit*.5*tau] | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Chopper_simple.comp) for `Chopper_simple.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Collimator_linear.md b/mcxtrace-comps/optics/Collimator_linear.md new file mode 100644 index 0000000000..1753b09663 --- /dev/null +++ b/mcxtrace-comps/optics/Collimator_linear.md @@ -0,0 +1,46 @@ +# The `Collimator_linear` Component + +*McXtrace: A simple analytical Soller collimator (with triangular transmission).* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** October 2024 + +## Description + +```text +Soller collimator with rectangular opening and specified length. The +transmission function is an average and does not utilize knowledge of the +actual neutron trajectory. A zero divergence disables collimation (then the +component works as a double slit). + +Example: Collimator_linear(xmin=-0.1, xmax=0.1, ymin=-0.1, ymax=0.1, length=0.25, divergence=40,transmission=0.7) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xmin | m | Lower x bound on slits | -0.01 | +| xmax | m | Upper x bound on slits | 0.01 | +| ymin | m | Lower y bound on slits | -0.025 | +| ymax | m | Upper y bound on slits | 0.025 | +| xwidth | m | Width of slits | 0 | +| yheight | m | Height of slits | 0 | +| length | m | Distance between input and output slits | 0.1 | +| divergence | minutes of arc | Divergence horizontal angle (calculated as atan(d/length), where d is the blade spacing) | 10 | +| transmission | 1 | Transmission of Soller (0<=t<=1) | 1 | +| divergenceV | minutes of arc | Divergence vertical angle | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Collimator_linear.comp) for `Collimator_linear.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Diaphragm.md b/mcxtrace-comps/optics/Diaphragm.md new file mode 100644 index 0000000000..e901d3ff90 --- /dev/null +++ b/mcxtrace-comps/optics/Diaphragm.md @@ -0,0 +1,39 @@ +# The `Diaphragm` Component + +*McXtrace: Rectangular/circular diaphragm (alias of the Slit component)* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup +- **Origin:** DTU Physics +- **Date:** February 2025 + +## Description + +```text +A simple rectangular or circular diaphragm. You may either +specify the radius (circular shape), or the rectangular bounds. +No transmission around the diaphragm is allowed. + +Example: Diaphragm(xmin=-0.01, xmax=0.01, ymin=-0.01, ymax=0.01) +Diaphragm(radius=0.01) + + +For INPUT PARAMETERS - please consult Slit.comp as Diaphragm is a copy of that component. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Diaphragm.comp) for `Diaphragm.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Filter.md b/mcxtrace-comps/optics/Filter.md new file mode 100644 index 0000000000..5b399e2dc1 --- /dev/null +++ b/mcxtrace-comps/optics/Filter.md @@ -0,0 +1,58 @@ +# The `Filter` Component + +*McXtrace: Release: McXtrace 1.1 + +Block of an attenuating material* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** DTU Physics +- **Date:** Jan 24, 2011 + +## Description + +```text +A chunk of attenuating material. Attenuation is computed through +the effective length travelled within the material. +No scattering is modelled at present. + +Filter shape may be a cylinder, a sphere, a box or any other shape. +box/plate: xwidth x yheight x zdepth +cylinder: radius x yheight (along Y axis) +sphere: radius +any shape: geometry=OFF/PLY_file + +Example: Filter(material_datafile="Ge.txt", +geometry="wire.ply",xwidth=0.02,yheight=0,zdepth=0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| refraction | 0/1 | If nonzero, refraction is enabled. | 1 | +| fixed_delta | 0/1 | Use a fixed delta to compute refraction - useful for debugging. | 0 | +| material_datafile | str | File where the material parameters for the filter may be found. Format is similar to what may be found off the NIST website. [Be.txt] | "Be.txt" | +| geometry | str | File containing the polygon definition of a general shape object. When xwidth is also given, the object is rescaled accordingly (OFF/PLY) | 0 | +| xwidth | m | Width of block. | 0 | +| yheight | m | Height of block. | 0 | +| zdepth | m | Thickness of block. | 0 | +| radius | m | Radius of cylinder or sphere. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Filter.comp) for `Filter.comp`. +- Meshlab https://www.meshlab.net/ +- Geomview and Object File Format (OFF) +- Java version of Geomview (display only) jroff.jar +- qhull +- Powercrust https://www.cs.ucdavis.edu/~amenta/powercrust.html +- material datafile obtained from http://physics.nist.gov/cgi-bin/ffast/ffast.pl + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Grating_reflect.md b/mcxtrace-comps/optics/Grating_reflect.md new file mode 100644 index 0000000000..a9c389134b --- /dev/null +++ b/mcxtrace-comps/optics/Grating_reflect.md @@ -0,0 +1,51 @@ +# The `Grating_reflect` Component + +*McXtrace: A reflective grating.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk), Kristian Sorensen and Philip Smith +- **Origin:** DTU +- **Date:** June 2021 + +## Description + +```text +A reflective grating that diffracts incident photons. +The grating is in the XZ-plane. It then reflects the incoming photon using a MC picked angle, +where the angle is picked from a uniform distribution of width d_phi, i.e. U[-d_phi/2,d_phi/2] +The Monte Carlo wight of the ray is then adjusted wrt. to the grating interference pattern, and +the diffraction pattern associated with each grating line. All lines are considered equal. +For more efficient sampling of a particular direction the centre of the d_phi may be shifted +using the parameters order or phi0. In the latter case a set angle is chosen as the centre of the +sampled interval, in the former the centre angle is computed from the specified grating order. + +In an upcoming release this grating model will also include a blazed grating. + +Example: Grating_reflect( +d_phi=1,order=0,rho_l=100,zdepth=102e-3,xwidth=102e-3) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| d_phi | deg | Range of diffraction angle that is to be simulated -d_phi/2 ; d_phi/2. | 1 | +| R0 | 0-1 | Constant reflecticity of the grating [0;1]. | 1 | +| rho_l | l/mm | Number of lines pr mm of the grating. | 800 | +| order | 1 | The target order of the grating. If non-zero d_phi will be centered around this scattering line. | 0 | +| phi0 | deg | Target angle to center d_phi. If this is set to 0 the 0th (or any other chosen by the parameter order) order line will be used. | 0 | +| zdepth | m | The length of the grating. | 0.015 | +| xwidth | m | The width of the grating. | 0.136 | +| verbose | 0/1 | If non-zero, more information will be displayed. Nb. generates much output. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Grating_reflect.comp) for `Grating_reflect.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Grating_trans.md b/mcxtrace-comps/optics/Grating_trans.md new file mode 100644 index 0000000000..6037d9432b --- /dev/null +++ b/mcxtrace-comps/optics/Grating_trans.md @@ -0,0 +1,49 @@ +# The `Grating_trans` Component + +*McXtrace: Transmission grating* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** December 2016 + +## Description + +```text +Model of a 1D rectangular transmission grating based on the theory developed in Schnopper et. al., Applied Optics, 1977. +The grating lines are assumed to be vertical. Within each period a fraction gamma is the "open" fraction. +(I.e. 1 is completely open). At present only absorption in the substrate (modelled by the thickness sdepth) +is included. + +This component is currently undergoing validation. + +Example: Grating_trans( +xwidth=25e-3, yheight=25e-3, gamma=0.4, period=2000e-10, zdepth=5100e-10, max_order=3, material="Au.txt") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Width of the grating. Defines how many lines there are in total. | 1e-3 | +| yheight | m | Height of the grating. | 1e-3 | +| period | m | Distance between grating grooves. | 1e-6 | +| gamma | 0-1 | Ratio between groove and period aka duty cycle. 1 means fully open. | 0.5 | +| zdepth | m | Depth of grooves. | 1e-6 | +| sdepth | m | Thickness of substrate. The default is to have no substrate - i.e. rods. | 0 | +| material | str | Data file containing the material from which the grating is made. | "Au.txt" | +| substrate | str | Data file containing material data for the substrate. | "" | +| max_order | 1 | Maximum order to diffract | 2 | +| fixed_delta | 0/1 | Set delta to the given constant. Useful for debugging. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Grating_trans.comp) for `Grating_trans.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Lens_CRL_RTM.md b/mcxtrace-comps/optics/Lens_CRL_RTM.md new file mode 100644 index 0000000000..7d5e4fc6d9 --- /dev/null +++ b/mcxtrace-comps/optics/Lens_CRL_RTM.md @@ -0,0 +1,44 @@ +# The `Lens_CRL_RTM` Component + +*McXtrace: 1D CRL stack based on RTM formalism* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** DTU Physics +- **Date:** Jan '21 + +## Description + +```text +A CRL stack component based on the formalism presented by Simons et.al. J. Synch. Rad. +2017, vol. 24. +We model a 1D lens stack focusing in the y-direction. I.e. invariant along x. + +Example: Lens_CRL_RTM( +r=0.5e-3, N=10, fast=1, yheight=0, d=0.1e-3,xwidth=1e-4, zdepth=4e-4) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| r | m | Radius of curavature at the lens apex. | 0.5e-3 | +| d | m | Thickness of a single lens | 0.1e-3 | +| material | str | Datafile containing f1 constants | "Be.txt" | +| N | m | Number of lenslets in the stack. | 1 | +| zdepth | m | Thickness of a single lenslet. | 2e-3 | +| yheight | m | Height of lens opening. If zero this is set by the lens thickness. | 1e-3 | +| xwidth | m | Width of the lenslets. | 1.2e-3 | +| fast | m | Use fast calculation - should be off for better display with mxdisplay | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Lens_CRL_RTM.comp) for `Lens_CRL_RTM.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Lens_elliptical.md b/mcxtrace-comps/optics/Lens_elliptical.md new file mode 100644 index 0000000000..e1c7e33296 --- /dev/null +++ b/mcxtrace-comps/optics/Lens_elliptical.md @@ -0,0 +1,40 @@ +# The `Lens_elliptical` Component + +*McXtrace: X-ray compound refractive lens (CRL) with an elliptic profile* + +## Identification + +- **Site:** +- **Author:** Jana Baltser and Erik Knudsen +- **Origin:** NBI +- **Date:** August 2010 + +## Description + +```text +A simple X-ray compound refractive lens (CRL) with an elliptic profile simulates the photons' movement on passing through it. +Attenuation coefficient mu is taken from the NIST database and Be.txt +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| material_datafile | Be.txt | File where the material parameters for the filter may be found. Format is similar to what may be found off the NIST website. | "Be.txt" | +| r1 | m | Radius of the profile along the X axis | 0.42e-3 | +| r2 | m | Radius of the profile along the Y axis | 0.8e-3 | +| w | m | Parabola parameter, constraining it along the propagation axis | 0.46e-3 | +| d | m | Distance between two surfaces of the lens along the propagation axis | 0.2e-4 | +| Transmission | | | 1 | +| N | 1 | Amount of single lenses in a stack | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Lens_elliptical.comp) for `Lens_elliptical.comp`. +- material datafile obtained from http://physics.nist.gov/cgi-bin/ffast/ffast.pl + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Lens_parab.md b/mcxtrace-comps/optics/Lens_parab.md new file mode 100644 index 0000000000..31de4cf3b1 --- /dev/null +++ b/mcxtrace-comps/optics/Lens_parab.md @@ -0,0 +1,40 @@ +# The `Lens_parab` Component + +*McXtrace: X-ray compound refractive lens (CRL) with a profile of the parabola* + +## Identification + +- **Site:** +- **Author:** Jana Baltser and Erik Knudsen +- **Origin:** NBI +- **Date:** August 2010, modified July 2011 + +## Description + +```text +A simple X-ray compound refractive lens (CRL) with a profile of the parabola in rotation simulates the photons' movement on passing through it. The CRL focuses in 2D + +Example: Lens_parab(material_datafile = "Be.txt", r=200e-6, r_ap=0.5e-3, d=50e-6, N=16) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| material_datafile | str | Datafile containing f1 constants | "Be.txt" | +| r | m | Radius of curvature (circular approximation at the tip of the profile). | 0.5e-3 | +| r_ap | m | Radius of circular aperture, which also defines the depth of the lens profile. | 1.4e-3 | +| d | m | Distance between two surfaces of the lens along the propagation axis. | .1e-3 | +| N | m | Number of single lenses in a stack. | 1 | +| rough_z | rad | RMS value of random slope error along z. | 0 | +| rough_xy | rad | RMS value of random slope error along x and y. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Lens_parab.comp) for `Lens_parab.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Lens_parab_Cyl.md b/mcxtrace-comps/optics/Lens_parab_Cyl.md new file mode 100644 index 0000000000..b57bcbbc1e --- /dev/null +++ b/mcxtrace-comps/optics/Lens_parab_Cyl.md @@ -0,0 +1,48 @@ +# The `Lens_parab_Cyl` Component + +*McXtrace: X-ray compound refractive lens (CRL) with a parabolic cylinder shape* + +## Identification + +- **Site:** +- **Author:** Jana Baltser and Erik Knudsen +- **Origin:** NBI +- **Date:** April 2011 + +## Description + +```text +An X-ray compound refractive lens (CRL) with a parabolic cylinder profile focusing in 1D, i.e. onto a line + +The lens is invariant along the x-axis and has a parabolic profile along the y-axis defined as z/c = y^2/b^2. +Thus, i.e. it focuses onto a line along the x-axis. +N>1 means that a stack of lenses is to be simulated. Each lens consists of a pair of two opposing parabolic surfaces +with a distance d between them. The reference point of the component is at the bottom of the first parabolic +surface. + +Example: Lens_parab_Cyl(r=.5e-3,yheight=1.3e-3,xwidth=1.3e-3,d=.1e-3,N=21, +material_datafile="Be.txt") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| material_datafile | str | Datafile containing f1 constants | "Be.txt" | +| r | m | Radius of curvature (circular approximation at the tip of the profile). | .5e-3 | +| yheight | m | The CRL's aperture along Y. | 1.2e-3 | +| xwidth | m | The width of the CRL in the invariant direction x. | 1.2e-3 | +| d | m | Distance between two surfaces of the lens along the propagation axis. | .1e-3 | +| N | 1 | Number of single lenses in a stack. | 1 | +| rough_z | rad | RMS value of random slope along z. | 0 | +| rough_xy | rad | RMS value of random slope along x and y. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Lens_parab_Cyl.comp) for `Lens_parab_Cyl.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Lens_simple.md b/mcxtrace-comps/optics/Lens_simple.md new file mode 100644 index 0000000000..f4682a2ded --- /dev/null +++ b/mcxtrace-comps/optics/Lens_simple.md @@ -0,0 +1,48 @@ +# The `Lens_simple` Component + +*McXtrace: Simple refractive x-ray lens* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** June 16, 2009 + +## Description + +```text +Models a stack of N refractive lenses, with a radius of curvature, r, at the apex. +The model is a thin-lens approximation where photons are refracted in a the XY plane +at Z=0. Absorption is generally disregarded may be handled through the use of the optional +transmission parameter T, where 0<=T<=1. +Thus, the lens has the focal length of f=R/(2*N*&delta) where the x-ray refractive +index is written: n = 1 - &delta + i &beta. + +Example: Lens_simple(xwidth=1e-5, yheight=1e-5, material_datafile="Be.txt",N=100,r=0.3e-3) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Width of lens aperture. | 0 | +| yheight | m | Height of lens aperture. | 0 | +| radius | m | Radius of lens aperture (overrides xwidth & yheight). | 1e-3 | +| T | 0-1 | Transmission efficiency of the lens. | 1 | +| r | m | The radius of curvature of the lens. | 3e-4 | +| N | 1 | The number of successive lenses in the stack. | 1 | +| verbose | 0/1 | Extra information for debugging. | 0 | +| f | m | Focal length - overrides the material_datafile - and diregards chromatic aberration. | 0 | +| material_datafile | | File where the material parameters for the lens may be found. Format is similar to what may be found off the NIST website. | "Be.txt" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Lens_simple.comp) for `Lens_simple.comp`. +- material datafile obtained from http://physics.nist.gov/cgi-bin/ffast/ffast.pl + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Mask.md b/mcxtrace-comps/optics/Mask.md new file mode 100644 index 0000000000..b6ce127818 --- /dev/null +++ b/mcxtrace-comps/optics/Mask.md @@ -0,0 +1,61 @@ +# The `Mask` Component + +*McXtrace: A masking image object* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** DTU Physics +- **Date:** March 2014 + +## Description + +```text +The Mask component takes an image as input either as an standard image file in png or pnm format, or as an ascii file (see below for format), +and uses the image as a mask. For instance as a manner of measuring resolution for imaging applications. +If the image is supplied as a png or pnm file, they interpretation of the pixels varies depending on the file. If the image is grayscale the pixel values are directly mapped +to opacity (or transparency if invert is set) values in the range [0..1]. If the image has RGB channels the R channel is considered most significant, the B channel least significant. +The resulting number, e.g. R*255^2 + G*255 + B, is then mapped to a real valued opacity. +Additionally png images may have an alpha channel - which is then considered the least significant channel. Palette mapped pngs are as of yet _not_ supported. +A regular ascii file may be supplied - in which case the file is like the one below +#any initial line starting with a hash is silently ignored +0.0 1.0 0.0 1.0 0.0 +0.5 0.0 0.5 0.0 0.5 +0.0 0.25 0.0 0.25 0.0 +0.75 0.0 0.75 0.0 0.75 +1.0 0.0 1.0 0.0 1.0 + +...which defines a 5x5 mask with a kind of checkerboard pattern. + +By default the values from the masking image are interepreted as opacity (1 is fully blocking). If invert is nonzero this is inverted and the values are +considered as transparency (1 is fully transmissive) + +N.b. If you want to use the png-option of the component you must have libpng installed _and_ link your compiled instrument to it. Assuming libpng is installed you may do this +by adding "-DUSE_PNG=1 -lpng" to 1) the MCXTRACE_CFLAGS environment variable or 2) to the compiler flags textbox in the GUI. Open File->Configuration and edit the textbox. + +The virtual option of the Mask, is intended as a help to use a png-image as a grayscale distribution. If the virtual flag is set, rays are propagated to the mask plane +and the pixel value at the intersection point is read, but the rays remain unaffected. The pixel value is stored in the variable named in the string maskvar. This should be a USERVAR set from the instrument file. + +Example: Mask(xwidth=0.1, yheight=0.1, mask=Test_Mask_input_file.mask) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xwidth | m | Width of the masking object | 0.1 | +| yheight | m | Height of the masking object | 0.1 | +| mask | str | Name of file containing the masking image | "Test_Mask_input_file.mask" | +| invert | 0/1 | When 0 => masked values are opaque, when 1 => masked values are transparent. | 0 | +| virtual | 0/1 | Mask does not affect the x-ray, but does still read the pixel value of the pixel hit and stores it in masking. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Mask.comp) for `Mask.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Mirror.md b/mcxtrace-comps/optics/Mirror.md new file mode 100644 index 0000000000..86ba3cf7d4 --- /dev/null +++ b/mcxtrace-comps/optics/Mirror.md @@ -0,0 +1,45 @@ +# The `Mirror` Component + +*McXtrace: Perfectly flat mirror (in XZ or YZ), or polygonal* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** July 2016 + +## Description + +```text +This is a simple implementation of a perfectly flat mirror. The mirror plane is in the XZ-plane. +It can be oriented in the YZ plane by setting 'yheight'. +It may also be a complex polygonal geometry (OFF/PLY) by setting 'geometry'. + +Reflectivity may be specified either as a number (R0) or by means of a material datafile. +The material datafile may be specified as a coating or as relfectivity - either parameterized by q or E,theta. +If the datafile is identified as a coating recipe, an ab-initio reflectivity calculation is triggered. + +Example: Mirror(xwidth=5e-2, zdepth=2e-1, R0=1, coating="B4C.dat") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| zdepth | m | The length of the mirror | 0.1 | +| xwidth | m | The width of the mirror | 0.01 | +| yheight | m | The height of the mirror. This overrides xwidth and puts the mirror in the yz-plane. | 0 | +| coating | str | Filename containing reflectivities (or coating). | "" | +| R0 | 0-1 | Constant reflectivity | 0 | +| geometry | str | Filename of an OFF/PLY geometry providing a polygonal surface. When xwidth/yheight/zdepth are also given, the object is rescaled accordingly. | "" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Mirror.comp) for `Mirror.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Mirror_curved.md b/mcxtrace-comps/optics/Mirror_curved.md new file mode 100644 index 0000000000..013b3c23fc --- /dev/null +++ b/mcxtrace-comps/optics/Mirror_curved.md @@ -0,0 +1,40 @@ +# The `Mirror_curved` Component + +*McXtrace: A cylindrically curved mirror (in YZ)* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** September 25th, 2009 + +## Description + +```text +mirror is in the YZ-plane curved towards positive X if radius is positive + +Example: Mirror_curved( radius=2, length=20e-3, width=40e-3, coating="AlMgF2_disco.dat") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Radius of curvature, along Z. | 1 | +| R0 | 1 | Constant reflectivity value (mostly relevant for debugging, when coating=""). | 1 | +| coating | str | Name of file containing the material data (i.e. f1 and f2) for the coating | "Be.txt" | +| zdepth | m | Length of the unbent mirror along Z. | 0.2 | +| yheight | m | Width of the mirror along Y. | 0.2 | +| length | m | Length of the unbent mirror along Z = zdepth | 0 | +| width | m | Width of the mirror along Y = yheight | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Mirror_curved.comp) for `Mirror_curved.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Mirror_elliptic.md b/mcxtrace-comps/optics/Mirror_elliptic.md new file mode 100644 index 0000000000..abfad3e7f1 --- /dev/null +++ b/mcxtrace-comps/optics/Mirror_elliptic.md @@ -0,0 +1,50 @@ +# The `Mirror_elliptic` Component + +*McXtrace: Idealized elliptic mirror.* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** Feb 11, 2010 + +## Description + +```text +Takes a reflectivity as input and reflects rays in a ideal geometry +elliptic mirror. +The mirror is positioned such that the a-axis of the mirror ellipsoid is on the +x-axis, the b-axis is along the y-axis and the c is along the z-axis. +The reference point of the mirror is the ellipsoid centre, offset by one +half-axis along the y-axis (See the component manual for a drawing). +This means that to position the mirror correctly, +the user positions the ellipsoid governing the mirror shape, not the mirror itself. + +Example: Mirror_elliptic( length=150e-3, width=150e-3, x_a=1.025, y_b=1.025, z_c=1.025) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| x_a | m | 1st short half axis (along x). Commonly set to zero, which really implies infinite value, so crystal is an elliptic cylinder. | 0 | +| y_b | m | 2nd short half axis (along y), which is also the presumed near-normal direction, reflection near the y-z plane. | 1.0 | +| z_c | m | long half axis (along z). Commonly a=0. b=c, which creates a circular cylindrical surface. | 1.0 | +| zdepth | m | Depth (length) of the mirror along Z. | 0.2 | +| xwidth | m | Width of the mirror along X. | 0.2 | +| R0 | 1 | Reflectivity of mirror (mostly relevant for debugging, when coating="") | 1 | +| coating | str | Datafile containing either mirror material constants or reflectivity numbers. | "Be.txt" | +| length | m | alternate name for zdepth (obsolete) | 0 | +| width | m | alternate name for xwidth (obsolete) | 0 | +| radius | m | Spherical radius, Sets x_a=y_b=z_c=radius | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Mirror_elliptic.comp) for `Mirror_elliptic.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Mirror_parabolic.md b/mcxtrace-comps/optics/Mirror_parabolic.md new file mode 100644 index 0000000000..bd6a06cd08 --- /dev/null +++ b/mcxtrace-comps/optics/Mirror_parabolic.md @@ -0,0 +1,46 @@ +# The `Mirror_parabolic` Component + +*McXtrace: Idealized parabolic mirror (in XZ)* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** Feb 11, 2010 + +## Description + +```text +Takes a reflectivity as input and reflects rays in a ideal geometry +parabolic mirror. The mirror is positioned in the zx-plane curving towards positive y. +I.e. the focal point is (0,0,f(a,b)) +The geometry of the paraboloid is governed by the equation: y = x^2 / a^2 + z^2 / b^2 +Hence, the focal length for the 'x' curve is f=a^2 / 4, and analogous for z. + +Example: Mirror_parabolic(R0=1, a=1, b=0, xwidth=0.02, yheight=0, zdepth=0.05) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| R0 | 1 | Reflectivity of mirror. | 1 | +| a | sqrt(m) | Transverse curvature scale, if zero - the mirror is flat along x. | 1 | +| b | sqrt(m) | Longitudinal curvature scale, if zero, flat along z. | 1 | +| xwidth | m | Width of mirror. | 0.1 | +| zdepth | m | Length of mirror. | 0.1 | +| yheight | m | Thickness of mirror. If 0 (the default) the mirror is mathemticlly thin. Only has an effect for hitting the mirror from the side. | 0 | +| focusx | m | Transverse focal length along X. Sets a. | 0 | +| focusz | m | Longitudinal focal length along Z. Sets b. | 0 | +| radius | m | Focal length. Sets focusx and focusz. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Mirror_parabolic.comp) for `Mirror_parabolic.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Mirror_toroid.md b/mcxtrace-comps/optics/Mirror_toroid.md new file mode 100644 index 0000000000..f6fcb97ec0 --- /dev/null +++ b/mcxtrace-comps/optics/Mirror_toroid.md @@ -0,0 +1,45 @@ +# The `Mirror_toroid` Component + +*McXtrace: Toroidal shape mirror (in XZ)* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** Jul 2016 + +## Description + +```text +This is an implementation of a toroidal mirror which may be curved in two dimensions. +To avoid solving quartic equations, the intersection is compited as a combination of +two intersections. First, the ray is intersected with a cylinder to catch (almost) the small +radius curvature. Secondly, the ray is the intersected with an ellipsoid, with the curvatures +matching that of the torus. + +In the first incarnation we assume the mirror to be curving outwards (a bump). + +Example: Mirror_toroid(zdepth=0.340,xwidth=0.020,radius=246.9254,radius_o=246.9254,R0=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| coating | str | Datafile containing either mirror material constants or reflectivity numbers. | "" | +| zdepth | m | Length of mirror. | 0.1 | +| xwidth | m | Width of mirror. | 0.01 | +| **radius** | m | Curvature radius | | +| **radius_o** | m | Curvature radius, outwards | | +| R0 | 1 | Reflectivity of mirror. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Mirror_toroid.comp) for `Mirror_toroid.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Multilayer_elliptic.md b/mcxtrace-comps/optics/Multilayer_elliptic.md new file mode 100644 index 0000000000..d71b46f73b --- /dev/null +++ b/mcxtrace-comps/optics/Multilayer_elliptic.md @@ -0,0 +1,62 @@ +# The `Multilayer_elliptic` Component + +*McXtrace: Elliptic multilayer mirror (in XZ)* + +## Identification + +- **Site:** +- **Author:** Jana Baltser, Peter Willendrup, Anette Vickery, Andrea Prodi, Erik Knudsen +- **Origin:** NBI +- **Date:** February 2011 + +## Description + +```text +Reads reflectivity values from a data input file (Ref.dat) for a Si/W multilayer. +The multilayer code reflects ray in an ideal geometry, does not include surface imperfections + +The mirror is positioned such that the long axis of the mirror elliptical surface coincides with +z-axis + +The algorithm: +Incoming photon's coordinates and direction (k-vector) are transformed into an elliptical reference frame +(elliptical parameters are calculated according to the mirror's position and its focusing distances and the +incident angle), the intersection point is then defined. A new, reflected photon is then starting at the +point of intersection. + +Example: Multilayer_elliptic( +coating = "Ref_W_B4C.txt", theta = 1.2, +s1 = 1, s2 = 2, length = 0.1, width = 0.1, R0 = 1, +Emin=7, Emax=10, Estep=0.05) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| coating | str | Datafile containing reflectivity values as a function of q and E. | "Ref_W_B4C.txt" | +| theta | deg | Design angle of incidence. | 1.2 | +| s1 | m | Design distance from the source to the multilayer. | 0 | +| s2 | m | Design focusing distance of the multilayer. | 0 | +| length | m | alternate name for zdepth (obsolete) | 0.5 | +| width | m | alternate name for xwidth (obsolete) | 0.2 | +| R0 | 1 | Maximal reflectivity | 1 | +| Emin | keV | Lower limit of energy interval in datafile. Overrides what's written in the datafile header. | -1 | +| Emax | keV | Upper limit of energy interval in datafile. Overrides what's written in the datafile header. | -1 | +| Estep | keV | Step between energy sample points in datafile. Overrides what's written in the datafile header. | -1 | +| Gamma | | High electron density fraction of bilayer (in kinematical appr.). | 0 | +| Lambda | m | Thickness of bilayer (in kinematical appr.). | 0 | +| rho_AB | | Number electron density constrast in bilayer (in kinematical appr.). | 0 | +| N | 1 | Number of bilayers (in kinematical appr.). | 0 | +| xwidth | m | Width of the mirror along X-axis. | 0 | +| zdepth | m | Length of the mirror along Z. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Multilayer_elliptic.comp) for `Multilayer_elliptic.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Place.md b/mcxtrace-comps/optics/Place.md new file mode 100644 index 0000000000..2be9dbd422 --- /dev/null +++ b/mcxtrace-comps/optics/Place.md @@ -0,0 +1,34 @@ +# The `Place` Component + +*McXtrace: A place in space - alias of Arm* + +## Identification + +- **Site:** +- **Author:** Peter Willendrup +- **Origin:** DTU +- **Date:** June 2025 + +## Description + +```text +Just like Arm, Place does not actually do anything, it is just there to set +up a new coordinate system. + +Example: Place() +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Place.comp) for `Place.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Slit.md b/mcxtrace-comps/optics/Slit.md new file mode 100644 index 0000000000..22a661072f --- /dev/null +++ b/mcxtrace-comps/optics/Slit.md @@ -0,0 +1,52 @@ +# The `Slit` Component + +*McXtrace: Rectangular/circular slit* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** DTU Physics +- **Date:** June 16, 2009 + +## Description + +```text +Based on Slit-comp by Kim Lefmann and Henrik Roennow +A simple rectangular or circular slit. You may either +specify the radius (circular shape), which takes precedence, +or rectangular bounds. +No transmission around the slit is allowed. + + + +Example: Slit(xmin=-0.01, xmax=0.01, ymin=-0.01, ymax=0.01) +Slit(radius=0.01) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| xmin | m | Lower x bound. | 0 | +| xmax | m | Upper x bound. | 0 | +| ymin | m | Lower y bound. | 0 | +| ymax | m | Upper y bound. | 0 | +| radius | m | Radius of slit in the z=0 plane, centered at Origin. | 0 | +| xwidth | m | Width of slit. Overrides xmin,xmax. | 0.001 | +| yheight | m | Height of slit. Overrides ymin,ymax. | 0.001 | +| dist | m | Distance from slit plane to plane containing resampling target. | 0 | +| focus_xw | m | Width of resampling window. | 0 | +| focus_yh | m | Height of resampling window. | 0 | +| focus_x0 | m | Centre (x) of resampling window. | 0 | +| focus_y0 | m | Centre (y) of resampling window. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Slit.comp) for `Slit.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/Slit_N.md b/mcxtrace-comps/optics/Slit_N.md new file mode 100644 index 0000000000..0c624fd1b4 --- /dev/null +++ b/mcxtrace-comps/optics/Slit_N.md @@ -0,0 +1,47 @@ +# The `Slit_N` Component + +*McXtrace: Release: McXtrace 0.1 + +Rectangular/circular slit, duplicated* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** June 16, 2009 + +## Description + +```text +Based on Slit-comp by Kim Lefmann and Henrik Roennow +A simple rectangular or circular slit. You may either +specify the radius (circular shape), which takes precedence, +or the rectangular bounds. The slits are separated with 'd', and arranged along X. +No transmission around the slit is allowed. +If cutting option is used, low-weight x-rays are ABSORBED + +Example: Slit_N(xwidth=0.01, yheight=0.01, d=0.02) +Slit_N(radius=0.01, cut=1e-10, d=0.03) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Radius of slit in the z=0 plane, centered at Origo | 0 | +| cut | | Lower limit for allowed weight (1) | 0 | +| xwidth | m | Width of slit. Overrides xmin,xmax. | 0 | +| yheight | m | Height of slit. Overrides ymin,ymax. | 0 | +| N | 1 | Number of slit openings along X | 2 | +| d | m | Separation of slits | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/Slit_N.comp) for `Slit_N.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/TwinKB_ML.md b/mcxtrace-comps/optics/TwinKB_ML.md new file mode 100644 index 0000000000..221aefe417 --- /dev/null +++ b/mcxtrace-comps/optics/TwinKB_ML.md @@ -0,0 +1,51 @@ +# The `TwinKB_ML` Component + +*McXtrace: Montel optic model (aka side-by-side Kirkpatrick Baez)* + +## Identification + +- **Site:** +- **Author:** Jana Baltser, Peter Willendrup, Anette Vickery, Andrea Prodi, Erik Knudsen, Jesper Buch Jensen +- **Origin:** NBI +- **Date:** May 2012 + +## Description + +```text +Models a Montel optic, or Twin Kirkpatrick Baez mirror optic (hence the component name). +The mirror are fully abutting, i.e. there's is no gap between them, and perfectly elliptic. + +Reads reflectivity values from a data input file for a W/B4C multilayer. +The multilayer code reflects ray in an ideal geometry, the reflectivity datafile accounts for surface roughness, sigma. + +The mirror is positioned such that the long axis of the mirror elliptical surface coincides with the z-axis. + +The algorithm: +Incoming photon's coordinates and direction (k-vector) are transformed into an elliptical reference frame +(elliptical parameters are calculated according to the mirror's position and its focusing distances and the * incident angle), the intersection point is then defined. A new, reflected photon is then starting at the +point of intersection. + +Example: TwinKB_ML( theta=1.2, s1=.045 , s2=.9 , length=0.06 , width=0.2 , R0=0 , reflectivity_datafile="Ref_W_B4C.txt") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflectivity_datafile | str | File which contains reflectivities as a function of q. | "Ref.txt" | +| theta | deg | Incident angle | 1.2 | +| **s1** | m | Distance from the source to the multilayer | | +| **s2** | m | Focusing distance of the multilayer | | +| length | m | Length of the mirrors | 0.6 | +| width | m | Width of the mirror along x-axis | 0.2 | +| R0 | 0-1 | Constant reflectivity, R0=1 for an ideal situation. If R0=0, the code reads the reflectivity from the datafile | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/TwinKB_ML.comp) for `TwinKB_ML.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/optics/ZonePlate.md b/mcxtrace-comps/optics/ZonePlate.md new file mode 100644 index 0000000000..8a70a41c68 --- /dev/null +++ b/mcxtrace-comps/optics/ZonePlate.md @@ -0,0 +1,54 @@ +# The `ZonePlate` Component + +*McXtrace: Release: McXtrace 1.4 + +Zone plate based on Monte Carlo sampling of the Fresnel-Kirchhoff integral* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** June 16, 2009 + +## Description + +```text +A component which models a zone plate by consierding the plate a secondary source +and then by means of Monte Carlo sampling, evaluating the Fresnel-Kirchhoff integral +implicitly by resampling the beam in a window defined by the focus_xw,focus_yh parameters. + +Caveat emptor I: this is a computationally heavy component to run. +Caveat emptor II: for correct modelling of phase-interference phenomena, detectors used after the ZonePlate +should be of the "PSD_monitor_coh" type. + +The zone plate can be either circular or linear. In the linear case, the "slits" are +along the x-axis. + +Example: ZonePlate(radius=0.00015, L=0.15, lambda0=1, focus_xw=300e-9, focus_yh = 300e-9, focus_x0 = 0.0, focus_y0 = 0.0, dist=1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | The outer radius of the zone plate. Triggers a circular zone plate. Takes precedence over xwidth,yheight. | 0 | +| xwidth | m | Width of linear zone plate. | 0 | +| yheight | m | Height of linear zone plate | 0 | +| **L** | m | Focal length. | | +| **lambda0** | AA | The nominal wavelength that the zone plate is designed to focus. | | +| focus_x0 | m | Offset of resampling window along the x-axis. | 0 | +| focus_y0 | m | Offset of resampling window along the y-axis. | 0 | +| **focus_xw** | m | Width of the resampling window. | | +| **focus_yh** | m | Height of the resampling window. | | +| **dist** | m | Distance along the z-axis from zone plate to the resampling window. | | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/optics/ZonePlate.comp) for `ZonePlate.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/samples/Abs_objects.md b/mcxtrace-comps/samples/Abs_objects.md new file mode 100644 index 0000000000..5a25023ff0 --- /dev/null +++ b/mcxtrace-comps/samples/Abs_objects.md @@ -0,0 +1,50 @@ +# The `Abs_objects` Component + +*McXtrace: Release: McXtrace 1.1 + +Blocks of attenuating material in off format* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** DTU Physics +- **Date:** Jan 24, 2011 + +## Description + +```text +This component is a model of 1 or more off-shaped blocks attenuating the x-ray beam. +Which shapes are present and their relative positions are described in a file of the follwing format: +#objects +Material-filename OFF-filename x y z xwidth yheight zdepth +... + +An example is; +2 +Be.txt cube.off 0 0.01 0 0 0 0 +Rh.txt chess.off 0 -0.01 0 0 0 0 + +A xwidth etc of zero means use whatever dimensions are in the off/ply file. +If xwidth (or yheight or zdepth) is nonzero, the component scales the object +to fill that dimension. The xyz coordinates indicate the object shift. + +Example: Abs_objects(objects="input_abs_objects_template.dat") +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| refraction | str | Flag to enable refraction at interfaces. | 1 | +| objects | str | Input file where the off-shapes are defined. | "input_abs_objects_template.dat" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/samples/Abs_objects.comp) for `Abs_objects.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/samples/Absorption_sample.md b/mcxtrace-comps/samples/Absorption_sample.md new file mode 100644 index 0000000000..27811bba8e --- /dev/null +++ b/mcxtrace-comps/samples/Absorption_sample.md @@ -0,0 +1,63 @@ +# The `Absorption_sample` Component + +*McXtrace: Sample component with absorbing materials.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** Risoe +- **Date:** March 2011 + +## Description + +```text +A sample component consisting of a volume of one material and volume of another +material inside. This is useful as a phantom for simulating tomography experiments. +The inner material can be left unset (all 0), to only have one volume. + +Sample shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth +cylinder: radius x yheight +sphere: radius (yheight=0) +any shape: geometry=OFF/PLY file + +Example: Absorption_sample( material_datafile_o="Mn.txt", xwidth_o = 0.5, yheight_o = 0.5, zdepth_o = 0.0001, rho_o=7.15 ) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| material_datafile_i | str | Name of file containing material data for inclusion. | "" | +| material_datafile_o | str | Name of file containing material data for outer volume. | "" | +| radius_o | m | Radius of "outer" enclosing material cylinder (0) | 0 | +| xwidth_o | m | Width of "outer" enclosing material box (yheight) | 0 | +| yheight_o | m | Height of "outer enclosing material box (1) | 1 | +| zdepth_o | m | Thickness of outer enclosing material box (yheight) | 0 | +| radius_i | m | Radius of "inner" enclosed material cylinder (0) | 0 | +| xwidth_i | m | Width of "inner" enclosed material box (yheight) | 0 | +| yheight_i | m | Height of "inner enclosed material (1) | 0.0 | +| zdepth_i | m | Thickness of inner enclosed material box (yheight) | 0 | +| x_i | m | Center x-coordinate of "inner" object | 0 | +| y_i | m | Center y-coordinate of "inner" object | 0 | +| z_i | m | Center z-coordinate of "inner" object | 0 | +| rho_i | g/cm^3 | density of the enclosed material | 0 | +| rho_o | g/cm^3 | density of the enclosing material | 0 | +| geometry_i | str | Name of an inner Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust [str] | "" | +| geometry_o | str | Name of the outer Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust | "" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/samples/Absorption_sample.comp) for `Absorption_sample.comp`. +- Meshlab https://www.meshlab.net/ +- Geomview and Object File Format (OFF) +- Java version of Geomview (display only) jroff.jar +- qhull +- Powercrust https://www.cs.ucdavis.edu/~amenta/powercrust.html + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/samples/FluoCrystal.md b/mcxtrace-comps/samples/FluoCrystal.md new file mode 100644 index 0000000000..e237c4e860 --- /dev/null +++ b/mcxtrace-comps/samples/FluoCrystal.md @@ -0,0 +1,164 @@ +# The `FluoCrystal` Component + +*McXtrace: Release: McXtrace 3.5 + +Sample model handling absorption, fluorescence, Compton, Rayleigh scattering and single crystal diffraction.* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi (emmanuel.farhi.synchrotron-soleil.fr) +- **Origin:** Synchrotron SOLEIL +- **Date:** April 2025 + +## Description + +```text +Sample that models multiple photon-matter interactions: +- absorption (photon excites an electron and creates a hole) +- fluorescence (excited electrons emit light while falling into lower states) +- Compton scattering (inelastic, incoherent) +- Rayleigh scattering (elastic, coherent) +- crystal diffraction (elastic, coherent) + +The 'material' specification is given as a chemical formulae, e.g. "LaB6". It +may also be given as a file name (CIF/LAU/LAZ/FullProf format) in which case +the formulae is guessed (but may be approximative), and the crystal +diffraction is computed, following same options as the PowderN +sample component. The fluorescence is handled for atoms from Z=5 to Z=90. + +By setting the 'order' to 1, the absorption along the scattered path is handled. +A higher 'order' will handle multiple scattering events, and final absorption. +For instance, a value order>=2 handles e.g. fluorescence iterative cascades +in the material. Leaving 'order=0' handles the single scattering only. + +The single crystal diffraction model is simplified wrt the Single_crystal +component. Use that latter with a Fluorescence in a GROUP for more complex features. + +Example: FluoCrystal(material="LaB6.cif", +xwidth=0.001,yheight=0.001,zdepth=0.0001, p_interact=0.99, mosaic=3) + +Sample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the photon ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF, PLY and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Concentric components: +This component has the ability to contain other components when used in +hollow cylinder geometry (namely sample environment, e.g. cryostat and +furnace structure). Such component 'shells' should be split into input and +output side surrounding the 'inside' components. First part must then use +'concentric=1' flag to enter the inside part. The component itself must be +repeated to mark the end of the concentric zone. The number of concentric +shells and number of components inside is not limited. + +COMPONENT F_in = FluoCrystal(material="Al", concentric=1, ...) +AT (0,0,0) RELATIVE sample_position + +COMPONENT something_inside ... // e.g. the sample itself or other materials + +COMPONENT F_out = COPY(F_in)(concentric=0) +AT (0,0,0) RELATIVE sample_position + +Enhancing computation efficiency: +An important option to enhance statistics is to set 'p_interact' to, say, +30 percent (0.3) in order to force a fraction of the beam to scatter. This +will result on a larger number of scattered events, retaining intensity. + +In addition, it may be desirable to define a 'target' for the fluorescence +processes via e.g. the 'target_index' and the 'focus_xw / focus_yh' options. +This target should e.g. be the SDD area. + +The SPLIT feature is currently BROKEN with this component. Do not use it. + +If you get strange results, check the crystal mosaicity and delta(d)/d parameters, +as this component is not suited for ideal/perfect mosaic crystals. + +The fluorescence is computed via the XRayLib (apt install libxrl-dev) https://github.com/tschoonj/xraylib. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| geometry | str | Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust. | 0 | +| radius | m | Outer radius of sample in (x,z) plane. cylinder/sphere. | 0 | +| thickness | m | Thickness of hollow sample Negative value extends the hollow volume outside of the box/cylinder. | 0 | +| xwidth | m | Width for a box sample shape. | 0 | +| yheight | m | Height of sample in vertical direction for box/cylinder shapes. | 0 | +| zdepth | m | Depth for a box sample shape. | 0 | +| concentric | 1 | Indicate that this component has a hollow geometry and may contain other components. It should then be duplicated after the inside part (only for box, cylinder, sphere). | 0 | +| material | str | A CIF/LAZ/LAU file e.g. "LaB6.cif" to handle diffraction or chemical formulae, e.g. "Pb2SnO4" (no diffraction). | "LaB6.cif" | +| packing_factor | 1 | How dense is the material compared to bulk 0-1. | 0 | +| density | g/cm^3 | Density of material. V_rho=density/weight/1e24*N_A at/Angs^3. | 0 | +| weight | g/mol | Atomic/molecular weight of material. | 0 | +| p_interact | 1 | Force a given fraction of the beam to scatter, keeping intensity right, to enhance small signals (-1 inactivate). | 0 | +| target_x | m | Position of target to focus at, along X (for fluorescence). | 0 | +| target_y | m | Position of target to focus at, along Y (for fluorescence). | 0 | +| target_z | m | Position of target to focus at, along Z (for fluorescence). | 0 | +| focus_r | m | Radius of disk containing target. Use 0 for full space (for fluorescence). | 0 | +| focus_xw | m | Horiz. dimension of a rectangular area (for fluorescence). | 0 | +| focus_yh | m | Vert. dimension of a rectangular area (for fluorescence). | 0 | +| focus_aw | deg | Horiz. angular dimension of a rectangular area (for fluorescence). | 0 | +| focus_ah | deg | Vert. angular dimension of a rectangular area (for fluorescence). | 0 | +| target_index | 1 | Relative index of component to focus at, e.g. next is +1 (for fluorescence). | 0 | +| flag_compton | 1 | When 0, the Compton scattering is ignored. | 1 | +| flag_rayleigh | 1 | When 0, the Rayleigh scattering is ignored. | 1 | +| flag_lorentzian | 1 | When 1, the fluorescence line shapes are assumed to be Lorentzian, else Gaussian. | 0 | +| flag_kissel | 1 | When 1 (slower), handle M-lines XRF from Kissel for Z>=52 Te (else only K and L-lines). | 0 | +| sx_refl | str | A CIF/LAZ/LAU reflection file as for PowderN. When not given, 'material' is used. Specify it when 'material' is a chemical formula. | "" | +| int flag_sx | | | 1 | +| delta_d_d | 1 | Lattice spacing variance, gaussian RMS (longitudinal mosaic) e.g. 1e-4 to 1e-3. | 1e-3 | +| int barns | | | 1 | +| recip_cell | 1 | Choice of direct/reciprocal (0/1) unit cell definition | 0 | +| ax | AA or AA^-1 | Coordinates of first (direct/recip) unit cell vector | 0 | +| ay | AA or AA^-1 | a on y axis | 0 | +| az | AA or AA^-1 | a on z axis | 0 | +| bx | AA or AA^-1 | Coordinates of second (direct/recip) unit cell vector | 0 | +| by | AA or AA^-1 | b on y axis | 0 | +| bz | AA or AA^-1 | b on z axis | 0 | +| cx | AA or AA^-1 | Coordinates of third (direct/recip) unit cell vector | 0 | +| cy | AA or AA^-1 | c on y axis | 0 | +| cz | AA or AA^-1 | c on z axis | 0 | +| aa | | | 0 | +| bb | | | 0 | +| cc | | | 0 | +| mosaic_AB | arc_minutes, arc_minutes,1, 1, 1, 1, 1, 1 | In Plane mosaic rotation and plane vectors (anisotropic), mosaic_A, mosaic_B, A_h,A_k,A_l, B_h,B_k,B_l. Puts the crystal in the in-plane mosaic state. Vectors A and B define plane in which the crystal roation is defined, and mosaic_A, mosaic_B, denotes the resp. mosaicities (gaussian RMS) with respect to the two reflections chosen by A and B (Miller indices). | {0,0, 0,0,0, 0,0,0} | +| mosaic | arc min | Crystal mosaic (isotropic), gaussian RMS. Puts the crystal in the isotropic mosaic model state, thus disregarding other mosaicity parameters, e.g. 1-10. | 3 | +| mosaic_a | arc min | Horizontal (rotation around lattice vector a) mosaic (anisotropic), gaussian RMS. Put the crystal in the anisotropic crystal vector state. I.e. model mosaicity through rotation around the crystal lattice vectors. Has precedence over in-plane mosaic model. | -1 | +| mosaic_b | arc min | Vertical (rotation around lattice vector b) mosaic (anisotropic), gaussian RMS. | -1 | +| mosaic_c | arc min | Out-of-plane (Rotation around lattice vector c) mosaic (anisotropic), gaussian RMS | -1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/samples/FluoCrystal.comp) for `FluoCrystal.comp`. +- The XRayLib https://github.com/tschoonj/xraylib http://dx.doi.org/10.1016/j.sab.2011.09.011 +- Fluorescence https://en.wikipedia.org/wiki/Fluorescence +- Rayleigh https://en.wikipedia.org/wiki/Rayleigh_scattering +- Compton https://en.wikipedia.org/wiki/Compton_scattering +- X-ray absorption edges http://skuld.bmsc.washington.edu/scatter/AS_periodic.html +- X-ray fluorescence spectra http://www.xrfresearch.com/xrf-spectra/ +- X-ray edges and fluo lines https://physics.nist.gov/PhysRefData/XrayTrans/Html/search.html + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/samples/FluoPowder.md b/mcxtrace-comps/samples/FluoPowder.md new file mode 100644 index 0000000000..30d04d2f73 --- /dev/null +++ b/mcxtrace-comps/samples/FluoPowder.md @@ -0,0 +1,151 @@ +# The `FluoPowder` Component + +*McXtrace: Release: McXtrace 3.5 + +Sample model handling absorption, fluorescence, Compton, Rayleigh scattering and powder diffraction.* + +## Identification + +- **Site:** +- **Author:** Emmanuel Farhi (emmanuel.farhi.synchrotron-soleil.fr) +- **Origin:** Synchrotron SOLEIL +- **Date:** April 2025 + +## Description + +```text +Sample that models multiple photon-matter interactions: +- absorption (photon excites an electron and creates a hole) +- fluorescence (excited electrons emit light while falling into lower states) +- Compton scattering (inelastic, incoherent) +- Rayleigh scattering (elastic, coherent) +- powder diffraction (elastic, coherent) + +The 'material' specification is given as a chemical formulae, e.g. "LaB6". It +may also be given as a file name (CIF/LAU/LAZ/FullProf format) in which case +the formulae is guessed (but may be approximative), and the powder +diffraction is computed, following same options as the PowderN +sample component. The fluorescence is handled for atoms from Z=5 to Z=90. + +By setting the 'order' to 1, the absorption along the scattered path is handled. +A higher 'order' will handle multiple scattering events, and final absorption. +For instance, a value order>=2 handles e.g. fluorescence iterative cascades +in the material. Leaving 'order=0' handles the single scattering only. + +Example: FluoPowder(material="LaB6.cif", +xwidth=0.001,yheight=0.001,zdepth=0.0001, p_interact=0.99, +target_index=1, focus_xw=0.0005, focus_yh=0.0005) + +Sample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the photon ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF, PLY and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Concentric components: +This component has the ability to contain other components when used in +hollow cylinder geometry (namely sample environment, e.g. cryostat and +furnace structure). Such component 'shells' should be split into input and +output side surrounding the 'inside' components. First part must then use +'concentric=1' flag to enter the inside part. The component itself must be +repeated to mark the end of the concentric zone. The number of concentric +shells and number of components inside is not limited. + +COMPONENT F_in = FluoPowder(material="Al", concentric=1, ...) +AT (0,0,0) RELATIVE sample_position + +COMPONENT something_inside ... // e.g. the sample itself or other materials + +COMPONENT F_out = COPY(F_in)(concentric=0) +AT (0,0,0) RELATIVE sample_position + +Enhancing computation efficiency: +An important option to enhance statistics is to set 'p_interact' to, say, +30 percent (0.3) in order to force a fraction of the beam to scatter. This +will result on a larger number of scattered events, retaining intensity. + +In addition, it may be desirable to define a 'target' for the fluorescence +processes via e.g. the 'target_index' and the 'focus_xw / focus_yh' options. +This target should e.g. be the SDD area. +The powder scattering can be focused along an horizontal tore via the +'d_phi' and 'tth_sign' options. To get a vertical tore, rotate +the sample by 90 deg around Z. + +This sample component can advantageously benefit from the SPLIT feature, e.g. +SPLIT COMPONENT sample = FluoPowder(...) + +The fluorescence is computed via the XRayLib (apt install libxrl-dev) https://github.com/tschoonj/xraylib. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| geometry | str | Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust. | 0 | +| radius | m | Outer radius of sample in (x,z) plane. cylinder/sphere. | 0 | +| thickness | m | Thickness of hollow sample Negative value extends the hollow volume outside of the box/cylinder. | 0 | +| xwidth | m | Width for a box sample shape. | 0 | +| yheight | m | Height of sample in vertical direction for box/cylinder shapes. | 0 | +| zdepth | m | Depth for a box sample shape. | 0 | +| concentric | 1 | Indicate that this component has a hollow geometry and may contain other components. It should then be duplicated after the inside part (only for box, cylinder, sphere). | 0 | +| material | str | A CIF/LAZ/LAU file e.g. "LaB6.cif" to handle diffraction or chemical formulae, e.g. "Pb2SnO4" (no diffraction). | "LaB6.cif" | +| packing_factor | 1 | How dense is the material compared to bulk 0-1. | 0 | +| density | g/cm^3 | Density of material. V_rho=density/weight/1e24*N_A at/Angs^3. | 0 | +| weight | g/mol | Atomic/molecular weight of material. | 0 | +| p_interact | 1 | Force a given fraction of the beam to scatter, keeping intensity right, to enhance small signals (-1 inactivate). | 0 | +| target_x | m | Position of target to focus at, along X (for fluorescence). | 0 | +| target_y | m | Position of target to focus at, along Y (for fluorescence). | 0 | +| target_z | m | Position of target to focus at, along Z (for fluorescence). | 0 | +| focus_r | m | Radius of disk containing target. Use 0 for full space (for fluorescence). | 0 | +| focus_xw | m | Horiz. dimension of a rectangular area (for fluorescence). | 0 | +| focus_yh | m | Vert. dimension of a rectangular area (for fluorescence). | 0 | +| focus_aw | deg | Horiz. angular dimension of a rectangular area (for fluorescence). | 0 | +| focus_ah | deg | Vert. angular dimension of a rectangular area (for fluorescence). | 0 | +| target_index | 1 | Relative index of component to focus at, e.g. next is +1 (for fluorescence). | 0 | +| flag_compton | 1 | When 0, the Compton scattering is ignored. | 1 | +| flag_rayleigh | 1 | When 0, the Rayleigh scattering is ignored. | 1 | +| flag_lorentzian | 1 | When 1, the fluorescence line shapes are assumed to be Lorentzian, else Gaussian. | 0 | +| flag_powder | 1 | When 0, the powder diffraction is ignored. | 1 | +| flag_kissel | 1 | When 1 (slower), handle M-lines XRF from Kissel for Z>=52 Te (else only K and L-lines). | 0 | +| powder_refl | str | A CIF/LAZ/LAU reflection file as for PowderN. When not given, 'material' is used. Specify it when 'material' is a chemical formula. | "" | +| powder_format | {} | List of structure file column indexes. See the PowderN component. | {0,0,0,0,0,0,0,0} | +| Vc | AA^3 | Volume of unit cell=nb atoms per cell/density of atoms. | 0 | +| delta_d_d | AA | Global relative difraction Delta_d/d spreading when the 'w' column is not available, e.g. 1e-4 to 1e-3. Use 0 if ideal. | 0 | +| DW | 1 | Global difraction Debye-Waller factor when the 'DW' column is not available. Use 1 if included in F2. | 0 | +| d_phi | deg | Angle corresponding to the difraction vertical angular range to focus to, e.g. detector height. 0 for no focusing. You may as well define focus_ah or focus_yh and target. | 0 | +| nb_atoms | 1 | Number of sub-unit per unit cell, that is ratio of sigma for chemical formula to sigma per unit cell. | 1 | +| barns | 1 | Flag to indicate if \|F\|^2 from 'material' is in barns or fm^2, (barns=1 for laz/cif, barns=0 for lau type files). | 1 | +| tth_sign | 1 | Sign of the diffraction angle. If 0, the sign is chosen randomly (left and right). | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/samples/FluoPowder.comp) for `FluoPowder.comp`. +- The XRayLib https://github.com/tschoonj/xraylib http://dx.doi.org/10.1016/j.sab.2011.09.011 +- Fluorescence https://en.wikipedia.org/wiki/Fluorescence +- Rayleigh https://en.wikipedia.org/wiki/Rayleigh_scattering +- Compton https://en.wikipedia.org/wiki/Compton_scattering +- X-ray absorption edges http://skuld.bmsc.washington.edu/scatter/AS_periodic.html +- X-ray fluorescence spectra http://www.xrfresearch.com/xrf-spectra/ +- X-ray edges and fluo lines https://physics.nist.gov/PhysRefData/XrayTrans/Html/search.html + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/samples/Fluorescence.md b/mcxtrace-comps/samples/Fluorescence.md new file mode 100644 index 0000000000..687b937c97 --- /dev/null +++ b/mcxtrace-comps/samples/Fluorescence.md @@ -0,0 +1,139 @@ +# The `Fluorescence` Component + +*McXtrace: Sample model handling absorption, fluorescence, Compton and Rayleigh scattering.* + +## Identification + +- **Site:** +- **Author:** E. Farhi +- **Origin:** Synchrotron SOLEIL +- **Date:** March 2022 + +## Description + +```text +Sample that models many photon-matter interactions: +- absorption (photon excites an electron and creates a hole) +- fluorescence (excited electrons emit light while falling into lower states) +- Compton scattering (inelastic, transfer some energy to an electron, incoherent) +- Rayleigh scattering (elastic, dipolar radiation of excitated electrons, coherent) + +Use the FluoPowder sample component to properly handle powder diffraction with fluorescence. + +The 'material' specification is given as a chemical formulae, e.g. "LaB6". It +may also be given as a file name (CIF/LAU/LAZ/FullProf format) in which case +the formulae is guessed (but may be approximative). Atoms from Z=5 to Z=90 are +handled. + +By setting the 'order' to 1, the absorption along the scattered path is handled. +A higher 'order' will handle multiple scattering events, and final absorption. +For instance, a value order>=2 handles e.g. fluorescence iterative cascades +in the material. Leaving 'order=0' handles the single scattering only. + +Example: Fluorescence(material="LaB6", +xwidth=0.001,yheight=0.001,zdepth=0.0001, p_interact=0.99, +target_index=1, focus_xw=0.0005, focus_yh=0.0005) + +Sample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the photon ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF, PLY and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Concentric components: +This component has the ability to contain other components when used in +hollow cylinder geometry (namely sample environment, e.g. cryostat and +furnace structure). Such component 'shells' should be split into input and +output side surrounding the 'inside' components. First part must then use +'concentric=1' flag to enter the inside part. The component itself must be +repeated to mark the end of the concentric zone. The number of concentric +shells and number of components inside is not limited. + +COMPONENT F_in = Fluorescence(material="Al", concentric=1, ...) +AT (0,0,0) RELATIVE sample_position + +COMPONENT something_inside ... // e.g. the sample itself or other materials + +COMPONENT F_out = COPY(F_in)(concentric=0) +AT (0,0,0) RELATIVE sample_position + +Enhancing computation efficiency: +* An important option to enhance statistics is to set 'p_interact' to, say, +30 percent (0.3) in order to force a fraction of the beam to scatter. This +will result on a larger number of scattered events, retaining intensity. + +In addition, it may be desirable to define a 'target' for the fluorescence +processes via e.g. the 'target_index' and the 'focus_xw / focus_yh' options. +This target should e.g. be the SDD area. + +This sample component can advantageously benefit from the SPLIT feature, e.g. +SPLIT COMPONENT sample = Fluorescence(...) + +The computation is made via the XRayLib (apt install libxrl-dev) https://github.com/tschoonj/xraylib. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| geometry | str | Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust. | 0 | +| radius | m | Outer radius of sample in (x,z) plane. cylinder/sphere. | 0 | +| thickness | m | Thickness of hollow sample Negative value extends the hollow volume outside of the box/cylinder. | 0 | +| xwidth | m | Width for a box sample shape. | 0 | +| yheight | m | Height of sample in vertical direction for box/cylinder shapes. | 0 | +| zdepth | m | Depth for a box sample shape. | 0 | +| concentric | 1 | Indicate that this component has a hollow geometry and may contain other components. It should then be duplicated after the inside part (only for box, cylinder, sphere). | 0 | +| material | str | Chemical formulae, e.g. "LaB6", "Pb2SnO4". If may also be a CIF/LAZ/LAU file. | "LaB6" | +| packing_factor | 1 | How dense is the material compared to bulk 0-1. | 0 | +| rho | AA-3 | Density of scattering elements (nb atoms/unit cell V_0). | 0 | +| density | g/cm^3 | Density of material. V_rho=density/weight/1e24*N_A. | 0 | +| weight | g/mol | Atomic/molecular weight of material. | 0 | +| p_interact | 1 | Force a given fraction of the beam to scatter, keeping intensity right, to enhance small signals (-1 inactivate). | 0 | +| target_x | m | Position of target to focus at, along X. | 0 | +| target_y | m | Position of target to focus at, along Y. | 0 | +| target_z | m | Position of target to focus at, along Z. | 0 | +| focus_r | m | Radius of disk containing target. Use 0 for full space. | 0 | +| focus_xw | m | Horiz. dimension of a rectangular area. | 0 | +| focus_yh | m | Vert. dimension of a rectangular area. | 0 | +| focus_aw | deg | Horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | Vert. angular dimension of a rectangular area. | 0 | +| target_index | 1 | Relative index of component to focus at, e.g. next is +1. | 0 | +| flag_compton | 1 | When 0, the Compton scattering is ignored. | 1 | +| flag_rayleigh | 1 | When 0, the Rayleigh scattering is ignored. | 1 | +| flag_lorentzian | 1 | When 1, the line shapes are assumed to be Lorentzian, else Gaussian. | 0 | +| flag_kissel | 1 | When 1 (slower), handle M-lines XRF from Kissel for Z>=52 Te (else only K and L-lines). | 0 | +| flag_low_z | 1 | When 1, enhances low concentration atoms, else uses cross-sections weighting. | 0 | +| order | 1 | Limit multiple fluorescence up to given order. Last iteration is absorption only. | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/samples/Fluorescence.comp) for `Fluorescence.comp`. +- The XRayLib https://github.com/tschoonj/xraylib http://dx.doi.org/10.1016/j.sab.2011.09.011 +- Fluorescence https://en.wikipedia.org/wiki/Fluorescence +- Rayleigh https://en.wikipedia.org/wiki/Rayleigh_scattering +- Compton https://en.wikipedia.org/wiki/Compton_scattering +- X-ray absorption edges http://skuld.bmsc.washington.edu/scatter/AS_periodic.html +- X-ray fluorescence spectra http://www.xrfresearch.com/xrf-spectra/ +- X-ray edges and fluo lines https://physics.nist.gov/PhysRefData/XrayTrans/Html/search.html + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/samples/Isotropic_Sqw.md b/mcxtrace-comps/samples/Isotropic_Sqw.md new file mode 100644 index 0000000000..da3860ba97 --- /dev/null +++ b/mcxtrace-comps/samples/Isotropic_Sqw.md @@ -0,0 +1,207 @@ +# The `Isotropic_Sqw` Component + +*McXtrace: Isotropic sample handling multiple scattering and absorption for a general +S(q,w) (coherent)* + +## Identification + +- **Site:** +- **Author:** E. Farhi, V. Hugouvieux +- **Origin:** Synchrotron SOLEIL +- **Date:** March 2022 + +## Description + +```text +An isotropic sample handling multiple scattering and including as input the +dynamic structure factor of the chosen sample (e.g. from Molecular +Dynamics). Handles elastic/inelastic, coherent scattering - +depending on the input S(q,w) - with multiple scattering and absorption. +Only the norm of q is handled (not the vector), and thus suitable for +liquids, gazes, amorphous and powder samples. + +The implementation will automatically nornalise S(q,w) so that S(q) -> 1 at +large q (parameter norm=-1). Alternatively, the S(q,w) data will be multiplied +by 'norm' for positive values. Use norm=0 or 1 to use the raw data as input. + +The material temperature can be defined in the S(q,w) data files (see below) +or set manually as parameter T. Setting T=-1 disables detailed balance. +Setting T=-2 attempts to guess the temperature from the input S(q,w) data +which must then be non-classical and extend on both energy sides (+/-). +To use the S(q,w) data as is, without temperature effect, set T=-1 and norm=1. + +Both non symmetric (quantum) and classical S(q,w) data sets can be given by mean +of the 'classical' parameter (see below). + +Additionally, for single order scattering (order=1), you may restrict the +vertical spreading of the scattering area using d_phi parameter. + +An important option to enhance statistics is to set 'p_interact' to, say, +30 percent (0.3) in order to force a fraction of the beam to scatter. This +will result on a larger number of scattered events, retaining intensity. + +If you use this component and produce valuable scientific results, please +cite authors with references bellow (in Links). +E. Farhi et al, J Comp Phys 228 (2009) 5251 + +Sample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the photon ray with the object +transparently, so that it can be used like a regular sample object. +It supports the OFF, PLY and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Concentric components: +This component has the ability to contain other components when used in +hollow cylinder geometry (namely sample environment, e.g. cryostat and +furnace structure). Such component 'shells' should be split into input and +output side surrounding the 'inside' components. First part must then use +'concentric=1' flag to enter the inside part. The component itself must be +repeated to mark the end of the concentric zone. The number of concentric +shells and number of components inside is not limited. + +COMPONENT S_in = Isotropic_Sqw(Sqw_coh="Al.laz", concentric=1, ...) +AT (0,0,0) RELATIVE sample_position + +COMPONENT something_inside ... // e.g. the sample itself or other materials + +COMPONENT S_out = COPY(S_in)(concentric=0) +AT (0,0,0) RELATIVE sample_position + +Sqw file format: +File format for S(Q,w) (coherent) should contain 3 numerical +blocks, defining q axis values (vector), then energy axis values (vector), +then a matrix with one line per q axis value, containing Sqw values for +each energy axis value. Comments (starting with '#') and non numerical lines +are ignored and used to separate blocks. Sampling must be regular. +Some parameters can be specified in comment lines, namely (00 is a numerical value): + +# sigma_coh 00 coherent scattering cross section in [barn], e.g. 0.66524*f +# Temperature 00 in [K] +# V_rho 00 atom density per Angs^3 +# density 00 in [g/cm^3] +# weight 00 in [g/mol] +# classical 00 [0=contains Bose factor (measurement) ; 1=classical symmetric] + +Example: +# q axis values +# vector of m values in Angstroem-1 +0.001000 .... 3.591000 +# w axis values +# vector of n values in meV +0.001391 ... 1.681391 +# sqw values (one line per q axis value) +# matrix of S(q,w) values (m rows x n values), one line per q value, +9.721422 10.599145 ... 0.000000 +10.054191 11.025244 ... 0.000000 +... +0.000000 ... 3.860253 + +See for instance file He4_liq_coh.sqw. Such files may be obtained from e.g. INX, +Nathan, Lamp and IDA softwares, as well as Molecular Dynamics (nMoldyn). +When the provided S(q,w) data is obtained from the classical correlation function +G(r,t), which is real and symmetric in time, the 'classical=1' parameter +should be set in order to multiply the file data with exp(hw/2kT). Otherwise, +the S(q,w) is NOT symmetrised (classical). If the S(q,w) data set includes both +negative and positive energy values, setting 'classical=-1' will attempt to +guess what type of S(q,w) it is. The temperature can also be determined this way. +In case you do not know if the data is classical or quantum, assume it is usually classical +at high temperatures, and quantum otherwise (T < typical mode excitations). +The positive energy values correspond to Stokes processes, i.e. material gains +energy, and photons loose energy. The energy range is symmetrized to allow up +and down scattering, taking into account detailed balance exp(-hw/2kT). + +You may also generate such S(q,w) 2D files using iFit + +Powder file format: +Files for coherent elastic powder scattering may also be used. +Format specification follows the same principle as in the PowderN +component, with parameters: + +powder_format= +Crystallographica: { 4,5,7,0,0,0,0, 0,0 } +Fullprof: { 4,0,8,0,0,5,0, 0,0 } +Undefined: { 0,0,0,0,0,0,0, 0,0 } +Lazy: {17,6,0,0,0,0,0,13,0 } +qSq: {-1,0,0,0,0,0,1, 0,0 } // special case for [q,Sq] table +or: {j,d,F2,DW,Delta_d/d,1/2d,q,F,strain} + +or column indexes (starting from 1) given as comments in the file header +(e.g. '#column_j 4'). Refer to the PowderN component for more details. +Delta_d/d and Debye-Waller factor may be specified for all lines with the +'powder_Dd' and 'powder_DW' parameters. +The reflection list should be ordered by decreasing d-spacing values. + +Additionally a special [q,Sq] format is also defined with: +powder_format=qSq +for which column 1 is 'q' and column 2 is 'S(q)'. + +Examples: +Isotropic_Sqw(radius=0.0005, yheight=0.001, Sqw_coh="Rb_liq_coh.sqw",verbose=3, p_interact=0.95) + +2- powder sample +Isotropic_Sqw(..., Sqw_coh="Al.laz") + +%BUGS: +When used in concentric mode, multiple bouncing scattering +(traversing the hollow part) is not taken into account. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| powder_format | no quotes | name or definition of column indexes in file | {0,0,0,0,0,0,0,0,0} | +| Sqw_coh | str | Name of the file containing the values of Q, w and S(Q,w) Coherent part; Q in Angs-1, E in meV, S(q,w) in meV-1. Use 0, NULL or "" to disable. | 0 | +| geometry | str | Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust | 0 | +| material | str | Absorption file. | "NULL" | +| radius | m | Outer radius of sample in (x,z) plane. cylinder/sphere. | 0 | +| thickness | m | Thickness of hollow sample Negative value extends the hollow volume outside of the box/cylinder. | 0 | +| xwidth | m | width for a box sample shape | 0 | +| yheight | m | Height of sample in vertical direction for box/cylinder shapes | 0 | +| zdepth | m | depth for a box sample shape | 0 | +| threshold | 1 | Value under which S(Q,w) is not accounted for. to set according to the S(Q,w) values, i.e. not too low. | 1e-20 | +| order | 1 | Limit multiple scattering up to given order 0:all (default), 1:single, 2:double, ... | 0 | +| T | K | Temperature of sample, detailed balance. Use T=-1 to disable it, and T=-2 to guess it from non-classical S(q,w) input. | 0 | +| verbose | 1 | Verbosity level (0:silent, 1:normal, 2:verbose, 3:debug). A verbosity>1 also computes dispersions and S(q,w) analysis. | 1 | +| d_phi | deg | scattering vertical angular spreading (usually the height of the next component/detector). Use 0 for full space. This is only relevant for single scattering (order=1). | 0 | +| concentric | 1 | Indicate that this component has a hollow geometry and may contain other components. It should then be duplicated after the inside part (only for box, cylinder, sphere) [1] | 0 | +| rho | AA-3 | Density of scattering elements (nb atoms/unit cell V_0). | 0 | +| sigma_coh | barns | Thomson cross-section of the material. For an atom, this is f*0.665 barns, where f is the number of free electrons, f -> atomic number Z. | 0.66524 | +| classical | 1 | Assumes the S(q,w) data from the files is a classical S(q,w), and multiply that data by exp(hw/2kT) on up/down energy sides. Use 0 when obtained from raw experiments, 1 from molecular dynamics. Use -1 to guess from a data set including both energy sides. | -1 | +| powder_Dd | 1 | global Delta_d/d spreading, or 0 if ideal. | 0 | +| powder_DW | 1 | global Debey-Waller factor, if not in \|F2\| or 1. | 0 | +| powder_Vc | AA^3 | volume of the unit cell | 0 | +| density | g/cm^3 | density of material. V_rho=density/weight/1e24*N_A | 0 | +| weight | g/mol | atomic/molecular weight of material | 0 | +| p_interact | 1 | Force a given fraction of the beam to scatter, keeping intensity right, to enhance small signals (-1 inactivate). | -1 | +| norm | 1 | Normalize S(q,w) when -1 (default). Use raw data when 1, multiplier for S(q,w) when norm>0. | -1 | +| powder_barns | 1 | 0 when \|F2\| data in powder file are fm^2, 1 when in barns (barns=1 for laz, barns=0 for lau type files). | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/samples/Isotropic_Sqw.comp) for `Isotropic_Sqw.comp`. +- Atomic form factors f http://lampx.tugraz.at/~hadley/ss1/crystaldiffraction/atomicformfactors/formfactors.php +- E. Farhi, V. Hugouvieux, M.R. Johnson, and W. Kob, Journal of Computational Physics 228 (2009) 5251-5261 "Virtual experiments: Combining realistic neutron scattering instrument and sample simulations" +- H. Schober, Collection SFN 10 (2010) 159-336 + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/samples/Molecule_2state.md b/mcxtrace-comps/samples/Molecule_2state.md new file mode 100644 index 0000000000..2e24a5ede4 --- /dev/null +++ b/mcxtrace-comps/samples/Molecule_2state.md @@ -0,0 +1,65 @@ +# The `Molecule_2state` Component + +*McXtrace: Disordered optical-excitable molecule sample.* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** DTU Physics +- **Date:** October 2012 + +## Description + +```text +A sample model for pump probe experiments which models disordered molecules in a volume (rectangular, +cylindrical, or spherical). Molecules can be in one of two states (0 and 1). +Scattering is either specified through F vs. q scattering curves or as a set of atom positions from which +F vs. q is computed. +At t=-delta_t, a fraction of the molecules are put in state 1, from which they decay exponentially, +with time constant t_relax, into state 0. For t<-delta_t +all of the molecules are in the state specified by initial_state. +To improve statistics, scattering may be limited to a "forward" cone with opening angle in [psimin, psimax]. +Furthermore, scattering may be restricted to the azimuthal segment between [etamin,etamax]. + +Example: Molecule_2state( +nq=512,state_0_file="Fe_bpy_GS_DFT.txt",state_1_file="Fe_bpy_ES_DFT.txt",radius=0.01, +psimin=0, psimax=15*DEG2RAD, etamin=-1*DEG2RAD,etamax=1*DEG2RAD, +t_relax=600e-12, delta_t=100e-9, excitation_yield=0.2) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| delta_t | s | Delay between the exciting event t=0. delay is negative, i.e. delta_t>0 means the exciting event happens before t=0. | 100e-9 | +| excitation_yield | 1 | Mean fraction of molecules that get excited. | 0.2 | +| t_relax | s | Mean relaxation time (into state 0) of excited molecules. | 100e-9 | +| initial_state | 0/1 | Which state is Molecule_2state in for tSample shape: +Sample shape may be a cylinder, a sphere, a box or any other shape. +box/plate: xwidth x yheight x zdepth (thickness=0) +hollow box/plate:xwidth x yheight x zdepth and thickness>0 +cylinder: radius x yheight (thickness=0) +hollow cylinder: radius x yheight and thickness>0 +sphere: radius (yheight=0 thickness=0) +hollow sphere: radius and thickness>0 (yheight=0) +any shape: geometry=OFF_file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the xray with the object +transparently, so that it can be used like a regular sample object. +It supports the PLY, OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends of the OFF file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +If you use this component and produce valuable scientific results, please +cite authors with references bellow (in Links). + +Example: PowderN(reflections = "c60.lau", d_phi = 15 , radius = 0.01, +yheight = 0.05, Vc = 1076.89, delta_d_d=0, DW=1) + +Powder definition file format +Powder structure is specified with an ascii data file 'reflections'. +The powder data are free-text column based files. +The reflection list should be ordered by decreasing d-spacing values. +... d ... F2 +Lines begining by '#' are read as comments (ignored) but they may contain +the following keywords (in the header): +#Vc +#Debye_Waller +#delta_d_d/d +These values are not read if entered as component parameters (Vc=...) + +The signification of the columns in the numerical block may be +set using the 'format' parameter, by defining signification of the +columns as a vector of indexes in the order +format={j,d,F2,DW,delta_d_d/d,1/2d,q,F} +Signification of the symbols is given below. Indices start at 1. +Indices with zero means that the column are not present, so that: +Crystallographica={ 4,5,7,0,0,0,0,0 } +Fullprof ={ 4,0,8,0,0,5,0,0 } +Lazy ={17,6,0,0,0,0,0,13} + +At last, the format may be overridden by direct definition of the +column indexes in the file itself by using the following keywords +in the header (e.g. '#column_j 4'): +#column_j +#column_d +#column_F2 +#column_F +#column_DW +#column_Dd +#column_inv2d +#column_q + +Last, CIF, FullProf and ShelX files can be read, and converted to F2(hkl) lists +if 'cif2hkl' is installed. The CIF2HKL env variable can be used to point to a +proper executable, else the McCode, then the system installed versions are used. + +Concentricity + +PowderN assumes 'concentric' shape, i.e. can contain other components inside its +optional inner hollow. Example, Sample in Al cryostat: + + +COMPONENT Cryo = PowderN(reflections="Al.laz", radius = 0.01, thickness = 0.001, +concentric = 1, p_interact=0.1) +AT (0,0,0) RELATIVE Somewhere + +COMPONENT Sample = some_other_component(with geometry FULLY enclosed in the hollow) +AT (0,0,0) RELATIVE Somewhere + +COMPONENT Cryo2 = COPY(Cryo)(concentric = 0) +AT (0,0,0) RELATIVE Somewhere + + +(The second instance of the cryostat component can also be written out completely +using PowderN(...). In both cases, this second instance needs concentric = 0.) +The concentric arrangment can not be used with OFF geometry specification. + +This sample component can advantageously benefit from the SPLIT feature, e.g. +SPLIT COMPONENT pow = PowderN(...) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflections | str | Input file for reflections (LAZ LAU CIF, FullProf, ShelX). Use only incoherent scattering if NULL or "". | "NULL" | +| material | Be.txt | File where the material parameters for the absorption may be found. Format is similar to what may be found off the NIST website. | "NULL" | +| geometry | str | Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust. | "NULL" | +| format | {} | Name of the format, or list of column indexes (see Description). N.b. no quotes! | {0,0,0,0,0,0,0,0} | +| mat_format | {} | Format of the asorption parameter file. | {0,0,0,0,0} | +| radius | m | Outer radius of sample in (x,z) plane. | 0 | +| yheight | m | Height of sample y direction. | 0 | +| xwidth | m | Horiz. dimension of sample, as a width. | 0 | +| zdepth | m | Depth of box sample. | 0 | +| thickness | m | Thickness of hollow sample. Negative value extends the hollow volume outside of the box/cylinder. | 0 | +| pack | 1 | Packing factor | 1 | +| Vc | AA^3 | Volume of unit cell=nb atoms per cell/density of atoms. | 0 | +| delta_d_d | 1 | Global relative Delta_d/d spreading when the 'w' column is not available. Use 0 if ideal. | 0 | +| p_inc | 1 | Fraction of incoherently scattered rays. | 0.1 | +| p_transmit | 1 | Fraction of transmitted (only attenuated) rays. | 0.1 | +| DW | 1 | Global Debye-Waller factor when the 'DW' column is not available. Use 1 if included in F2. | 0 | +| nb_atoms | 1 | Number of sub-unit per unit cell, that is ratio of sigma for chemical formula to sigma per unit cell. | 1 | +| d_omega | deg | Horizontal focus range (only for incoherent scattering), 0 for no focusing. | 0 | +| d_phi | deg | Angle corresponding to the vertical angular range to focus to, e.g. detector height. 0 for no focusing. | 0 | +| tth_sign | 1 | Sign of the scattering angle. If 0, the sign is chosen randomly (left and right). ONLY functional in combination with d_phi and ONLY applies to bragg lines. | 0 | +| p_interact | 1 | Fraction of events interacting with sample, e.g. 1-p_transmit-p_inc. | 0 | +| concentric | 1 | Indicate that this component has a hollow geometry and may contain other components. It should then be duplicated after the inside part (only for box, cylinder, sphere). | 0 | +| density | g/cm^3 | Density of material. rho=density/weight/1e24*N_A. | 0 | +| weight | g/mol | Atomic/molecular weight of material. | 0 | +| barns | 1 | Flag to indicate if \|F\|^2 from 'reflections' is in barns or fm^2, (barns=1 for laz/cif, barns=0 for lau type files). | 1 | +| focus_flip | 1 | Controls the sense of d_phi. If 0 d_phi is measured against the xz-plane. If !=0 d_phi is measured against zy-plane. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/samples/PowderN.comp) for `PowderN.comp`. +- See also: Single_crystal +- See ICSD Inorganic Crystal Structure Database +- Web Elements +- Fullprof powder refinement +- Crystallographica software (free license) +- Geomview and Object File Format (OFF) +- Java version of Geomview (display only) jroff.jar +- qhull +- powercrust +- cif2hkl https://gitlab.com/soleil-data-treatment/soleil-software-projects/cif2hkl +- material datafile obtained from http://physics.nist.gov/cgi-bin/ffast/ffast.pl + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/samples/Saxs_spheres.md b/mcxtrace-comps/samples/Saxs_spheres.md new file mode 100644 index 0000000000..402c4d7265 --- /dev/null +++ b/mcxtrace-comps/samples/Saxs_spheres.md @@ -0,0 +1,56 @@ +# The `Saxs_spheres` Component + +*McXtrace: Release: McXtrace 1.1 + +Sample for Small Angle X-ray Scattering - hard spheres in thin solution, mono disperse.* + +## Identification + +- **Site:** +- **Author:** E. B. Knudsen, P. Willendrup, K. Lefmann, L. Arleth +- **Origin:** DTU Fysik +- **Date:** 28.10.2010 + +## Description + +```text +Sample for use in a SAXS instrument, models hard, monodisperse spheres in thin solution. +The shape of the sample may be a filled box with dimensions +xwidth, yheight, zdepth, a cylinder with dimensions radius and yheight, +a filled sphere with radius R. + +Example: Saxs_spheres(R = 20, Phi = 1e-3, Delta_rho = 0.6, sigma_abs = 50, xwidth=0.01, yheight=0.01, zdepth=0.005) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sphere_mtrl | str | Material datafile from which to find absorption. If none is given absorption is neglected. | "" | +| R | AA | Radius of scattering hard spheres | 100 | +| Phi | 1 | Particle volume fraction | 1e-3 | +| Delta_rho | fm/AA^3 | Excess scattering length density | 0.6 | +| xwidth | m | Horiz. dimension of sample, as a width | 0 | +| yheight | m | Vert . dimension of sample, as a height for cylinder/box | 0 | +| zdepth | m | Depth of sample | 0 | +| radius | m | Outer radius of sample in (x,z) plane for cylinder/sphere | 0 | +| target_x | m | Position of target to focus at, along X | 0 | +| target_y | m | Position of target to focus at, along Y | 0 | +| target_z | m | Position of target to focus at, along Z | 6 | +| target_index | 1 | Relative index of component to focus at, e.g. next is +1 | 0 | +| focus_xw | m | Horiz. dimension of a rectangular area | 0 | +| focus_yh | m | Vert. dimension of a rectangular area | 0 | +| focus_aw | deg | Horiz. angular dimension of a rectangular area | 0 | +| focus_ah | deg | Vert. angular dimension of a rectangular area | 0 | +| focus_r | m | Detector (disk-shaped) radius | 0 | +| mu_c | 5 | Column of the datafile which contains absorption coefficients. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/samples/Saxs_spheres.comp) for `Saxs_spheres.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/samples/Single_crystal.md b/mcxtrace-comps/samples/Single_crystal.md new file mode 100644 index 0000000000..78c18c1e94 --- /dev/null +++ b/mcxtrace-comps/samples/Single_crystal.md @@ -0,0 +1,216 @@ +# The `Single_crystal` Component + +*McXtrace: Mosaic single crystal with multiple scattering vectors, optimised for speed +with large crystals and many reflections.* + +## Identification + +- **Site:** +- **Author:** Kristian Nielsen +- **Origin:** Risoe +- **Date:** December 1999 + +## Description + +```text +Single crystal with mosaic. Delta-D/D option for finite-size effects. +Rectangular geometry. Multiple scattering and secondary extinction included. +The mosaic may EITHER be specified isotropic by setting the mosaic input +parameter, OR anisotropic by setting the mosaic_a, mosaic_b, and mosaic_c +parameters. +If you get strange results, check the mosaicity and delta(d)/d parameters, as this +component is not suited for ideal/perfect mosaic crystals. +The crystal lattice can be bent locally, keeping the external geometry unchanged. +Curvature is spherical along vertical and horizontal axes. + +Speed/stat optimisation using SPLIT +In order to dramatically improve the simulation efficiency, we recommend to +use a SPLIT keyword on this component (or prior to it), as well as to disable +the multiple scattering handling by setting order=1. This is especially powerful +for large reflection lists such as with macromolecular proteins. When an incoming +particle is identical to the preceeding, reciprocal space initialisation is +skipped, and a Monte Carlo choice is done on available reflections from the last +repciprocal space calculation! To assist the user in choosing a "relevant" value +of the SPLIT, a rolling average of the number of available reflections is +calculated and presented in the component output. + +Mosacitiy modes +The component features three independent ways of parametrising mosaicity: +a) The original algorithm where mosaicity is implemented by extending each +reflection by a Gaussian "cigar" in reciprocal space, characterised by +the parameters mosaic and delta_d_d. +(Also known as "isotropic mosaicity"). +b) A similar mode where mosaicities can be non-isotropic and given as the +parameters mosaic_a, mosaic_b and mosaic_c, around the unit cell axes. +(Also known as "anisotropic mosaicity"). +c) Given two "macroscopically"/experimentally measured width/mosaicities +of two independent reflections, parametrised by the list +mosaic_AB = {mos_a, mos_b, a_h, a_k, a_l, b_h, b_k, b_l}, a set of +microscopic mosaicities as in b) are estimated (internally) and applied. +(Also known as "phenomenological mosaicity"). + +Powder-mode +When the powder mode is used (powder=0-1), a randomised transformation +of the particle direction is made before and after scattering, thereby letting +the single crystal behave as a crystallite of either a powder (crystallite +orientation fully randomised). + +Curved crystal mode +The component features a method to curve the lattice planes slightly with respect +to the outer geometry of the crystal. The method is implemented as a transformation +on the particle direction vector, and should be used only in cases where: +a) The reflection lattice vector is ~ orthogonal to the crystal surface. +b) The modelled curvarture is "small" with respect to the crystal surface. + +Sample shape +Sample shape may be a cylinder, a sphere, a box or any other shape: +box/plate: xwidth x yheight x zdepth +cylinder: radius x yheight +sphere: radius (yheight=0) +any shape: geometry=OFF/PLY file + +The complex geometry option handles any closed non-convex polyhedra. +It computes the intersection points of the photon ray with the object +transparently, so that it can be used like a regular sample object. +It supports the PLY, OFF and NOFF file format but not COFF (colored faces). +Such files may be generated from XYZ data using: +qhull < coordinates.xyz Qx Qv Tv o > geomview.off +or +powercrust coordinates.xyz +and viewed with geomview or java -jar jroff.jar (see below). +The default size of the object depends on the OFF/PLY file data, but its +bounding box may be resized using xwidth,yheight and zdepth. + +Crystal definition file format +Crystal structure is specified with an ascii data file. Each line contains +4 or more numbers, separated by white spaces: + +h k l ... F2 + +The first three numbers are the (h,k,l) indices of the reciprocal lattice +point, and the 7-th number is the value of the structure factor |F|**2, in +barns. The rest of the numbers are not used; the file is in the format +output by the Crystallographica program. +The reflection list should be ordered by decreasing d-spacing values. +Lines begining by '#' are read as comments (ignored). Most sample parameters +may be defined from the data file header, following the same mechanism as +PowderN. + +Current data file header keywords include, for data format specification: +#column_h +#column_k +#column_l +#column_F2 +#column_F +and for material specification: +#sigma_inc +#Delta_d/d +#lattice_a +#lattice_b +#lattice_c +#lattice_aa +#lattice_bb +#lattice_cc + +Last, CIF, FullProf and ShelX files can be read, and converted to F2(hkl) lists +when 'cif2hkl' is installed. The CIF2HKL env variable can be used to point to a +proper executable, else the McCode or the system installed versions are used. + +Satellite Bragg peaks - surface crystal truncation rods (CTR) +It is known that scattering from a finite crystal introduces a broadening of +Bragg peaks, seen in surface diffraction at grazing angle [Robinson and Tweet, +Rep. Prog. Phys. 55 (1992) 599)]. The CTR is specified as two vectors, which +hold the squared Fourier transform of the crystal geometry, for instance: +bulk: Dirac peak (FT of infinity) +half-bulk: Dirac+1/k^2 (FT of half plane, k in rlu) +layer: sinc(PI*k*d)^2 (FT of a top-hat, thickness 'd') +These vectors are given as 'surf_k' [in 1/Angs] and 'surf_FT2', both of length +'surf_size'. The CTR is to be applied along vector 'surf_dir' which indicates +the surface normal {nx,ny,nz} in real space. When surf_size=-1, the component +sets the proper truncation function (only for thin box and disk shapes). +This feature is an approximation of the real surface scattering, and does not +handle complex geometries (clusters, wetting, multi-layers, ...). It may be +used as well to describe over-structure satellite peaks. + +Example: Single_crystal(xwidth=0.01, yheight=0.01, zdepth=0.01, mosaic = 5, +reflections="Si.lau") + +A diamond crystal plate, cut for (002) reflections +Single_crystal(xwidth = 0.002, yheight = 0.1, zdepth = 0.1, +mosaic = 5, delta_d_d=3e-4, reflections = "C-diamond.lau", +ax=0, ay=2.14, az=-1.24, +bx = 0, by = 0, bz = 2.47, +cx = 6.71, cy = 0, cz = 0) + +A adrenaline protein +Single_crystal(xwidth=0.005, yheight=0.005, zdepth=0.005, +mosaic = 5, reflections="adrenaline.lau") + +Also, always use a non-zero value of delta_d_d. + +This sample component can advantageously benefit from the SPLIT feature, e.g. +SPLIT COMPONENT sx = Single_crystal(...) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| reflections | string | File name containing structure factors of reflections (LAZ LAU CIF, FullProf, ShelX). Use empty ("") or NULL for incoherent scattering only | 0 | +| geometry | str | Name of an Object File Format (OFF) or PLY file for complex geometry. The OFF/PLY file may be generated from XYZ coordinates using qhull/powercrust | 0 | +| mosaic_AB | arc_minutes, arc_minutes,1, 1, 1, 1, 1, 1 | In-plane mosaic rotation and plane vectors (anisotropic), mosaic_A, mosaic_B, A_h,A_k,A_l, B_h,B_k,B_l. Puts the crystal in the in-plane mosaic state. Vectors A and B define plane in which the crystal roation is defined, and mosaic_A, mosaic_B, denotes the resp. mosaicities (gaussian RMS) with respect to the two reflections chosen by A and B (Miller indices). | {0,0, 0,0,0, 0,0,0} | +| xwidth | m | Width of crystal | 0 | +| yheight | m | Height of crystal | 0 | +| zdepth | m | Depth of crystal (no extinction simulated) | 0 | +| radius | m | Outer radius of sample in (x,z) plane | 0 | +| delta_d_d | 1 | Lattice spacing variance, gaussian RMS (longitudinal mosaic) e.g. 1e-4 to 1e-3. | 1e-3 | +| mosaic | arc minutes | Crystal mosaic (isotropic), gaussian RMS. Puts the crystal in the isotropic mosaic model state, thus disregarding other mosaicity parameters, e.g. 1-10. | -1 | +| mosaic_a | arc minutes | Horizontal (rotation around lattice vector a) mosaic (anisotropic), gaussian RMS. Put the crystal in the anisotropic crystal vector state. i.e. model mosaicity through rotation around the crystal lattice vectors. Has precedence over in-plane mosaic model. | -1 | +| mosaic_b | arc minutes | Vertical (rotation around lattice vector b) mosaic (anisotropic), gaussian RMS. | -1 | +| mosaic_c | arc minutes | Out-of-plane (Rotation around lattice vector c) mosaic (anisotropic), gaussian RMS | -1 | +| recip_cell | 1 | Choice of direct/reciprocal (0/1) unit cell definition | 0 | +| barns | 1 | Flag to indicate if \|F\|^2 from 'reflections' is in barns or fm^2. barns=1 for laz/cif and isotropic constant elastic scattering (reflections=NULL), barns=0 for lau type files | 0 | +| ax | AA or AA^-1 | Coordinates of first (direct/recip) unit cell vector | 0 | +| ay | AA or AA^-1 | a on y axis | 0 | +| az | AA or AA^-1 | a on z axis | 0 | +| bx | AA or AA^-1 | Coordinates of second (direct/recip) unit cell vector | 0 | +| by | AA or AA^-1 | b on y axis | 0 | +| bz | AA or AA^-1 | b on z axis | 0 | +| cx | AA or AA^-1 | Coordinates of third (direct/recip) unit cell vector | 0 | +| cy | AA or AA^-1 | c on y axis | 0 | +| cz | AA or AA^-1 | c on z axis | 0 | +| p_transmit | 1 | Monte Carlo probability for photons to be transmitted without any scattering. Used to improve statistics from weak reflections | 0.001 | +| sigma_inc | barns | Incoherent scattering cross-section per unit cell (uniform). Fully isotropic and constant. Use -1 to inactivate | 0 | +| aa | deg | Unit cell angles alpha, beta and gamma. Then uses norms of vectors a,b and c as lattice parameters | 0 | +| bb | deg | Beta angle | 0 | +| cc | deg | Gamma angle | 0 | +| order | 1 | Limit multiple scattering up to given order (0: all, 1: first, 2: second, ...) | 1 | +| extra_order | 1 | When using order, allow additional multiple scattering without coherent scattering, sensible with very large unit cells (0: disable, 1: one extra, 2: two extra, ...) | 0 | +| RX | m | Radius of horizontal along X lattice curvature. flat for 0 | 0 | +| RY | m | Radius of vertical along Y lattice curvature. flat for 0 | 0 | +| powder | 1 | Flag to indicate powder mode, for simulation of Debye-Scherrer cones via random crystallite orientation. A powder texture can be approximated with powder within 0-1 | 0 | +| deltak | AA-1 | Equality-threshold for use in SPLIT settings. If difference between all ki_{x,y,z} are less than deltak from previous particle, the two are considered alike enough to jump directly to the MC choice between 'active' reflections | 1e-6 | +| material_datafile | Be.txt | File where the material parameters for the absorption may be found. Format is similar to what may be found off the NIST website. | "Si.txt" | +| surf_size | 1 | Length of the surf_k and surf_FT vectors. When set as -1, CTR is automatically set for the box/thin disk geometry. | 0 | +| surf_k | 1/Angs | Momentum 'k' distribution around 0 for the CTR, length 'surf_size'. | NULL | +| surf_FT2 | 1 | Intensity \|FT(real space)\|^2 distribution as CTR of a single Bragg peak, length 'surf_size'. | NULL | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/samples/Single_crystal.comp) for `Single_crystal.comp`. +- See ICSD Inorganic Crystal Structure Database +- Web Elements +- Fullprof powder refinement +- Crystallographica software +- Geomview and Object File Format (OFF) +- Java version of Geomview (display only) jroff.jar +- qhull +- powercrust +- material datafile obtained from http://physics.nist.gov/cgi-bin/ffast/ffast.pl +- cif2hkl https://gitlab.com/soleil-data-treatment/soleil-software-projects/cif2hkl + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_adsorbed_layer.md b/mcxtrace-comps/sasmodels/SasView_adsorbed_layer.md new file mode 100644 index 0000000000..8a092c7df2 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_adsorbed_layer.md @@ -0,0 +1,61 @@ +# The `SasView_adsorbed_layer` Component + +*McXtrace: SasView adsorbed_layer model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_adsorbed_layer component, generated from adsorbed_layer.c in sasmodels. + +Example: +SasView_adsorbed_layer(second_moment, adsorbed_amount, density_shell, radius, volfraction, sld_shell, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| second_moment | Ang | ([0.0, inf]) Second moment of polymer distribution. | 23.0 | +| adsorbed_amount | mg/m^2 | ([0.0, inf]) Adsorbed amount of polymer. | 1.9 | +| density_shell | g/cm^3 | ([0.0, inf]) Bulk density of polymer in the shell. | 0.7 | +| radius | Ang | ([0.0, inf]) Core particle radius. | 500.0 | +| volfraction | None | ([0.0, inf]) Core particle volume fraction. | 0.14 | +| sld_shell | 1e-6/Ang^2 | ([-inf, inf]) Polymer shell SLD. | 1.5 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent SLD. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_adsorbed_layer.comp) for `SasView_adsorbed_layer.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_barbell.md b/mcxtrace-comps/sasmodels/SasView_barbell.md new file mode 100644 index 0000000000..3a23254aaf --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_barbell.md @@ -0,0 +1,61 @@ +# The `SasView_barbell` Component + +*McXtrace: SasView barbell model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_barbell component, generated from barbell.c in sasmodels. + +Example: +SasView_barbell(sld, sld_solvent, radius_bell, radius, length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_bell=0.0, pd_radius=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Barbell scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius_bell | Ang | ([0, inf]) Spherical bell radius. | 40 | +| radius | Ang | ([0, inf]) Cylindrical bar radius. | 20 | +| length | Ang | ([0, inf]) Cylinder bar length. | 400 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_bell | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_barbell.comp) for `SasView_barbell.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_barbell_aniso.md b/mcxtrace-comps/sasmodels/SasView_barbell_aniso.md new file mode 100644 index 0000000000..8275746c89 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_barbell_aniso.md @@ -0,0 +1,65 @@ +# The `SasView_barbell_aniso` Component + +*McXtrace: SasView barbell model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_barbell component, generated from barbell.c in sasmodels. + +Example: +SasView_barbell_aniso(sld, sld_solvent, radius_bell, radius, length, theta, Phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_bell=0.0, pd_radius=0.0, pd_length=0.0, pd_theta=0.0, pd_Phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Barbell scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius_bell | Ang | ([0, inf]) Spherical bell radius. | 40 | +| radius | Ang | ([0, inf]) Cylindrical bar radius. | 20 | +| length | Ang | ([0, inf]) Cylinder bar length. | 400 | +| theta | | | 60 | +| Phi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_bell | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_barbell_aniso.comp) for `SasView_barbell_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_bcc_paracrystal.md b/mcxtrace-comps/sasmodels/SasView_bcc_paracrystal.md new file mode 100644 index 0000000000..f0c9ad24b7 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_bcc_paracrystal.md @@ -0,0 +1,59 @@ +# The `SasView_bcc_paracrystal` Component + +*McXtrace: SasView bcc_paracrystal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_bcc_paracrystal component, generated from bcc_paracrystal.c in sasmodels. + +Example: +SasView_bcc_paracrystal(dnn, d_factor, radius, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dnn | Ang | ([-inf, inf]) Nearest neighbour distance. | 220 | +| d_factor | | ([-inf, inf]) Paracrystal distortion factor. | 0.06 | +| radius | Ang | ([0, inf]) Particle radius. | 40 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Particle scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_bcc_paracrystal.comp) for `SasView_bcc_paracrystal.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_bcc_paracrystal_aniso.md b/mcxtrace-comps/sasmodels/SasView_bcc_paracrystal_aniso.md new file mode 100644 index 0000000000..9ad173f0c3 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_bcc_paracrystal_aniso.md @@ -0,0 +1,65 @@ +# The `SasView_bcc_paracrystal_aniso` Component + +*McXtrace: SasView bcc_paracrystal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_bcc_paracrystal component, generated from bcc_paracrystal.c in sasmodels. + +Example: +SasView_bcc_paracrystal_aniso(dnn, d_factor, radius, sld, sld_solvent, theta, Phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_theta=0.0, pd_Phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dnn | Ang | ([-inf, inf]) Nearest neighbour distance. | 220 | +| d_factor | | ([-inf, inf]) Paracrystal distortion factor. | 0.06 | +| radius | Ang | ([0, inf]) Particle radius. | 40 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Particle scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| theta | | | 60 | +| Phi | | | 60 | +| Psi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_bcc_paracrystal_aniso.comp) for `SasView_bcc_paracrystal_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_binary_hard_sphere.md b/mcxtrace-comps/sasmodels/SasView_binary_hard_sphere.md new file mode 100644 index 0000000000..7bcd0af5f1 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_binary_hard_sphere.md @@ -0,0 +1,62 @@ +# The `SasView_binary_hard_sphere` Component + +*McXtrace: SasView binary_hard_sphere model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_binary_hard_sphere component, generated from binary_hard_sphere.c in sasmodels. + +Example: +SasView_binary_hard_sphere(radius_lg, radius_sm, volfraction_lg, volfraction_sm, sld_lg, sld_sm, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_lg=0.0, pd_radius_sm=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_lg | Ang | ([0, inf]) radius of large particle. | 100 | +| radius_sm | Ang | ([0, inf]) radius of small particle. | 25 | +| volfraction_lg | | ([0, 1]) volume fraction of large particle. | 0.1 | +| volfraction_sm | | ([0, 1]) volume fraction of small particle. | 0.2 | +| sld_lg | 1e-6/Ang^2 | ([-inf, inf]) scattering length density of large particle. | 3.5 | +| sld_sm | 1e-6/Ang^2 | ([-inf, inf]) scattering length density of small particle. | 0.5 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6.36 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_lg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_sm | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_binary_hard_sphere.comp) for `SasView_binary_hard_sphere.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_broad_peak.md b/mcxtrace-comps/sasmodels/SasView_broad_peak.md new file mode 100644 index 0000000000..e79373cafc --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_broad_peak.md @@ -0,0 +1,61 @@ +# The `SasView_broad_peak` Component + +*McXtrace: SasView broad_peak model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_broad_peak component, generated from broad_peak.c in sasmodels. + +Example: +SasView_broad_peak(porod_scale, porod_exp, peak_scale, correlation_length, peak_pos, width_exp, shape_exp, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_correlation_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| porod_scale | | ([-inf, inf]) Power law scale factor. | 1e-05 | +| porod_exp | | ([-inf, inf]) Exponent of power law. | 3.0 | +| peak_scale | | ([-inf, inf]) Scale factor for broad peak. | 10.0 | +| correlation_length | Ang | ([-inf, inf]) screening length. | 50.0 | +| peak_pos | 1/Ang | ([-inf, inf]) Peak position in q. | 0.1 | +| width_exp | | ([-inf, inf]) Exponent of peak width. | 2.0 | +| shape_exp | | ([-inf, inf]) Exponent of peak shape. | 1.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_correlation_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_broad_peak.comp) for `SasView_broad_peak.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_capped_cylinder.md b/mcxtrace-comps/sasmodels/SasView_capped_cylinder.md new file mode 100644 index 0000000000..085a01ea4b --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_capped_cylinder.md @@ -0,0 +1,61 @@ +# The `SasView_capped_cylinder` Component + +*McXtrace: SasView capped_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_capped_cylinder component, generated from capped_cylinder.c in sasmodels. + +Example: +SasView_capped_cylinder(sld, sld_solvent, radius, radius_cap, length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_radius_cap=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius | Ang | ([0, inf]) Cylinder radius. | 20 | +| radius_cap | Ang | ([0, inf]) Cap radius. | 20 | +| length | Ang | ([0, inf]) Cylinder length. | 400 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_cap | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_capped_cylinder.comp) for `SasView_capped_cylinder.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_capped_cylinder_aniso.md b/mcxtrace-comps/sasmodels/SasView_capped_cylinder_aniso.md new file mode 100644 index 0000000000..1c1bd2d55f --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_capped_cylinder_aniso.md @@ -0,0 +1,65 @@ +# The `SasView_capped_cylinder_aniso` Component + +*McXtrace: SasView capped_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_capped_cylinder component, generated from capped_cylinder.c in sasmodels. + +Example: +SasView_capped_cylinder_aniso(sld, sld_solvent, radius, radius_cap, length, theta, Phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_radius_cap=0.0, pd_length=0.0, pd_theta=0.0, pd_Phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius | Ang | ([0, inf]) Cylinder radius. | 20 | +| radius_cap | Ang | ([0, inf]) Cap radius. | 20 | +| length | Ang | ([0, inf]) Cylinder length. | 400 | +| theta | | | 60 | +| Phi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_cap | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_capped_cylinder_aniso.comp) for `SasView_capped_cylinder_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_core_multi_shell.md b/mcxtrace-comps/sasmodels/SasView_core_multi_shell.md new file mode 100644 index 0000000000..3ceeb2c8f6 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_core_multi_shell.md @@ -0,0 +1,38 @@ +# The `SasView_core_multi_shell` Component + +*McXtrace: SasView core_multi_shell model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_multi_shell component, generated from core_multi_shell.c in sasmodels. + +Example: +SasView_core_multi_shell(sld_core, radius, sld_solvent, n, sld[n], thickness[n], +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness[n]=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_core_multi_shell.comp) for `SasView_core_multi_shell.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle.md b/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle.md new file mode 100644 index 0000000000..c55afd39ae --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle.md @@ -0,0 +1,65 @@ +# The `SasView_core_shell_bicelle` Component + +*McXtrace: SasView core_shell_bicelle model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_bicelle component, generated from core_shell_bicelle.c in sasmodels. + +Example: +SasView_core_shell_bicelle(radius, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius. | 80 | +| thick_rim | Ang | ([0, inf]) Rim shell thickness. | 10 | +| thick_face | Ang | ([0, inf]) Cylinder face thickness. | 10 | +| length | Ang | ([0, inf]) Cylinder length. | 50 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 1 | +| sld_face | 1e-6/Ang^2 | ([-inf, inf]) Cylinder face scattering length density. | 4 | +| sld_rim | 1e-6/Ang^2 | ([-inf, inf]) Cylinder rim scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_face | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle.comp) for `SasView_core_shell_bicelle.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_aniso.md b/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_aniso.md new file mode 100644 index 0000000000..893ddfd143 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_aniso.md @@ -0,0 +1,69 @@ +# The `SasView_core_shell_bicelle_aniso` Component + +*McXtrace: SasView core_shell_bicelle model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_bicelle component, generated from core_shell_bicelle.c in sasmodels. + +Example: +SasView_core_shell_bicelle_aniso(radius, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, theta, Phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0, pd_theta=0.0, pd_Phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius. | 80 | +| thick_rim | Ang | ([0, inf]) Rim shell thickness. | 10 | +| thick_face | Ang | ([0, inf]) Cylinder face thickness. | 10 | +| length | Ang | ([0, inf]) Cylinder length. | 50 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 1 | +| sld_face | 1e-6/Ang^2 | ([-inf, inf]) Cylinder face scattering length density. | 4 | +| sld_rim | 1e-6/Ang^2 | ([-inf, inf]) Cylinder rim scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| theta | | | 90 | +| Phi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_face | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_aniso.comp) for `SasView_core_shell_bicelle_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical.md b/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical.md new file mode 100644 index 0000000000..ef4b8307b2 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical.md @@ -0,0 +1,66 @@ +# The `SasView_core_shell_bicelle_elliptical` Component + +*McXtrace: SasView core_shell_bicelle_elliptical model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_bicelle_elliptical component, generated from core_shell_bicelle_elliptical.c in sasmodels. + +Example: +SasView_core_shell_bicelle_elliptical(radius, x_core, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius r_minor. | 30 | +| x_core | None | ([0, inf]) Axial ratio of core, X = r_major/r_minor. | 3 | +| thick_rim | Ang | ([0, inf]) Rim shell thickness. | 8 | +| thick_face | Ang | ([0, inf]) Cylinder face thickness. | 14 | +| length | Ang | ([0, inf]) Cylinder length. | 50 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 4 | +| sld_face | 1e-6/Ang^2 | ([-inf, inf]) Cylinder face scattering length density. | 7 | +| sld_rim | 1e-6/Ang^2 | ([-inf, inf]) Cylinder rim scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_face | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical.comp) for `SasView_core_shell_bicelle_elliptical.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical_aniso.md b/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical_aniso.md new file mode 100644 index 0000000000..7d4869d281 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical_aniso.md @@ -0,0 +1,72 @@ +# The `SasView_core_shell_bicelle_elliptical_aniso` Component + +*McXtrace: SasView core_shell_bicelle_elliptical model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_bicelle_elliptical component, generated from core_shell_bicelle_elliptical.c in sasmodels. + +Example: +SasView_core_shell_bicelle_elliptical_aniso(radius, x_core, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, theta, Phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0, pd_theta=0.0, pd_Phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius r_minor. | 30 | +| x_core | None | ([0, inf]) Axial ratio of core, X = r_major/r_minor. | 3 | +| thick_rim | Ang | ([0, inf]) Rim shell thickness. | 8 | +| thick_face | Ang | ([0, inf]) Cylinder face thickness. | 14 | +| length | Ang | ([0, inf]) Cylinder length. | 50 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 4 | +| sld_face | 1e-6/Ang^2 | ([-inf, inf]) Cylinder face scattering length density. | 7 | +| sld_rim | 1e-6/Ang^2 | ([-inf, inf]) Cylinder rim scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| theta | | | 90.0 | +| Phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_face | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical_aniso.comp) for `SasView_core_shell_bicelle_elliptical_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough.md b/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough.md new file mode 100644 index 0000000000..ebc8f1d6cb --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough.md @@ -0,0 +1,67 @@ +# The `SasView_core_shell_bicelle_elliptical_belt_rough` Component + +*McXtrace: SasView core_shell_bicelle_elliptical_belt_rough model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_bicelle_elliptical_belt_rough component, generated from core_shell_bicelle_elliptical_belt_rough.c in sasmodels. + +Example: +SasView_core_shell_bicelle_elliptical_belt_rough(radius, x_core, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, sigma, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius r_minor. | 30 | +| x_core | None | ([0, inf]) Axial ratio of core, X = r_major/r_minor. | 3 | +| thick_rim | Ang | ([0, inf]) Rim or belt shell thickness. | 8 | +| thick_face | Ang | ([0, inf]) Cylinder face thickness. | 14 | +| length | Ang | ([0, inf]) Cylinder length. | 50 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 4 | +| sld_face | 1e-6/Ang^2 | ([-inf, inf]) Cylinder face scattering length density. | 7 | +| sld_rim | 1e-6/Ang^2 | ([-inf, inf]) Cylinder rim scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| sigma | Ang | ([0, inf]) Interfacial roughness. | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_face | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough.comp) for `SasView_core_shell_bicelle_elliptical_belt_rough.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough_aniso.md b/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough_aniso.md new file mode 100644 index 0000000000..c1f8909779 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough_aniso.md @@ -0,0 +1,73 @@ +# The `SasView_core_shell_bicelle_elliptical_belt_rough_aniso` Component + +*McXtrace: SasView core_shell_bicelle_elliptical_belt_rough model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_bicelle_elliptical_belt_rough component, generated from core_shell_bicelle_elliptical_belt_rough.c in sasmodels. + +Example: +SasView_core_shell_bicelle_elliptical_belt_rough_aniso(radius, x_core, thick_rim, thick_face, length, sld_core, sld_face, sld_rim, sld_solvent, sigma, theta, Phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_rim=0.0, pd_thick_face=0.0, pd_length=0.0, pd_theta=0.0, pd_Phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius r_minor. | 30 | +| x_core | None | ([0, inf]) Axial ratio of core, X = r_major/r_minor. | 3 | +| thick_rim | Ang | ([0, inf]) Rim or belt shell thickness. | 8 | +| thick_face | Ang | ([0, inf]) Cylinder face thickness. | 14 | +| length | Ang | ([0, inf]) Cylinder length. | 50 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 4 | +| sld_face | 1e-6/Ang^2 | ([-inf, inf]) Cylinder face scattering length density. | 7 | +| sld_rim | 1e-6/Ang^2 | ([-inf, inf]) Cylinder rim scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| sigma | Ang | ([0, inf]) Interfacial roughness. | 0 | +| theta | | | 90.0 | +| Phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_face | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_core_shell_bicelle_elliptical_belt_rough_aniso.comp) for `SasView_core_shell_bicelle_elliptical_belt_rough_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_core_shell_cylinder.md b/mcxtrace-comps/sasmodels/SasView_core_shell_cylinder.md new file mode 100644 index 0000000000..a08d901122 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_core_shell_cylinder.md @@ -0,0 +1,62 @@ +# The `SasView_core_shell_cylinder` Component + +*McXtrace: SasView core_shell_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_cylinder component, generated from core_shell_cylinder.c in sasmodels. + +Example: +SasView_core_shell_cylinder(sld_core, sld_shell, sld_solvent, radius, thickness, length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 4 | +| sld_shell | 1e-6/Ang^2 | ([-inf, inf]) Cylinder shell scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius | Ang | ([0, inf]) Cylinder core radius. | 20 | +| thickness | Ang | ([0, inf]) Cylinder shell thickness. | 20 | +| length | Ang | ([0, inf]) Cylinder length. | 400 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_core_shell_cylinder.comp) for `SasView_core_shell_cylinder.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_core_shell_cylinder_aniso.md b/mcxtrace-comps/sasmodels/SasView_core_shell_cylinder_aniso.md new file mode 100644 index 0000000000..a506fd56c7 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_core_shell_cylinder_aniso.md @@ -0,0 +1,66 @@ +# The `SasView_core_shell_cylinder_aniso` Component + +*McXtrace: SasView core_shell_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_cylinder component, generated from core_shell_cylinder.c in sasmodels. + +Example: +SasView_core_shell_cylinder_aniso(sld_core, sld_shell, sld_solvent, radius, thickness, length, theta, Phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_length=0.0, pd_theta=0.0, pd_Phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Cylinder core scattering length density. | 4 | +| sld_shell | 1e-6/Ang^2 | ([-inf, inf]) Cylinder shell scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius | Ang | ([0, inf]) Cylinder core radius. | 20 | +| thickness | Ang | ([0, inf]) Cylinder shell thickness. | 20 | +| length | Ang | ([0, inf]) Cylinder length. | 400 | +| theta | | | 60 | +| Phi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_core_shell_cylinder_aniso.comp) for `SasView_core_shell_cylinder_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_core_shell_ellipsoid.md b/mcxtrace-comps/sasmodels/SasView_core_shell_ellipsoid.md new file mode 100644 index 0000000000..70a35ac9c4 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_core_shell_ellipsoid.md @@ -0,0 +1,62 @@ +# The `SasView_core_shell_ellipsoid` Component + +*McXtrace: SasView core_shell_ellipsoid model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_ellipsoid component, generated from core_shell_ellipsoid.c in sasmodels. + +Example: +SasView_core_shell_ellipsoid(radius_equat_core, x_core, thick_shell, x_polar_shell, sld_core, sld_shell, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_equat_core=0.0, pd_thick_shell=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_equat_core | Ang | ([0, inf]) Equatorial radius of core. | 20 | +| x_core | None | ([0, inf]) axial ratio of core, X = r_polar/r_equatorial. | 3 | +| thick_shell | Ang | ([0, inf]) thickness of shell at equator. | 30 | +| x_polar_shell | | ([0, inf]) ratio of thickness of shell at pole to that at equator. | 1 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Core scattering length density. | 2 | +| sld_shell | 1e-6/Ang^2 | ([-inf, inf]) Shell scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_equat_core | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_shell | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_core_shell_ellipsoid.comp) for `SasView_core_shell_ellipsoid.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_core_shell_ellipsoid_aniso.md b/mcxtrace-comps/sasmodels/SasView_core_shell_ellipsoid_aniso.md new file mode 100644 index 0000000000..5c8d489a7e --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_core_shell_ellipsoid_aniso.md @@ -0,0 +1,66 @@ +# The `SasView_core_shell_ellipsoid_aniso` Component + +*McXtrace: SasView core_shell_ellipsoid model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_ellipsoid component, generated from core_shell_ellipsoid.c in sasmodels. + +Example: +SasView_core_shell_ellipsoid_aniso(radius_equat_core, x_core, thick_shell, x_polar_shell, sld_core, sld_shell, sld_solvent, theta, Phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_equat_core=0.0, pd_thick_shell=0.0, pd_theta=0.0, pd_Phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_equat_core | Ang | ([0, inf]) Equatorial radius of core. | 20 | +| x_core | None | ([0, inf]) axial ratio of core, X = r_polar/r_equatorial. | 3 | +| thick_shell | Ang | ([0, inf]) thickness of shell at equator. | 30 | +| x_polar_shell | | ([0, inf]) ratio of thickness of shell at pole to that at equator. | 1 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Core scattering length density. | 2 | +| sld_shell | 1e-6/Ang^2 | ([-inf, inf]) Shell scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6.3 | +| theta | | | 0 | +| Phi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_equat_core | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_shell | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_core_shell_ellipsoid_aniso.comp) for `SasView_core_shell_ellipsoid_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_core_shell_parallelepiped.md b/mcxtrace-comps/sasmodels/SasView_core_shell_parallelepiped.md new file mode 100644 index 0000000000..e30bee63d0 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_core_shell_parallelepiped.md @@ -0,0 +1,70 @@ +# The `SasView_core_shell_parallelepiped` Component + +*McXtrace: SasView core_shell_parallelepiped model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_parallelepiped component, generated from core_shell_parallelepiped.c in sasmodels. + +Example: +SasView_core_shell_parallelepiped(sld_core, sld_a, sld_b, sld_c, sld_solvent, length_a, length_b, length_c, thick_rim_a, thick_rim_b, thick_rim_c, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_length_b=0.0, pd_length_c=0.0, pd_thick_rim_a=0.0, pd_thick_rim_b=0.0, pd_thick_rim_c=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped core scattering length density. | 1 | +| sld_a | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped A rim scattering length density. | 2 | +| sld_b | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped B rim scattering length density. | 4 | +| sld_c | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped C rim scattering length density. | 2 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| length_a | Ang | ([0, inf]) Shorter side of the parallelepiped. | 35 | +| length_b | Ang | ([0, inf]) Second side of the parallelepiped. | 75 | +| length_c | Ang | ([0, inf]) Larger side of the parallelepiped. | 400 | +| thick_rim_a | Ang | ([0, inf]) Thickness of A rim. | 10 | +| thick_rim_b | Ang | ([0, inf]) Thickness of B rim. | 10 | +| thick_rim_c | Ang | ([0, inf]) Thickness of C rim. | 10 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_b | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_c | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim_b | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim_c | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_core_shell_parallelepiped.comp) for `SasView_core_shell_parallelepiped.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_core_shell_parallelepiped_aniso.md b/mcxtrace-comps/sasmodels/SasView_core_shell_parallelepiped_aniso.md new file mode 100644 index 0000000000..d455d51e42 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_core_shell_parallelepiped_aniso.md @@ -0,0 +1,76 @@ +# The `SasView_core_shell_parallelepiped_aniso` Component + +*McXtrace: SasView core_shell_parallelepiped model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_parallelepiped component, generated from core_shell_parallelepiped.c in sasmodels. + +Example: +SasView_core_shell_parallelepiped_aniso(sld_core, sld_a, sld_b, sld_c, sld_solvent, length_a, length_b, length_c, thick_rim_a, thick_rim_b, thick_rim_c, theta, Phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_length_b=0.0, pd_length_c=0.0, pd_thick_rim_a=0.0, pd_thick_rim_b=0.0, pd_thick_rim_c=0.0, pd_theta=0.0, pd_Phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped core scattering length density. | 1 | +| sld_a | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped A rim scattering length density. | 2 | +| sld_b | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped B rim scattering length density. | 4 | +| sld_c | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped C rim scattering length density. | 2 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| length_a | Ang | ([0, inf]) Shorter side of the parallelepiped. | 35 | +| length_b | Ang | ([0, inf]) Second side of the parallelepiped. | 75 | +| length_c | Ang | ([0, inf]) Larger side of the parallelepiped. | 400 | +| thick_rim_a | Ang | ([0, inf]) Thickness of A rim. | 10 | +| thick_rim_b | Ang | ([0, inf]) Thickness of B rim. | 10 | +| thick_rim_c | Ang | ([0, inf]) Thickness of C rim. | 10 | +| theta | | | 0 | +| Phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_b | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_c | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim_b | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_rim_c | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_core_shell_parallelepiped_aniso.comp) for `SasView_core_shell_parallelepiped_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_core_shell_sphere.md b/mcxtrace-comps/sasmodels/SasView_core_shell_sphere.md new file mode 100644 index 0000000000..18b39be996 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_core_shell_sphere.md @@ -0,0 +1,60 @@ +# The `SasView_core_shell_sphere` Component + +*McXtrace: SasView core_shell_sphere model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_core_shell_sphere component, generated from core_shell_sphere.c in sasmodels. + +Example: +SasView_core_shell_sphere(radius, thickness, sld_core, sld_shell, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Sphere core radius. | 60.0 | +| thickness | Ang | ([0, inf]) Sphere shell thickness. | 10.0 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) core scattering length density. | 1.0 | +| sld_shell | 1e-6/Ang^2 | ([-inf, inf]) shell scattering length density. | 2.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 3.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_core_shell_sphere.comp) for `SasView_core_shell_sphere.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_correlation_length.md b/mcxtrace-comps/sasmodels/SasView_correlation_length.md new file mode 100644 index 0000000000..8ea312ce3f --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_correlation_length.md @@ -0,0 +1,59 @@ +# The `SasView_correlation_length` Component + +*McXtrace: SasView correlation_length model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_correlation_length component, generated from correlation_length.c in sasmodels. + +Example: +SasView_correlation_length(lorentz_scale, porod_scale, cor_length, porod_exp, lorentz_exp, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_cor_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lorentz_scale | | ([0, inf]) Lorentzian Scaling Factor. | 10.0 | +| porod_scale | | ([0, inf]) Porod Scaling Factor. | 1e-06 | +| cor_length | Ang | ([0, inf]) Correlation length, xi, in Lorentzian. | 50.0 | +| porod_exp | | ([0, inf]) Porod Exponent, n, in q^-n. | 3.0 | +| lorentz_exp | | ([0, inf]) Lorentzian Exponent, m, in 1/( 1 + (q.xi)^m). | 2.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_cor_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_correlation_length.comp) for `SasView_correlation_length.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_cylinder.md b/mcxtrace-comps/sasmodels/SasView_cylinder.md new file mode 100644 index 0000000000..1c3a796966 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_cylinder.md @@ -0,0 +1,59 @@ +# The `SasView_cylinder` Component + +*McXtrace: SasView cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_cylinder component, generated from cylinder.c in sasmodels. + +Example: +SasView_cylinder(sld, sld_solvent, radius, length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius | Ang | ([0, inf]) Cylinder radius. | 20 | +| length | Ang | ([0, inf]) Cylinder length. | 400 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_cylinder.comp) for `SasView_cylinder.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_cylinder_aniso.md b/mcxtrace-comps/sasmodels/SasView_cylinder_aniso.md new file mode 100644 index 0000000000..1ff29c7ccc --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_cylinder_aniso.md @@ -0,0 +1,63 @@ +# The `SasView_cylinder_aniso` Component + +*McXtrace: SasView cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_cylinder component, generated from cylinder.c in sasmodels. + +Example: +SasView_cylinder_aniso(sld, sld_solvent, radius, length, theta, Phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_length=0.0, pd_theta=0.0, pd_Phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius | Ang | ([0, inf]) Cylinder radius. | 20 | +| length | Ang | ([0, inf]) Cylinder length. | 400 | +| theta | | | 60 | +| Phi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_cylinder_aniso.comp) for `SasView_cylinder_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_dab.md b/mcxtrace-comps/sasmodels/SasView_dab.md new file mode 100644 index 0000000000..a6a9414291 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_dab.md @@ -0,0 +1,55 @@ +# The `SasView_dab` Component + +*McXtrace: SasView dab model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_dab component, generated from dab.c in sasmodels. + +Example: +SasView_dab(cor_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_cor_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| cor_length | Ang | ([0, inf]) correlation length. | 50.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_cor_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_dab.comp) for `SasView_dab.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_ellipsoid.md b/mcxtrace-comps/sasmodels/SasView_ellipsoid.md new file mode 100644 index 0000000000..9879919973 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_ellipsoid.md @@ -0,0 +1,59 @@ +# The `SasView_ellipsoid` Component + +*McXtrace: SasView ellipsoid model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_ellipsoid component, generated from ellipsoid.c in sasmodels. + +Example: +SasView_ellipsoid(sld, sld_solvent, radius_polar, radius_equatorial, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_polar=0.0, pd_radius_equatorial=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Ellipsoid scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius_polar | Ang | ([0, inf]) Polar radius. | 20 | +| radius_equatorial | Ang | ([0, inf]) Equatorial radius. | 400 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_polar | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_equatorial | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_ellipsoid.comp) for `SasView_ellipsoid.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_ellipsoid_aniso.md b/mcxtrace-comps/sasmodels/SasView_ellipsoid_aniso.md new file mode 100644 index 0000000000..f7510f770c --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_ellipsoid_aniso.md @@ -0,0 +1,63 @@ +# The `SasView_ellipsoid_aniso` Component + +*McXtrace: SasView ellipsoid model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_ellipsoid component, generated from ellipsoid.c in sasmodels. + +Example: +SasView_ellipsoid_aniso(sld, sld_solvent, radius_polar, radius_equatorial, theta, Phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_polar=0.0, pd_radius_equatorial=0.0, pd_theta=0.0, pd_Phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Ellipsoid scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius_polar | Ang | ([0, inf]) Polar radius. | 20 | +| radius_equatorial | Ang | ([0, inf]) Equatorial radius. | 400 | +| theta | | | 60 | +| Phi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_polar | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_equatorial | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_ellipsoid_aniso.comp) for `SasView_ellipsoid_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_elliptical_cylinder.md b/mcxtrace-comps/sasmodels/SasView_elliptical_cylinder.md new file mode 100644 index 0000000000..fd77c5953f --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_elliptical_cylinder.md @@ -0,0 +1,60 @@ +# The `SasView_elliptical_cylinder` Component + +*McXtrace: SasView elliptical_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_elliptical_cylinder component, generated from elliptical_cylinder.c in sasmodels. + +Example: +SasView_elliptical_cylinder(radius_minor, r_ratio, length, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_minor=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_minor | Ang | ([0, inf]) Ellipse minor radius. | 20.0 | +| r_ratio | | ([1, inf]) Ratio of major radius over minor radius. | 1.5 | +| length | Ang | ([1, inf]) Length of the cylinder. | 400.0 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 4.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_minor | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_elliptical_cylinder.comp) for `SasView_elliptical_cylinder.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_elliptical_cylinder_aniso.md b/mcxtrace-comps/sasmodels/SasView_elliptical_cylinder_aniso.md new file mode 100644 index 0000000000..ae19c1f88e --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_elliptical_cylinder_aniso.md @@ -0,0 +1,66 @@ +# The `SasView_elliptical_cylinder_aniso` Component + +*McXtrace: SasView elliptical_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_elliptical_cylinder component, generated from elliptical_cylinder.c in sasmodels. + +Example: +SasView_elliptical_cylinder_aniso(radius_minor, r_ratio, length, sld, sld_solvent, theta, Phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_minor=0.0, pd_length=0.0, pd_theta=0.0, pd_Phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_minor | Ang | ([0, inf]) Ellipse minor radius. | 20.0 | +| r_ratio | | ([1, inf]) Ratio of major radius over minor radius. | 1.5 | +| length | Ang | ([1, inf]) Length of the cylinder. | 400.0 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 4.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1.0 | +| theta | | | 90.0 | +| Phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_minor | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_elliptical_cylinder_aniso.comp) for `SasView_elliptical_cylinder_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_fcc_paracrystal.md b/mcxtrace-comps/sasmodels/SasView_fcc_paracrystal.md new file mode 100644 index 0000000000..8f25d58262 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_fcc_paracrystal.md @@ -0,0 +1,59 @@ +# The `SasView_fcc_paracrystal` Component + +*McXtrace: SasView fcc_paracrystal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_fcc_paracrystal component, generated from fcc_paracrystal.c in sasmodels. + +Example: +SasView_fcc_paracrystal(dnn, d_factor, radius, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dnn | Ang | ([-inf, inf]) Nearest neighbour distance. | 220 | +| d_factor | | ([-inf, inf]) Paracrystal distortion factor. | 0.06 | +| radius | Ang | ([0, inf]) Particle radius. | 40 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Particle scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_fcc_paracrystal.comp) for `SasView_fcc_paracrystal.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_fcc_paracrystal_aniso.md b/mcxtrace-comps/sasmodels/SasView_fcc_paracrystal_aniso.md new file mode 100644 index 0000000000..a27a821db8 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_fcc_paracrystal_aniso.md @@ -0,0 +1,65 @@ +# The `SasView_fcc_paracrystal_aniso` Component + +*McXtrace: SasView fcc_paracrystal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_fcc_paracrystal component, generated from fcc_paracrystal.c in sasmodels. + +Example: +SasView_fcc_paracrystal_aniso(dnn, d_factor, radius, sld, sld_solvent, theta, Phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_theta=0.0, pd_Phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dnn | Ang | ([-inf, inf]) Nearest neighbour distance. | 220 | +| d_factor | | ([-inf, inf]) Paracrystal distortion factor. | 0.06 | +| radius | Ang | ([0, inf]) Particle radius. | 40 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Particle scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| theta | | | 60 | +| Phi | | | 60 | +| Psi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_fcc_paracrystal_aniso.comp) for `SasView_fcc_paracrystal_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_flexible_cylinder.md b/mcxtrace-comps/sasmodels/SasView_flexible_cylinder.md new file mode 100644 index 0000000000..2f3278ff0b --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_flexible_cylinder.md @@ -0,0 +1,61 @@ +# The `SasView_flexible_cylinder` Component + +*McXtrace: SasView flexible_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_flexible_cylinder component, generated from flexible_cylinder.c in sasmodels. + +Example: +SasView_flexible_cylinder(length, kuhn_length, radius, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length=0.0, pd_kuhn_length=0.0, pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| length | Ang | ([0, inf]) Length of the flexible cylinder. | 1000.0 | +| kuhn_length | Ang | ([0, inf]) Kuhn length of the flexible cylinder. | 100.0 | +| radius | Ang | ([0, inf]) Radius of the flexible cylinder. | 20.0 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 1.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_kuhn_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_flexible_cylinder.comp) for `SasView_flexible_cylinder.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_flexible_cylinder_elliptical.md b/mcxtrace-comps/sasmodels/SasView_flexible_cylinder_elliptical.md new file mode 100644 index 0000000000..0f4d418fb3 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_flexible_cylinder_elliptical.md @@ -0,0 +1,62 @@ +# The `SasView_flexible_cylinder_elliptical` Component + +*McXtrace: SasView flexible_cylinder_elliptical model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_flexible_cylinder_elliptical component, generated from flexible_cylinder_elliptical.c in sasmodels. + +Example: +SasView_flexible_cylinder_elliptical(length, kuhn_length, radius, axis_ratio, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length=0.0, pd_kuhn_length=0.0, pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| length | Ang | ([0, inf]) Length of the flexible cylinder. | 1000.0 | +| kuhn_length | Ang | ([0, inf]) Kuhn length of the flexible cylinder. | 100.0 | +| radius | Ang | ([1, inf]) Radius of the flexible cylinder. | 20.0 | +| axis_ratio | | ([0, inf]) Axis_ratio (major_radius/minor_radius. | 1.5 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder scattering length density. | 1.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_kuhn_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_flexible_cylinder_elliptical.comp) for `SasView_flexible_cylinder_elliptical.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_fractal.md b/mcxtrace-comps/sasmodels/SasView_fractal.md new file mode 100644 index 0000000000..df09e6ed76 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_fractal.md @@ -0,0 +1,61 @@ +# The `SasView_fractal` Component + +*McXtrace: SasView fractal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_fractal component, generated from fractal.c in sasmodels. + +Example: +SasView_fractal(volfraction, radius, fractal_dim, cor_length, sld_block, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_cor_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| volfraction | | ([0.0, 1]) volume fraction of blocks. | 0.05 | +| radius | Ang | ([0.0, inf]) radius of particles. | 5.0 | +| fractal_dim | | ([0.0, 6.0]) fractal dimension. | 2.0 | +| cor_length | Ang | ([0.0, inf]) cluster correlation length. | 100.0 | +| sld_block | 1e-6/Ang^2 | ([-inf, inf]) scattering length density of particles. | 2.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) scattering length density of solvent. | 6.4 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_cor_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_fractal.comp) for `SasView_fractal.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_fractal_core_shell.md b/mcxtrace-comps/sasmodels/SasView_fractal_core_shell.md new file mode 100644 index 0000000000..c6878f56ff --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_fractal_core_shell.md @@ -0,0 +1,64 @@ +# The `SasView_fractal_core_shell` Component + +*McXtrace: SasView fractal_core_shell model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_fractal_core_shell component, generated from fractal_core_shell.c in sasmodels. + +Example: +SasView_fractal_core_shell(radius, thickness, sld_core, sld_shell, sld_solvent, volfraction, fractal_dim, cor_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_cor_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0.0, inf]) Sphere core radius. | 60.0 | +| thickness | Ang | ([0.0, inf]) Sphere shell thickness. | 10.0 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Sphere core scattering length density. | 1.0 | +| sld_shell | 1e-6/Ang^2 | ([-inf, inf]) Sphere shell scattering length density. | 2.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 3.0 | +| volfraction | | ([0.0, inf]) Volume fraction of building block spheres. | 0.05 | +| fractal_dim | | ([0.0, 6.0]) Fractal dimension. | 2.0 | +| cor_length | Ang | ([0.0, inf]) Correlation length of fractal-like aggregates. | 100.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_cor_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_fractal_core_shell.comp) for `SasView_fractal_core_shell.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_fuzzy_sphere.md b/mcxtrace-comps/sasmodels/SasView_fuzzy_sphere.md new file mode 100644 index 0000000000..c2f1ae5f1c --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_fuzzy_sphere.md @@ -0,0 +1,58 @@ +# The `SasView_fuzzy_sphere` Component + +*McXtrace: SasView fuzzy_sphere model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_fuzzy_sphere component, generated from fuzzy_sphere.c in sasmodels. + +Example: +SasView_fuzzy_sphere(sld, sld_solvent, radius, fuzziness, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Particle scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 3 | +| radius | Ang | ([0, inf]) Sphere radius. | 60 | +| fuzziness | Ang | ([0, inf]) std deviation of Gaussian convolution for interface (must be << radius). | 10 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_fuzzy_sphere.comp) for `SasView_fuzzy_sphere.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_gauss_lorentz_gel.md b/mcxtrace-comps/sasmodels/SasView_gauss_lorentz_gel.md new file mode 100644 index 0000000000..3e2daace57 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_gauss_lorentz_gel.md @@ -0,0 +1,59 @@ +# The `SasView_gauss_lorentz_gel` Component + +*McXtrace: SasView gauss_lorentz_gel model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_gauss_lorentz_gel component, generated from gauss_lorentz_gel.c in sasmodels. + +Example: +SasView_gauss_lorentz_gel(gauss_scale, cor_length_static, lorentz_scale, cor_length_dynamic, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_cor_length_static=0.0, pd_cor_length_dynamic=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| gauss_scale | | ([-inf, inf]) Gauss scale factor. | 100.0 | +| cor_length_static | Ang | ([0, inf]) Static correlation length. | 100.0 | +| lorentz_scale | | ([-inf, inf]) Lorentzian scale factor. | 50.0 | +| cor_length_dynamic | Ang | ([0, inf]) Dynamic correlation length. | 20.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_cor_length_static | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_cor_length_dynamic | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_gauss_lorentz_gel.comp) for `SasView_gauss_lorentz_gel.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_gaussian_peak.md b/mcxtrace-comps/sasmodels/SasView_gaussian_peak.md new file mode 100644 index 0000000000..96ae27e0b8 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_gaussian_peak.md @@ -0,0 +1,55 @@ +# The `SasView_gaussian_peak` Component + +*McXtrace: SasView gaussian_peak model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_gaussian_peak component, generated from gaussian_peak.c in sasmodels. + +Example: +SasView_gaussian_peak(peak_pos, sigma, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| peak_pos | 1/Ang | ([-inf, inf]) Peak position. | 0.05 | +| sigma | 1/Ang | ([0, inf]) Peak width (standard deviation). | 0.005 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_gaussian_peak.comp) for `SasView_gaussian_peak.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_gel_fit.md b/mcxtrace-comps/sasmodels/SasView_gel_fit.md new file mode 100644 index 0000000000..02a7ec52ef --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_gel_fit.md @@ -0,0 +1,60 @@ +# The `SasView_gel_fit` Component + +*McXtrace: SasView gel_fit model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_gel_fit component, generated from gel_fit.c in sasmodels. + +Example: +SasView_gel_fit(guinier_scale, lorentz_scale, rg, fractal_dim, cor_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0, pd_cor_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| guinier_scale | cm^-1 | ([-inf, inf]) Guinier term scale. | 1.7 | +| lorentz_scale | cm^-1 | ([-inf, inf]) Lorentz term scale. | 3.5 | +| rg | Ang | ([2, inf]) Radius of gyration. | 104.0 | +| fractal_dim | | ([0, inf]) Fractal exponent. | 2.0 | +| cor_length | Ang | ([0, inf]) Correlation length. | 16.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_cor_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_gel_fit.comp) for `SasView_gel_fit.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_guinier.md b/mcxtrace-comps/sasmodels/SasView_guinier.md new file mode 100644 index 0000000000..ae777438b7 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_guinier.md @@ -0,0 +1,55 @@ +# The `SasView_guinier` Component + +*McXtrace: SasView guinier model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_guinier component, generated from guinier.c in sasmodels. + +Example: +SasView_guinier(rg, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rg | Ang | ([-inf, inf]) Radius of Gyration. | 60.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_guinier.comp) for `SasView_guinier.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_guinier_porod.md b/mcxtrace-comps/sasmodels/SasView_guinier_porod.md new file mode 100644 index 0000000000..21ff9eaca3 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_guinier_porod.md @@ -0,0 +1,57 @@ +# The `SasView_guinier_porod` Component + +*McXtrace: SasView guinier_porod model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_guinier_porod component, generated from guinier_porod.c in sasmodels. + +Example: +SasView_guinier_porod(rg, s, porod_exp, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rg | Ang | ([0, inf]) Radius of gyration. | 60.0 | +| s | | ([0, inf]) Dimension variable. | 1.0 | +| porod_exp | | ([0, inf]) Porod exponent. | 3.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_guinier_porod.comp) for `SasView_guinier_porod.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_hardsphere.md b/mcxtrace-comps/sasmodels/SasView_hardsphere.md new file mode 100644 index 0000000000..6797ceefd3 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_hardsphere.md @@ -0,0 +1,56 @@ +# The `SasView_hardsphere` Component + +*McXtrace: SasView hardsphere model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_hardsphere component, generated from hardsphere.c in sasmodels. + +Example: +SasView_hardsphere(radius_effective, volfraction, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_effective=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_effective | Ang | ([0, inf]) effective radius of hard sphere. | 50.0 | +| volfraction | | ([0, 0.74]) volume fraction of hard spheres. | 0.2 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_effective | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_hardsphere.comp) for `SasView_hardsphere.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_hayter_msa.md b/mcxtrace-comps/sasmodels/SasView_hayter_msa.md new file mode 100644 index 0000000000..84005bfa15 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_hayter_msa.md @@ -0,0 +1,61 @@ +# The `SasView_hayter_msa` Component + +*McXtrace: SasView hayter_msa model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_hayter_msa component, generated from hayter_msa.c in sasmodels. + +Example: +SasView_hayter_msa(radius_effective, volfraction, charge, temperature, concentration_salt, dielectconst, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_effective=0.0, pd_charge=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_effective | Ang | ([0, inf]) effective radius of charged sphere. | 20.75 | +| volfraction | None | ([0, 0.74]) volume fraction of spheres. | 0.0192 | +| charge | e | ([1e-06, 200]) charge on sphere (in electrons). | 19.0 | +| temperature | K | ([0, 450]) temperature, in Kelvin, for Debye length calculation. | 318.16 | +| concentration_salt | M | ([0, inf]) conc of salt, moles/litre, 1:1 electolyte, for Debye length. | 0.0 | +| dielectconst | None | ([-inf, inf]) dielectric constant (relative permittivity) of solvent, kappa, default water, for Debye length. | 71.08 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_effective | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_charge | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_hayter_msa.comp) for `SasView_hayter_msa.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_hollow_cylinder.md b/mcxtrace-comps/sasmodels/SasView_hollow_cylinder.md new file mode 100644 index 0000000000..9fb903d10a --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_hollow_cylinder.md @@ -0,0 +1,61 @@ +# The `SasView_hollow_cylinder` Component + +*McXtrace: SasView hollow_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_hollow_cylinder component, generated from hollow_cylinder.c in sasmodels. + +Example: +SasView_hollow_cylinder(radius, thickness, length, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius. | 20.0 | +| thickness | Ang | ([0, inf]) Cylinder wall thickness. | 10.0 | +| length | Ang | ([0, inf]) Cylinder total length. | 400.0 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder sld. | 6.3 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent sld. | 1 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_hollow_cylinder.comp) for `SasView_hollow_cylinder.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_hollow_cylinder_aniso.md b/mcxtrace-comps/sasmodels/SasView_hollow_cylinder_aniso.md new file mode 100644 index 0000000000..4e14c60749 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_hollow_cylinder_aniso.md @@ -0,0 +1,65 @@ +# The `SasView_hollow_cylinder_aniso` Component + +*McXtrace: SasView hollow_cylinder model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_hollow_cylinder component, generated from hollow_cylinder.c in sasmodels. + +Example: +SasView_hollow_cylinder_aniso(radius, thickness, length, sld, sld_solvent, theta, Phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0, pd_length=0.0, pd_theta=0.0, pd_Phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Cylinder core radius. | 20.0 | +| thickness | Ang | ([0, inf]) Cylinder wall thickness. | 10.0 | +| length | Ang | ([0, inf]) Cylinder total length. | 400.0 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Cylinder sld. | 6.3 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent sld. | 1 | +| theta | | | 90 | +| Phi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_hollow_cylinder_aniso.comp) for `SasView_hollow_cylinder_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_hollow_rectangular_prism.md b/mcxtrace-comps/sasmodels/SasView_hollow_rectangular_prism.md new file mode 100644 index 0000000000..d83c18de30 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_hollow_rectangular_prism.md @@ -0,0 +1,61 @@ +# The `SasView_hollow_rectangular_prism` Component + +*McXtrace: SasView hollow_rectangular_prism model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_hollow_rectangular_prism component, generated from hollow_rectangular_prism.c in sasmodels. + +Example: +SasView_hollow_rectangular_prism(sld, sld_solvent, length_a, b2a_ratio, c2a_ratio, thickness, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_thickness=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped scattering length density. | 6.3 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Shortest, external, size of the parallelepiped. | 35 | +| b2a_ratio | Ang | ([0, inf]) Ratio sides b/a. | 1 | +| c2a_ratio | Ang | ([0, inf]) Ratio sides c/a. | 1 | +| thickness | Ang | ([0, inf]) Thickness of parallelepiped. | 1 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_hollow_rectangular_prism.comp) for `SasView_hollow_rectangular_prism.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_hollow_rectangular_prism_aniso.md b/mcxtrace-comps/sasmodels/SasView_hollow_rectangular_prism_aniso.md new file mode 100644 index 0000000000..1faf5c6b8a --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_hollow_rectangular_prism_aniso.md @@ -0,0 +1,67 @@ +# The `SasView_hollow_rectangular_prism_aniso` Component + +*McXtrace: SasView hollow_rectangular_prism model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_hollow_rectangular_prism component, generated from hollow_rectangular_prism.c in sasmodels. + +Example: +SasView_hollow_rectangular_prism_aniso(sld, sld_solvent, length_a, b2a_ratio, c2a_ratio, thickness, theta, Phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_thickness=0.0, pd_theta=0.0, pd_Phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped scattering length density. | 6.3 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Shortest, external, size of the parallelepiped. | 35 | +| b2a_ratio | Ang | ([0, inf]) Ratio sides b/a. | 1 | +| c2a_ratio | Ang | ([0, inf]) Ratio sides c/a. | 1 | +| thickness | Ang | ([0, inf]) Thickness of parallelepiped. | 1 | +| theta | | | 0 | +| Phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_hollow_rectangular_prism_aniso.comp) for `SasView_hollow_rectangular_prism_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_hollow_rectangular_prism_thin_walls.md b/mcxtrace-comps/sasmodels/SasView_hollow_rectangular_prism_thin_walls.md new file mode 100644 index 0000000000..6797cc0864 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_hollow_rectangular_prism_thin_walls.md @@ -0,0 +1,59 @@ +# The `SasView_hollow_rectangular_prism_thin_walls` Component + +*McXtrace: SasView hollow_rectangular_prism_thin_walls model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_hollow_rectangular_prism_thin_walls component, generated from hollow_rectangular_prism_thin_walls.c in sasmodels. + +Example: +SasView_hollow_rectangular_prism_thin_walls(sld, sld_solvent, length_a, b2a_ratio, c2a_ratio, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped scattering length density. | 6.3 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Shorter side of the parallelepiped. | 35 | +| b2a_ratio | Ang | ([0, inf]) Ratio sides b/a. | 1 | +| c2a_ratio | Ang | ([0, inf]) Ratio sides c/a. | 1 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_hollow_rectangular_prism_thin_walls.comp) for `SasView_hollow_rectangular_prism_thin_walls.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_lamellar_hg.md b/mcxtrace-comps/sasmodels/SasView_lamellar_hg.md new file mode 100644 index 0000000000..ac16f002ed --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_lamellar_hg.md @@ -0,0 +1,60 @@ +# The `SasView_lamellar_hg` Component + +*McXtrace: SasView lamellar_hg model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_lamellar_hg component, generated from lamellar_hg.c in sasmodels. + +Example: +SasView_lamellar_hg(length_tail, length_head, sld, sld_head, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_tail=0.0, pd_length_head=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| length_tail | Ang | ([0, inf]) Tail thickness ( total = H+T+T+H). | 15 | +| length_head | Ang | ([0, inf]) Head thickness. | 10 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Tail scattering length density. | 0.4 | +| sld_head | 1e-6/Ang^2 | ([-inf, inf]) Head scattering length density. | 3.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_tail | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_head | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_lamellar_hg.comp) for `SasView_lamellar_hg.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_lamellar_hg_stack_caille.md b/mcxtrace-comps/sasmodels/SasView_lamellar_hg_stack_caille.md new file mode 100644 index 0000000000..5668983de3 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_lamellar_hg_stack_caille.md @@ -0,0 +1,63 @@ +# The `SasView_lamellar_hg_stack_caille` Component + +*McXtrace: SasView lamellar_hg_stack_caille model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_lamellar_hg_stack_caille component, generated from lamellar_hg_stack_caille.c in sasmodels. + +Example: +SasView_lamellar_hg_stack_caille(length_tail, length_head, Nlayers, d_spacing, Caille_parameter, sld, sld_head, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_tail=0.0, pd_length_head=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| length_tail | Ang | ([0, inf]) Tail thickness. | 10 | +| length_head | Ang | ([0, inf]) head thickness. | 2 | +| Nlayers | | ([1, inf]) Number of layers. | 30 | +| d_spacing | Ang | ([0.0, inf]) lamellar d-spacing of Caille S(Q). | 40.0 | +| Caille_parameter | | ([0.0, 0.8]) Caille parameter. | 0.001 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Tail scattering length density. | 0.4 | +| sld_head | 1e-6/Ang^2 | ([-inf, inf]) Head scattering length density. | 2.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_tail | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_head | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_lamellar_hg_stack_caille.comp) for `SasView_lamellar_hg_stack_caille.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_lamellar_stack_caille.md b/mcxtrace-comps/sasmodels/SasView_lamellar_stack_caille.md new file mode 100644 index 0000000000..d0170f801a --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_lamellar_stack_caille.md @@ -0,0 +1,60 @@ +# The `SasView_lamellar_stack_caille` Component + +*McXtrace: SasView lamellar_stack_caille model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_lamellar_stack_caille component, generated from lamellar_stack_caille.c in sasmodels. + +Example: +SasView_lamellar_stack_caille(thickness, Nlayers, d_spacing, Caille_parameter, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_thickness=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| thickness | Ang | ([0, inf]) sheet thickness. | 30.0 | +| Nlayers | | ([1, inf]) Number of layers. | 20 | +| d_spacing | Ang | ([0.0, inf]) lamellar d-spacing of Caille S(Q). | 400.0 | +| Caille_parameter | 1/Ang^2 | ([0.0, 0.8]) Caille parameter. | 0.1 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) layer scattering length density. | 6.3 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_lamellar_stack_caille.comp) for `SasView_lamellar_stack_caille.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_lamellar_stack_paracrystal.md b/mcxtrace-comps/sasmodels/SasView_lamellar_stack_paracrystal.md new file mode 100644 index 0000000000..6382968b15 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_lamellar_stack_paracrystal.md @@ -0,0 +1,60 @@ +# The `SasView_lamellar_stack_paracrystal` Component + +*McXtrace: SasView lamellar_stack_paracrystal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_lamellar_stack_paracrystal component, generated from lamellar_stack_paracrystal.c in sasmodels. + +Example: +SasView_lamellar_stack_paracrystal(thickness, Nlayers, d_spacing, sigma_d, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_thickness=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| thickness | Ang | ([0, inf]) sheet thickness. | 33.0 | +| Nlayers | | ([1, inf]) Number of layers. | 20 | +| d_spacing | Ang | ([0.0, inf]) lamellar spacing of paracrystal stack. | 250.0 | +| sigma_d | Ang | ([0.0, inf]) Sigma (polydispersity) of the lamellar spacing. | 0.0 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) layer scattering length density. | 1.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6.34 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_lamellar_stack_paracrystal.comp) for `SasView_lamellar_stack_paracrystal.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_line.md b/mcxtrace-comps/sasmodels/SasView_line.md new file mode 100644 index 0000000000..6b78331085 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_line.md @@ -0,0 +1,55 @@ +# The `SasView_line` Component + +*McXtrace: SasView line model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_line component, generated from line.c in sasmodels. + +Example: +SasView_line(intercept, slope, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| intercept | 1/cm | ([-inf, inf]) intercept in linear model. | 1.0 | +| slope | Ang/cm | ([-inf, inf]) slope in linear model. | 1.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_line.comp) for `SasView_line.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_linear_pearls.md b/mcxtrace-comps/sasmodels/SasView_linear_pearls.md new file mode 100644 index 0000000000..8979dfb9d8 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_linear_pearls.md @@ -0,0 +1,59 @@ +# The `SasView_linear_pearls` Component + +*McXtrace: SasView linear_pearls model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_linear_pearls component, generated from linear_pearls.c in sasmodels. + +Example: +SasView_linear_pearls(radius, edge_sep, num_pearls, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Radius of the pearls. | 80.0 | +| edge_sep | Ang | ([0, inf]) Length of the string segment - surface to surface. | 350.0 | +| num_pearls | | ([1, inf]) Number of the pearls. | 3.0 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) SLD of the pearl spheres. | 1.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) SLD of the solvent. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_linear_pearls.comp) for `SasView_linear_pearls.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_lorentz.md b/mcxtrace-comps/sasmodels/SasView_lorentz.md new file mode 100644 index 0000000000..e759f003e6 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_lorentz.md @@ -0,0 +1,55 @@ +# The `SasView_lorentz` Component + +*McXtrace: SasView lorentz model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_lorentz component, generated from lorentz.c in sasmodels. + +Example: +SasView_lorentz(cor_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_cor_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| cor_length | Ang | ([0, inf]) Screening length. | 50.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_cor_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_lorentz.comp) for `SasView_lorentz.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_mass_fractal.md b/mcxtrace-comps/sasmodels/SasView_mass_fractal.md new file mode 100644 index 0000000000..957dfe9aab --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_mass_fractal.md @@ -0,0 +1,58 @@ +# The `SasView_mass_fractal` Component + +*McXtrace: SasView mass_fractal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_mass_fractal component, generated from mass_fractal.c in sasmodels. + +Example: +SasView_mass_fractal(radius, fractal_dim_mass, cutoff_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_cutoff_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0.0, inf]) Particle radius. | 10.0 | +| fractal_dim_mass | | ([1.0, 6.0]) Mass fractal dimension. | 1.9 | +| cutoff_length | Ang | ([0.0, inf]) Cut-off length. | 100.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_cutoff_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_mass_fractal.comp) for `SasView_mass_fractal.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_mass_surface_fractal.md b/mcxtrace-comps/sasmodels/SasView_mass_surface_fractal.md new file mode 100644 index 0000000000..e615806a63 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_mass_surface_fractal.md @@ -0,0 +1,59 @@ +# The `SasView_mass_surface_fractal` Component + +*McXtrace: SasView mass_surface_fractal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_mass_surface_fractal component, generated from mass_surface_fractal.c in sasmodels. + +Example: +SasView_mass_surface_fractal(fractal_dim_mass, fractal_dim_surf, rg_cluster, rg_primary, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg_cluster=0.0, pd_rg_primary=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| fractal_dim_mass | | ([0.0, 6.0]) Mass fractal dimension. | 1.8 | +| fractal_dim_surf | | ([0.0, 6.0]) Surface fractal dimension. | 2.3 | +| rg_cluster | Ang | ([0.0, inf]) Cluster radius of gyration. | 4000.0 | +| rg_primary | Ang | ([0.0, inf]) Primary particle radius of gyration. | 86.7 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg_cluster | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_rg_primary | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_mass_surface_fractal.comp) for `SasView_mass_surface_fractal.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_mono_gauss_coil.md b/mcxtrace-comps/sasmodels/SasView_mono_gauss_coil.md new file mode 100644 index 0000000000..c3ff40348f --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_mono_gauss_coil.md @@ -0,0 +1,56 @@ +# The `SasView_mono_gauss_coil` Component + +*McXtrace: SasView mono_gauss_coil model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_mono_gauss_coil component, generated from mono_gauss_coil.c in sasmodels. + +Example: +SasView_mono_gauss_coil(i_zero, rg, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| i_zero | 1/cm | ([0.0, inf]) Intensity at q=0. | 70.0 | +| rg | Ang | ([0.0, inf]) Radius of gyration. | 75.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_mono_gauss_coil.comp) for `SasView_mono_gauss_coil.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_multilayer_vesicle.md b/mcxtrace-comps/sasmodels/SasView_multilayer_vesicle.md new file mode 100644 index 0000000000..17733b6c2e --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_multilayer_vesicle.md @@ -0,0 +1,63 @@ +# The `SasView_multilayer_vesicle` Component + +*McXtrace: SasView multilayer_vesicle model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_multilayer_vesicle component, generated from multilayer_vesicle.c in sasmodels. + +Example: +SasView_multilayer_vesicle(volfraction, radius, thick_shell, thick_solvent, sld_solvent, sld, n_shells, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_shell=0.0, pd_thick_solvent=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| volfraction | | ([0.0, 1]) volume fraction of vesicles. | 0.05 | +| radius | Ang | ([0.0, inf]) radius of solvent filled core. | 60.0 | +| thick_shell | Ang | ([0.0, inf]) thickness of one shell. | 10.0 | +| thick_solvent | Ang | ([0.0, inf]) solvent thickness between shells. | 10.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) solvent scattering length density. | 6.4 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Shell scattering length density. | 0.4 | +| n_shells | | ([1.0, inf]) Number of shell plus solvent layer pairs (must be integer). | 2.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_shell | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_solvent | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_multilayer_vesicle.comp) for `SasView_multilayer_vesicle.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_onion.md b/mcxtrace-comps/sasmodels/SasView_onion.md new file mode 100644 index 0000000000..3c853de6cc --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_onion.md @@ -0,0 +1,38 @@ +# The `SasView_onion` Component + +*McXtrace: SasView onion model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_onion component, generated from onion.c in sasmodels. + +Example: +SasView_onion(sld_core, radius_core, sld_solvent, n_shells, sld_in[n_shells], sld_out[n_shells], thickness[n_shells], A[n_shells], +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_core=0.0, pd_thickness[n_shells]=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_onion.comp) for `SasView_onion.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_parallelepiped.md b/mcxtrace-comps/sasmodels/SasView_parallelepiped.md new file mode 100644 index 0000000000..8c30bf25ce --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_parallelepiped.md @@ -0,0 +1,61 @@ +# The `SasView_parallelepiped` Component + +*McXtrace: SasView parallelepiped model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_parallelepiped component, generated from parallelepiped.c in sasmodels. + +Example: +SasView_parallelepiped(sld, sld_solvent, length_a, length_b, length_c, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_length_b=0.0, pd_length_c=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Shorter side of the parallelepiped. | 35 | +| length_b | Ang | ([0, inf]) Second side of the parallelepiped. | 75 | +| length_c | Ang | ([0, inf]) Larger side of the parallelepiped. | 400 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_b | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_c | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_parallelepiped.comp) for `SasView_parallelepiped.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_parallelepiped_aniso.md b/mcxtrace-comps/sasmodels/SasView_parallelepiped_aniso.md new file mode 100644 index 0000000000..dd52e33399 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_parallelepiped_aniso.md @@ -0,0 +1,67 @@ +# The `SasView_parallelepiped_aniso` Component + +*McXtrace: SasView parallelepiped model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_parallelepiped component, generated from parallelepiped.c in sasmodels. + +Example: +SasView_parallelepiped_aniso(sld, sld_solvent, length_a, length_b, length_c, theta, Phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_length_b=0.0, pd_length_c=0.0, pd_theta=0.0, pd_Phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Shorter side of the parallelepiped. | 35 | +| length_b | Ang | ([0, inf]) Second side of the parallelepiped. | 75 | +| length_c | Ang | ([0, inf]) Larger side of the parallelepiped. | 400 | +| theta | | | 60 | +| Phi | | | 60 | +| Psi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_b | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_length_c | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_parallelepiped_aniso.comp) for `SasView_parallelepiped_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_peak_lorentz.md b/mcxtrace-comps/sasmodels/SasView_peak_lorentz.md new file mode 100644 index 0000000000..2f2791b350 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_peak_lorentz.md @@ -0,0 +1,55 @@ +# The `SasView_peak_lorentz` Component + +*McXtrace: SasView peak_lorentz model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_peak_lorentz component, generated from peak_lorentz.c in sasmodels. + +Example: +SasView_peak_lorentz(peak_pos, peak_hwhm, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| peak_pos | 1/Ang | ([-inf, inf]) Peak postion in q. | 0.05 | +| peak_hwhm | 1/Ang | ([-inf, inf]) HWHM of peak. | 0.005 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_peak_lorentz.comp) for `SasView_peak_lorentz.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_pearl_necklace.md b/mcxtrace-comps/sasmodels/SasView_pearl_necklace.md new file mode 100644 index 0000000000..723db65c89 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_pearl_necklace.md @@ -0,0 +1,62 @@ +# The `SasView_pearl_necklace` Component + +*McXtrace: SasView pearl_necklace model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_pearl_necklace component, generated from pearl_necklace.c in sasmodels. + +Example: +SasView_pearl_necklace(radius, edge_sep, thick_string, num_pearls, sld, sld_string, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thick_string=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Mean radius of the chained spheres. | 80.0 | +| edge_sep | Ang | ([0, inf]) Mean separation of chained particles. | 350.0 | +| thick_string | Ang | ([0, inf]) Thickness of the chain linkage. | 2.5 | +| num_pearls | none | ([1, inf]) Number of pearls in the necklace (must be integer). | 3 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Scattering length density of the chained spheres. | 1.0 | +| sld_string | 1e-6/Ang^2 | ([-inf, inf]) Scattering length density of the chain linkage. | 1.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Scattering length density of the solvent. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_string | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_pearl_necklace.comp) for `SasView_pearl_necklace.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_poly_gauss_coil.md b/mcxtrace-comps/sasmodels/SasView_poly_gauss_coil.md new file mode 100644 index 0000000000..c6ab5afe2c --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_poly_gauss_coil.md @@ -0,0 +1,57 @@ +# The `SasView_poly_gauss_coil` Component + +*McXtrace: SasView poly_gauss_coil model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_poly_gauss_coil component, generated from poly_gauss_coil.c in sasmodels. + +Example: +SasView_poly_gauss_coil(i_zero, rg, polydispersity, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| i_zero | 1/cm | ([0.0, inf]) Intensity at q=0. | 70.0 | +| rg | Ang | ([0.0, inf]) Radius of gyration. | 75.0 | +| polydispersity | None | ([1.0, inf]) Polymer Mw/Mn. | 2.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_poly_gauss_coil.comp) for `SasView_poly_gauss_coil.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_polymer_excl_volume.md b/mcxtrace-comps/sasmodels/SasView_polymer_excl_volume.md new file mode 100644 index 0000000000..2d4a4ec086 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_polymer_excl_volume.md @@ -0,0 +1,56 @@ +# The `SasView_polymer_excl_volume` Component + +*McXtrace: SasView polymer_excl_volume model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_polymer_excl_volume component, generated from polymer_excl_volume.c in sasmodels. + +Example: +SasView_polymer_excl_volume(rg, porod_exp, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rg | Ang | ([0, inf]) Radius of Gyration. | 60.0 | +| porod_exp | | ([0, inf]) Porod exponent. | 3.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_polymer_excl_volume.comp) for `SasView_polymer_excl_volume.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_polymer_micelle.md b/mcxtrace-comps/sasmodels/SasView_polymer_micelle.md new file mode 100644 index 0000000000..4635158928 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_polymer_micelle.md @@ -0,0 +1,65 @@ +# The `SasView_polymer_micelle` Component + +*McXtrace: SasView polymer_micelle model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_polymer_micelle component, generated from polymer_micelle.c in sasmodels. + +Example: +SasView_polymer_micelle(ndensity, v_core, v_corona, sld_solvent, sld_core, sld_corona, radius_core, rg, d_penetration, n_aggreg, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_core=0.0, pd_rg=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| ndensity | 1e15/cm^3 | ([0.0, inf]) Number density of micelles. | 8.94 | +| v_core | Ang^3 | ([0.0, inf]) Core volume . | 62624.0 | +| v_corona | Ang^3 | ([0.0, inf]) Corona volume. | 61940.0 | +| sld_solvent | 1e-6/Ang^2 | ([0.0, inf]) Solvent scattering length density. | 6.4 | +| sld_core | 1e-6/Ang^2 | ([0.0, inf]) Core scattering length density. | 0.34 | +| sld_corona | 1e-6/Ang^2 | ([0.0, inf]) Corona scattering length density. | 0.8 | +| radius_core | Ang | ([0.0, inf]) Radius of core ( must be >> rg ). | 45.0 | +| rg | Ang | ([0.0, inf]) Radius of gyration of chains in corona. | 20.0 | +| d_penetration | | ([-inf, inf]) Factor to mimic non-penetration of Gaussian chains. | 1.0 | +| n_aggreg | | ([-inf, inf]) Aggregation number of the micelle. | 6.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_core | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_rg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_polymer_micelle.comp) for `SasView_polymer_micelle.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_porod.md b/mcxtrace-comps/sasmodels/SasView_porod.md new file mode 100644 index 0000000000..f76db46442 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_porod.md @@ -0,0 +1,53 @@ +# The `SasView_porod` Component + +*McXtrace: SasView porod model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_porod component, generated from porod.c in sasmodels. + +Example: +SasView_porod(, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_porod.comp) for `SasView_porod.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_power_law.md b/mcxtrace-comps/sasmodels/SasView_power_law.md new file mode 100644 index 0000000000..b5d2e37827 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_power_law.md @@ -0,0 +1,54 @@ +# The `SasView_power_law` Component + +*McXtrace: SasView power_law model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_power_law component, generated from power_law.c in sasmodels. + +Example: +SasView_power_law(power, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| power | | ([-inf, inf]) Power law exponent. | 4.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_power_law.comp) for `SasView_power_law.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_pringle.md b/mcxtrace-comps/sasmodels/SasView_pringle.md new file mode 100644 index 0000000000..c1d7be4e63 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_pringle.md @@ -0,0 +1,61 @@ +# The `SasView_pringle` Component + +*McXtrace: SasView pringle model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_pringle component, generated from pringle.c in sasmodels. + +Example: +SasView_pringle(radius, thickness, alpha, beta, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Pringle radius. | 60.0 | +| thickness | Ang | ([0, inf]) Thickness of pringle. | 10.0 | +| alpha | | ([-inf, inf]) Curvature parameter alpha. | 0.001 | +| beta | | ([-inf, inf]) Curvature paramter beta. | 0.02 | +| sld | 1e-6/Ang^2 | ([-inf, inf]) Pringle sld. | 1.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent sld. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_pringle.comp) for `SasView_pringle.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_raspberry.md b/mcxtrace-comps/sasmodels/SasView_raspberry.md new file mode 100644 index 0000000000..dfe3963940 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_raspberry.md @@ -0,0 +1,64 @@ +# The `SasView_raspberry` Component + +*McXtrace: SasView raspberry model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_raspberry component, generated from raspberry.c in sasmodels. + +Example: +SasView_raspberry(sld_lg, sld_sm, sld_solvent, volfraction_lg, volfraction_sm, surface_fraction, radius_lg, radius_sm, penetration, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_lg=0.0, pd_radius_sm=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld_lg | 1e-6/Ang^2 | ([-inf, inf]) large particle scattering length density. | -0.4 | +| sld_sm | 1e-6/Ang^2 | ([-inf, inf]) small particle scattering length density. | 3.5 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) solvent scattering length density. | 6.36 | +| volfraction_lg | | ([-inf, inf]) volume fraction of large spheres. | 0.05 | +| volfraction_sm | | ([-inf, inf]) volume fraction of small spheres. | 0.005 | +| surface_fraction | | ([-inf, inf]) fraction of small spheres at surface. | 0.4 | +| radius_lg | Ang | ([0, inf]) radius of large spheres. | 5000 | +| radius_sm | Ang | ([0, inf]) radius of small spheres. | 100 | +| penetration | Ang | ([-1, 1]) fractional penetration depth of small spheres into large sphere. | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_lg | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_sm | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_raspberry.comp) for `SasView_raspberry.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_rectangular_prism.md b/mcxtrace-comps/sasmodels/SasView_rectangular_prism.md new file mode 100644 index 0000000000..10faeca632 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_rectangular_prism.md @@ -0,0 +1,52 @@ +# The `SasView_rectangular_prism` Component + +*McXtrace: SasView rectangular_prism model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text + +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | | | 6.3 | +| sld_solvent | | | 1 | +| length_a | | | 35 | +| b2a_ratio | | | 1 | +| c2a_ratio | | | 1 | +| model_scale | | | 1.0 | +| model_abs | | | 0.0 | +| xwidth | | | 0.01 | +| yheight | | | 0.01 | +| zdepth | | | 0.005 | +| R | | | 0 | +| target_x | | | 0 | +| target_y | | | 0 | +| target_z | | | 1 | +| target_index | | | 1 | +| focus_xw | | | 0.5 | +| focus_yh | | | 0.5 | +| focus_aw | | | 0 | +| focus_ah | | | 0 | +| focus_r | | | 0 | +| pd_length_a | | | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_rectangular_prism.comp) for `SasView_rectangular_prism.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_rectangular_prism_aniso.md b/mcxtrace-comps/sasmodels/SasView_rectangular_prism_aniso.md new file mode 100644 index 0000000000..d156c909c9 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_rectangular_prism_aniso.md @@ -0,0 +1,65 @@ +# The `SasView_rectangular_prism_aniso` Component + +*McXtrace: SasView rectangular_prism model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_rectangular_prism component, generated from rectangular_prism.c in sasmodels. + +Example: +SasView_rectangular_prism_aniso(sld, sld_solvent, length_a, b2a_ratio, c2a_ratio, theta, Phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_theta=0.0, pd_Phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Parallelepiped scattering length density. | 6.3 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Shorter side of the parallelepiped. | 35 | +| b2a_ratio | | ([0, inf]) Ratio sides b/a. | 1 | +| c2a_ratio | | ([0, inf]) Ratio sides c/a. | 1 | +| theta | | | 0 | +| Phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_rectangular_prism_aniso.comp) for `SasView_rectangular_prism_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_rpa.md b/mcxtrace-comps/sasmodels/SasView_rpa.md new file mode 100644 index 0000000000..b801bc767d --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_rpa.md @@ -0,0 +1,38 @@ +# The `SasView_rpa` Component + +*McXtrace: SasView rpa model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_rpa component, generated from rpa.c in sasmodels. + +Example: +SasView_rpa(case_num, N[4], Phi[4], v[4], L[4], b[4], K12, K13, K14, K23, K24, K34, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_rpa.comp) for `SasView_rpa.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_sc_paracrystal.md b/mcxtrace-comps/sasmodels/SasView_sc_paracrystal.md new file mode 100644 index 0000000000..e554baa53e --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_sc_paracrystal.md @@ -0,0 +1,59 @@ +# The `SasView_sc_paracrystal` Component + +*McXtrace: SasView sc_paracrystal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_sc_paracrystal component, generated from sc_paracrystal.c in sasmodels. + +Example: +SasView_sc_paracrystal(dnn, d_factor, radius, sld, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dnn | Ang | ([0.0, inf]) Nearest neighbor distance. | 220.0 | +| d_factor | | ([-inf, inf]) Paracrystal distortion factor. | 0.06 | +| radius | Ang | ([0.0, inf]) Radius of sphere. | 40.0 | +| sld | 1e-6/Ang^2 | ([0.0, inf]) Sphere scattering length density. | 3.0 | +| sld_solvent | 1e-6/Ang^2 | ([0.0, inf]) Solvent scattering length density. | 6.3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_sc_paracrystal.comp) for `SasView_sc_paracrystal.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_sc_paracrystal_aniso.md b/mcxtrace-comps/sasmodels/SasView_sc_paracrystal_aniso.md new file mode 100644 index 0000000000..ce4a109569 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_sc_paracrystal_aniso.md @@ -0,0 +1,65 @@ +# The `SasView_sc_paracrystal_aniso` Component + +*McXtrace: SasView sc_paracrystal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_sc_paracrystal component, generated from sc_paracrystal.c in sasmodels. + +Example: +SasView_sc_paracrystal_aniso(dnn, d_factor, radius, sld, sld_solvent, theta, Phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_theta=0.0, pd_Phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| dnn | Ang | ([0.0, inf]) Nearest neighbor distance. | 220.0 | +| d_factor | | ([-inf, inf]) Paracrystal distortion factor. | 0.06 | +| radius | Ang | ([0.0, inf]) Radius of sphere. | 40.0 | +| sld | 1e-6/Ang^2 | ([0.0, inf]) Sphere scattering length density. | 3.0 | +| sld_solvent | 1e-6/Ang^2 | ([0.0, inf]) Solvent scattering length density. | 6.3 | +| theta | | | 0 | +| Phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_sc_paracrystal_aniso.comp) for `SasView_sc_paracrystal_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_sphere.md b/mcxtrace-comps/sasmodels/SasView_sphere.md new file mode 100644 index 0000000000..512c2912f5 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_sphere.md @@ -0,0 +1,57 @@ +# The `SasView_sphere` Component + +*McXtrace: SasView sphere model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_sphere component, generated from sphere.c in sasmodels. + +Example: +SasView_sphere(sld, sld_solvent, radius, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Layer scattering length density. | 1 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 6 | +| radius | Ang | ([0, inf]) Sphere radius. | 50 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_sphere.comp) for `SasView_sphere.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_spinodal.md b/mcxtrace-comps/sasmodels/SasView_spinodal.md new file mode 100644 index 0000000000..bc1b8936aa --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_spinodal.md @@ -0,0 +1,55 @@ +# The `SasView_spinodal` Component + +*McXtrace: SasView spinodal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_spinodal component, generated from spinodal.c in sasmodels. + +Example: +SasView_spinodal(gamma, q_0, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| gamma | | ([-inf, inf]) Exponent. | 3.0 | +| q_0 | 1/Ang | ([-inf, inf]) Correlation peak position. | 0.1 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_spinodal.comp) for `SasView_spinodal.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_squarewell.md b/mcxtrace-comps/sasmodels/SasView_squarewell.md new file mode 100644 index 0000000000..27cb9d22d1 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_squarewell.md @@ -0,0 +1,58 @@ +# The `SasView_squarewell` Component + +*McXtrace: SasView squarewell model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_squarewell component, generated from squarewell.c in sasmodels. + +Example: +SasView_squarewell(radius_effective, volfraction, welldepth, wellwidth, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_effective=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_effective | Ang | ([0, inf]) effective radius of hard sphere. | 50.0 | +| volfraction | | ([0, 0.08]) volume fraction of spheres. | 0.04 | +| welldepth | kT | ([0.0, 1.5]) depth of well, epsilon. | 1.5 | +| wellwidth | diameters | ([1.0, inf]) width of well in diameters (=2R) units, must be > 1. | 1.2 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_effective | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_squarewell.comp) for `SasView_squarewell.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_stacked_disks.md b/mcxtrace-comps/sasmodels/SasView_stacked_disks.md new file mode 100644 index 0000000000..a240000296 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_stacked_disks.md @@ -0,0 +1,64 @@ +# The `SasView_stacked_disks` Component + +*McXtrace: SasView stacked_disks model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_stacked_disks component, generated from stacked_disks.c in sasmodels. + +Example: +SasView_stacked_disks(thick_core, thick_layer, radius, n_stacking, sigma_d, sld_core, sld_layer, sld_solvent, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_thick_core=0.0, pd_thick_layer=0.0, pd_radius=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| thick_core | Ang | ([0, inf]) Thickness of the core disk. | 10.0 | +| thick_layer | Ang | ([0, inf]) Thickness of layer each side of core. | 10.0 | +| radius | Ang | ([0, inf]) Radius of the stacked disk. | 15.0 | +| n_stacking | | ([1, inf]) Number of stacked layer/core/layer disks. | 1.0 | +| sigma_d | Ang | ([0, inf]) Sigma of nearest neighbor spacing. | 0 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Core scattering length density. | 4 | +| sld_layer | 1e-6/Ang^2 | ([-inf, inf]) Layer scattering length density. | 0.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 5.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_thick_core | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_layer | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_stacked_disks.comp) for `SasView_stacked_disks.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_stacked_disks_aniso.md b/mcxtrace-comps/sasmodels/SasView_stacked_disks_aniso.md new file mode 100644 index 0000000000..c52982e515 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_stacked_disks_aniso.md @@ -0,0 +1,68 @@ +# The `SasView_stacked_disks_aniso` Component + +*McXtrace: SasView stacked_disks model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_stacked_disks component, generated from stacked_disks.c in sasmodels. + +Example: +SasView_stacked_disks_aniso(thick_core, thick_layer, radius, n_stacking, sigma_d, sld_core, sld_layer, sld_solvent, theta, Phi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_thick_core=0.0, pd_thick_layer=0.0, pd_radius=0.0, pd_theta=0.0, pd_Phi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| thick_core | Ang | ([0, inf]) Thickness of the core disk. | 10.0 | +| thick_layer | Ang | ([0, inf]) Thickness of layer each side of core. | 10.0 | +| radius | Ang | ([0, inf]) Radius of the stacked disk. | 15.0 | +| n_stacking | | ([1, inf]) Number of stacked layer/core/layer disks. | 1.0 | +| sigma_d | Ang | ([0, inf]) Sigma of nearest neighbor spacing. | 0 | +| sld_core | 1e-6/Ang^2 | ([-inf, inf]) Core scattering length density. | 4 | +| sld_layer | 1e-6/Ang^2 | ([-inf, inf]) Layer scattering length density. | 0.0 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 5.0 | +| theta | | | 0 | +| Phi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_thick_core | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thick_layer | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_stacked_disks_aniso.comp) for `SasView_stacked_disks_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_star_polymer.md b/mcxtrace-comps/sasmodels/SasView_star_polymer.md new file mode 100644 index 0000000000..0968421a2a --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_star_polymer.md @@ -0,0 +1,56 @@ +# The `SasView_star_polymer` Component + +*McXtrace: SasView star_polymer model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_star_polymer component, generated from star_polymer.c in sasmodels. + +Example: +SasView_star_polymer(rg_squared, arms, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_rg_squared=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| rg_squared | Ang^2 | ([0.0, inf]) Ensemble radius of gyration SQUARED of the full polymer. | 100.0 | +| arms | | ([1.0, 6.0]) Number of arms in the model. | 3 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_rg_squared | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_star_polymer.comp) for `SasView_star_polymer.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_stickyhardsphere.md b/mcxtrace-comps/sasmodels/SasView_stickyhardsphere.md new file mode 100644 index 0000000000..e742087a21 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_stickyhardsphere.md @@ -0,0 +1,58 @@ +# The `SasView_stickyhardsphere` Component + +*McXtrace: SasView stickyhardsphere model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_stickyhardsphere component, generated from stickyhardsphere.c in sasmodels. + +Example: +SasView_stickyhardsphere(radius_effective, volfraction, perturb, stickiness, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_effective=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius_effective | Ang | ([0, inf]) effective radius of hard sphere. | 50.0 | +| volfraction | | ([0, 0.74]) volume fraction of hard spheres. | 0.2 | +| perturb | | ([0.01, 0.1]) perturbation parameter, tau. | 0.05 | +| stickiness | | ([-inf, inf]) stickiness, epsilon. | 0.2 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_effective | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_stickyhardsphere.comp) for `SasView_stickyhardsphere.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_superball.md b/mcxtrace-comps/sasmodels/SasView_superball.md new file mode 100644 index 0000000000..d2d2b80c1c --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_superball.md @@ -0,0 +1,58 @@ +# The `SasView_superball` Component + +*McXtrace: SasView superball model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_superball component, generated from superball.c in sasmodels. + +Example: +SasView_superball(sld, sld_solvent, length_a, exponent_p, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Superball scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Cube edge length of the superball. | 50 | +| exponent_p | | ([0, inf]) Exponent describing the roundness of the superball. | 2.5 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_superball.comp) for `SasView_superball.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_superball_aniso.md b/mcxtrace-comps/sasmodels/SasView_superball_aniso.md new file mode 100644 index 0000000000..514801d38b --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_superball_aniso.md @@ -0,0 +1,64 @@ +# The `SasView_superball_aniso` Component + +*McXtrace: SasView superball model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_superball component, generated from superball.c in sasmodels. + +Example: +SasView_superball_aniso(sld, sld_solvent, length_a, exponent_p, theta, Phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_length_a=0.0, pd_theta=0.0, pd_Phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Superball scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| length_a | Ang | ([0, inf]) Cube edge length of the superball. | 50 | +| exponent_p | | ([0, inf]) Exponent describing the roundness of the superball. | 2.5 | +| theta | | | 0 | +| Phi | | | 0 | +| Psi | | | 0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_length_a | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_superball_aniso.comp) for `SasView_superball_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_surface_fractal.md b/mcxtrace-comps/sasmodels/SasView_surface_fractal.md new file mode 100644 index 0000000000..c1b2913dd2 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_surface_fractal.md @@ -0,0 +1,58 @@ +# The `SasView_surface_fractal` Component + +*McXtrace: SasView surface_fractal model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_surface_fractal component, generated from surface_fractal.c in sasmodels. + +Example: +SasView_surface_fractal(radius, fractal_dim_surf, cutoff_length, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_cutoff_length=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | Ang | ([0, inf]) Particle radius. | 10.0 | +| fractal_dim_surf | | ([1, 3]) Surface fractal dimension. | 2.0 | +| cutoff_length | Ang | ([0.0, inf]) Cut-off Length. | 500.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_cutoff_length | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_surface_fractal.comp) for `SasView_surface_fractal.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_teubner_strey.md b/mcxtrace-comps/sasmodels/SasView_teubner_strey.md new file mode 100644 index 0000000000..74ac3f0fa8 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_teubner_strey.md @@ -0,0 +1,58 @@ +# The `SasView_teubner_strey` Component + +*McXtrace: SasView teubner_strey model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_teubner_strey component, generated from teubner_strey.c in sasmodels. + +Example: +SasView_teubner_strey(volfraction_a, sld_a, sld_b, d, xi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| volfraction_a | | ([0, 1.0]) Volume fraction of phase a. | 0.5 | +| sld_a | 1e-6/Ang^2 | ([-inf, inf]) SLD of phase a. | 0.3 | +| sld_b | 1e-6/Ang^2 | ([-inf, inf]) SLD of phase b. | 6.3 | +| d | Ang | ([0, inf]) Domain size (periodicity). | 100.0 | +| xi | Ang | ([0, inf]) Correlation length. | 30.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_teubner_strey.comp) for `SasView_teubner_strey.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_triaxial_ellipsoid.md b/mcxtrace-comps/sasmodels/SasView_triaxial_ellipsoid.md new file mode 100644 index 0000000000..1d56872afd --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_triaxial_ellipsoid.md @@ -0,0 +1,61 @@ +# The `SasView_triaxial_ellipsoid` Component + +*McXtrace: SasView triaxial_ellipsoid model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_triaxial_ellipsoid component, generated from triaxial_ellipsoid.c in sasmodels. + +Example: +SasView_triaxial_ellipsoid(sld, sld_solvent, radius_equat_minor, radius_equat_major, radius_polar, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_equat_minor=0.0, pd_radius_equat_major=0.0, pd_radius_polar=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Ellipsoid scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius_equat_minor | Ang | ([0, inf]) Minor equatorial radius, Ra. | 20 | +| radius_equat_major | Ang | ([0, inf]) Major equatorial radius, Rb. | 400 | +| radius_polar | Ang | ([0, inf]) Polar radius, Rc. | 10 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_equat_minor | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_equat_major | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_polar | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_triaxial_ellipsoid.comp) for `SasView_triaxial_ellipsoid.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_triaxial_ellipsoid_aniso.md b/mcxtrace-comps/sasmodels/SasView_triaxial_ellipsoid_aniso.md new file mode 100644 index 0000000000..6dd25257e7 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_triaxial_ellipsoid_aniso.md @@ -0,0 +1,67 @@ +# The `SasView_triaxial_ellipsoid_aniso` Component + +*McXtrace: SasView triaxial_ellipsoid model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_triaxial_ellipsoid component, generated from triaxial_ellipsoid.c in sasmodels. + +Example: +SasView_triaxial_ellipsoid_aniso(sld, sld_solvent, radius_equat_minor, radius_equat_major, radius_polar, theta, Phi, Psi, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius_equat_minor=0.0, pd_radius_equat_major=0.0, pd_radius_polar=0.0, pd_theta=0.0, pd_Phi=0.0, pd_Psi=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) Ellipsoid scattering length density. | 4 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) Solvent scattering length density. | 1 | +| radius_equat_minor | Ang | ([0, inf]) Minor equatorial radius, Ra. | 20 | +| radius_equat_major | Ang | ([0, inf]) Major equatorial radius, Rb. | 400 | +| radius_polar | Ang | ([0, inf]) Polar radius, Rc. | 10 | +| theta | | | 60 | +| Phi | | | 60 | +| Psi | | | 60 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius_equat_minor | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_equat_major | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_radius_polar | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_theta | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Phi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_Psi | | (0,360) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_triaxial_ellipsoid_aniso.comp) for `SasView_triaxial_ellipsoid_aniso.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_two_lorentzian.md b/mcxtrace-comps/sasmodels/SasView_two_lorentzian.md new file mode 100644 index 0000000000..09e2503299 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_two_lorentzian.md @@ -0,0 +1,61 @@ +# The `SasView_two_lorentzian` Component + +*McXtrace: SasView two_lorentzian model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_two_lorentzian component, generated from two_lorentzian.c in sasmodels. + +Example: +SasView_two_lorentzian(lorentz_scale_1, lorentz_length_1, lorentz_exp_1, lorentz_scale_2, lorentz_length_2, lorentz_exp_2, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_lorentz_length_1=0.0, pd_lorentz_length_2=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| lorentz_scale_1 | | ([-inf, inf]) First power law scale factor. | 10.0 | +| lorentz_length_1 | Ang | ([-inf, inf]) First Lorentzian screening length. | 100.0 | +| lorentz_exp_1 | | ([-inf, inf]) First exponent of power law. | 3.0 | +| lorentz_scale_2 | | ([-inf, inf]) Second scale factor for broad Lorentzian peak. | 1.0 | +| lorentz_length_2 | Ang | ([-inf, inf]) Second Lorentzian screening length. | 10.0 | +| lorentz_exp_2 | | ([-inf, inf]) Second exponent of power law. | 2.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_lorentz_length_1 | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_lorentz_length_2 | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_two_lorentzian.comp) for `SasView_two_lorentzian.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_two_power_law.md b/mcxtrace-comps/sasmodels/SasView_two_power_law.md new file mode 100644 index 0000000000..27b4337392 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_two_power_law.md @@ -0,0 +1,57 @@ +# The `SasView_two_power_law` Component + +*McXtrace: SasView two_power_law model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_two_power_law component, generated from two_power_law.c in sasmodels. + +Example: +SasView_two_power_law(coefficent_1, crossover, power_1, power_2, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| coefficent_1 | | ([-inf, inf]) coefficent A in low Q region. | 1.0 | +| crossover | 1/Ang | ([0, inf]) crossover location. | 0.04 | +| power_1 | | ([0, inf]) power law exponent at low Q. | 1.0 | +| power_2 | | ([0, inf]) power law exponent at high Q. | 4.0 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_two_power_law.comp) for `SasView_two_power_law.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sasmodels/SasView_vesicle.md b/mcxtrace-comps/sasmodels/SasView_vesicle.md new file mode 100644 index 0000000000..b727c3c2a0 --- /dev/null +++ b/mcxtrace-comps/sasmodels/SasView_vesicle.md @@ -0,0 +1,60 @@ +# The `SasView_vesicle` Component + +*McXtrace: SasView vesicle model component as sample description.* + +## Identification + +- **Site:** +- **Author:** Jose Robledo +- **Origin:** FZJ / DTU / ESS DMSC +- **Date:** + +## Description + +```text +SasView_vesicle component, generated from vesicle.c in sasmodels. + +Example: +SasView_vesicle(sld, sld_solvent, volfraction, radius, thickness, +model_scale=1.0, model_abs=0.0, xwidth=0.01, yheight=0.01, zdepth=0.005, R=0, +int target_index=1, target_x=0, target_y=0, target_z=1, +focus_xw=0.5, focus_yh=0.5, focus_aw=0, focus_ah=0, focus_r=0, +pd_radius=0.0, pd_thickness=0.0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sld | 1e-6/Ang^2 | ([-inf, inf]) vesicle shell scattering length density. | 0.5 | +| sld_solvent | 1e-6/Ang^2 | ([-inf, inf]) solvent scattering length density. | 6.36 | +| volfraction | | ([0, 1.0]) volume fraction of shell. | 0.05 | +| radius | Ang | ([0, inf]) vesicle core radius. | 100 | +| thickness | Ang | ([0, inf]) vesicle shell thickness. | 30 | +| model_scale | | Global scale factor for scattering kernel. For systems without inter-particle interference, the form factors can be related to the scattering intensity by the particle volume fraction. | 1.0 | +| model_abs | | Absorption cross section density at 2200 m/s. | 0.0 | +| xwidth | m | ([-inf, inf]) Horiz. dimension of sample, as a width. | 0.01 | +| yheight | m | ([-inf, inf]) vert . dimension of sample, as a height for cylinder/box | 0.01 | +| zdepth | m | ([-inf, inf]) depth of sample | 0.005 | +| R | m | Outer radius of sample in (x,z) plane for cylinder/sphere. | 0 | +| target_x | m | relative focus target position. | 0 | +| target_y | m | relative focus target position. | 0 | +| target_z | m | relative focus target position. | 1 | +| target_index | | Relative index of component to focus at, e.g. next is +1. | 1 | +| focus_xw | m | horiz. dimension of a rectangular area. | 0.5 | +| focus_yh | m | , vert. dimension of a rectangular area. | 0.5 | +| focus_aw | deg | , horiz. angular dimension of a rectangular area. | 0 | +| focus_ah | deg | , vert. angular dimension of a rectangular area. | 0 | +| focus_r | m | case of circular focusing, focusing radius. | 0 | +| pd_radius | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable. | 0.0 | +| pd_thickness | | (0,inf) defined as (dx/x), where x is de mean value and dx the standard devition of the variable | 0.0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sasmodels/SasView_vesicle.comp) for `SasView_vesicle.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sources/Bending_magnet.md b/mcxtrace-comps/sources/Bending_magnet.md new file mode 100644 index 0000000000..ab5aafd7ae --- /dev/null +++ b/mcxtrace-comps/sources/Bending_magnet.md @@ -0,0 +1,50 @@ +# The `Bending_magnet` Component + +*McXtrace: Model of a bending magnet source* + +## Identification + +- **Site:** +- **Author:** Erik B. Knudsen +- **Origin:** DTU Physics +- **Date:** May, 2013. + +## Description + +```text +A source model based on the derivation from B.D. Patterson, Am. J. Phys. 79, 1046 (2011); doi: 10.1119/1.3614033 + +Example: Bending_magnet( +E0 = 14, dE = 7, Ee = 2.75, +Ie = 0.5, B = 1.72, sigey=9.3e-6, sigex=215.7e-6) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Center of emitted energy spectrum (overrides lambda0) | 0 | +| dE | keV | Half-width of emitted energy spectrum | 0 | +| lambda0 | AA | Center of emitted wavelength spectrum | 0 | +| dlambda | AA | Half-width of emitted wavelength spectrum | 0 | +| phase | rad | Initial phase of radiation. | 0 | +| randomphase | 0/1 | If !=0 phase will be random (I.e. the emitted radiation is completely incoherent) | 1 | +| Ee | GeV | Storage ring electron energy (typically a few GeV) | 2.4 | +| Ie | A | Ring current | 0.4 | +| B | T | Magnet field strength | 1.6 | +| sigey | m | Electron ring beam size in vertical plane (rms) | 0 | +| sigex | m | Electron ring beam size in horizontal plane (rms) | 0 | +| focus_xw | m | Width of target window | 0 | +| focus_yh | m | Height of traget window | 0 | +| dist | m | Distance from source plane to target window along the optical axis | 1 | +| gauss_t | 0/1 | If 0 the target window will be sampled uniformly and the weight adjusted accordingly, otherwise we will use a gaussian sampling scheme | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sources/Bending_magnet.comp) for `Bending_magnet.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sources/Source_div.md b/mcxtrace-comps/sources/Source_div.md new file mode 100644 index 0000000000..455b6ebbbc --- /dev/null +++ b/mcxtrace-comps/sources/Source_div.md @@ -0,0 +1,61 @@ +# The `Source_div` Component + +*McXtrace: Release: McXtrace 0.1 + +X-ray source with Gaussian or uniform divergence* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** November 11, 2009 + +## Description + +```text +A flat rectangular surface source with uniform or Gaussian divergence profile and focussing. +If the parametere gauss is not set (the default) the divergence profile is flat +in the range [-focus_ax,focus_ay]. If gauss is set, the focux_ax,focus_ay is considered +the standard deviation of the gaussian profile. +Currently focussing is only active for flat profile. The "focus window" is defined by focus_xw,focus_yh and dist. +The spectral intensity profile is uniformly distributed in the energy interval defined by e0+-dE/2 or +by wavelength lambda0+-dlambda/2 + +Example: Source_div(xwidth=0.1, yheight=0.1, focus_aw=2, focus_ah=2, E0=14, dE=2, gauss=0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| spectrum_file | string | File from which to read the spectral intensity profile | "NULL" | +| xwidth | m | Width of source. | 0 | +| yheight | m | Height of source. | 0 | +| dist | m | Downstream distance to place sampling target window | 0 | +| focus_xw | m | Width of sampling window | 0 | +| focus_yh | m | Height of sampling window | 0 | +| focus_aw | rad | Standard deviation (Gaussian) or maximal (uniform) horz. width divergence. | 0 | +| focus_ah | rad | Standard deviation (Gaussian) or maximal (uniform) vert. height divergence. | 0 | +| focus_ar | rad | Standard deviation (Gaussian) or maximal (uniform) radial divergence. | 0 | +| radius | m | Radius of circular source | 0 | +| E0 | keV | Mean energy of X-rays. | 0 | +| dE | keV | Energy half spread of X-rays. If gauss==0 dE is the half-spread, i.e. E\in[E0-dE,E0+dE], if gauss!=0 it's interpreted as the standard dev. | 0 | +| lambda0 | AA | Mean wavelength of X-rays (only relevant for E0=0). | 0 | +| dlambda | AA | Wavelength half spread of X-rays. | 0 | +| flux | 1/(s * mm**2 *mrad**2 * energy unit) | flux per energy unit, Angs or keV. | 0 | +| gauss | 1 | Criterion: 0: uniform, 1: Gaussian distribution of energy/wavelength. | 0 | +| gauss_a | 1 | Criterion: 0: uniform, 1: Gaussian divergence distribution. | 0 | +| randomphase | 1 | If !=0 the photon phase is chosen randomly. | 1 | +| phase | 1 | Value of the photon phase (if randomphase==0). | 0 | +| verbose | 0/1 | Show more information | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sources/Source_div.comp) for `Source_div.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sources/Source_div_quasi.md b/mcxtrace-comps/sources/Source_div_quasi.md new file mode 100644 index 0000000000..f5a505cb67 --- /dev/null +++ b/mcxtrace-comps/sources/Source_div_quasi.md @@ -0,0 +1,62 @@ +# The `Source_div_quasi` Component + +*McXtrace: Release: McXtrace 1.6 + +Quasi-stochastic X-ray source with Gaussian or uniform divergence* + +## Identification + +- **Site:** +- **Author:** Mads Carlsen and Erik Bergbäck Knudsen (erkn@fysik.dtu.dk) +- **Origin:** DTU Physics +- **Date:** Apr 21 + +## Description + +```text +A flat rectangular surface source with uniform or Gaussian divergence profile and focussing. +If the parametere gauss is not set (the default) the divergence profile is flat +in the range [-focus_ax,focus_ay]. If gauss is set, the focux_ax,focus_ay is considered +the standard deviation of the gaussian profile. +Currently focussing is only active for flat profile. The "focus window" is defined by focus_xw,focus_yh and dist. +The spectral intensity profile is uniformly distributed in the energy interval defined by e0+-dE/2 or +by wavelength lambda0+-dlambda/2 + +The phase space sapnned by the generated X-rays is sampled by means of Halton-sequences, instead of regular +pseudo random numbers. This ensures that samples are evenly distributed within the phase space region of interest. + +Example: Source_div_quasi(xwidth=0.1, yheight=0.1, focus_aw=2, focus_ah=2, E0=14, dE=2, gauss=0) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| spectrum_file | string | File from which to read the spectral intensity profile | "" | +| xwidth | m | Width of source | 0 | +| yheight | m | Height of source | 0 | +| focus_xw | m | Width of sampling window | 0 | +| focus_yh | m | Height of sampling window | 0 | +| dist | m | Downstream distance to place sampling target window | 0 | +| focus_aw | rad | Std. dev. (Gaussian) or maximal (uniform) horz. width divergence. focus_xw overrrides if it is more restrictive. | 0 | +| focus_ah | rad | Std. dev. (Gaussian) or maximal (uniform) vert. height divergence. focus_yh overrrides if it is more restrictive. | 0 | +| E0 | keV | Mean energy of X-rays. | 0 | +| dE | keV | Energy spread of X-rays. | 0 | +| lambda0 | AA | Mean wavelength of X-rays (only relevant for E0=0) | 0 | +| dlambda | AA | Wavelength half spread of X-rays. | 0 | +| flux | 1/(s*cm**2*st*energy unit) | Flux per energy unit, Angs or meV | 0 | +| gauss | 1 | Criterion: 0: uniform, 1: Gaussian distribution of energy/wavelength | 0 | +| gauss_a | 1 | Criterion: 0: uniform, 1: Gaussian divergence distribution | 0 | +| randomphase | 0/1 | When=1, the X-ray phase is randomised | 1 | +| phase | rad | Set to finite value to define X-ray phase (0:2 pi) | 0 | +| verbose | 0/1 | Generate more output on the console. | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sources/Source_div_quasi.comp) for `Source_div_quasi.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sources/Source_flat.md b/mcxtrace-comps/sources/Source_flat.md new file mode 100644 index 0000000000..e0bca5c8fe --- /dev/null +++ b/mcxtrace-comps/sources/Source_flat.md @@ -0,0 +1,59 @@ +# The `Source_flat` Component + +*McXtrace: Release: McXtrace 0.1_alpha + +A flat rectangular or circular surface emitting x-rays* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** September 25, 2009 + +## Description + +```text +A circular or rectangular xray source. Spectrum may be either gaussian or uniform around a central wavelength/energy +or read from a datafile. Xrays are considered emitted uniformly into 4pi, but a square target retricts the beam to +that window and scales the beam intensity accordingly. +If an input spectrum datafile (spectrum_file) is not specified, the beam is restricted to emit photons between E0+-dE keV, or lambda0+-dlambda AA, whichever is given. +The input spectrum file should be formatted such that x-ray energy/wavelength is in the first column and the intensity in the second. Any preceding +lines starting with # are considered part of the file header. If a datafile is given, a nonzero E0 value indicates that is is parametrized by energy (in keV) +as opposed to wavelength (in AA). Wavelength is the default. +Flux is set in the unit photons/s + +Example: Source_flat(xwidth=1e-3,yheight=1e-3, focus_xw=0.5e-2, focus_yh=0.45e-2,dist=1, E0=E0, dE=DE) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| radius | m | Radius of circle in (x,y,0) plane where x-rays are generated. | 0 | +| yheight | m | Height of rectangle in (x,y,0) plane where x-rays are generated. | 0 | +| xwidth | m | Width of rectangle in (x,y,0) plane where x-rays are generated. Overrides xmin and xmax. | 0 | +| xmin | m | Lower bound of x-interval where photons are generated. | 0 | +| xmax | m | Upper bound of x-interval where photons are generated. | 0 | +| dist | m | Distance to target along z axis. | 0 | +| focus_xw | m | Width of target | .045 | +| focus_yh | m | Height of target | .12 | +| E0 | keV | Mean energy of xrays. | 0 | +| dE | keV | Energy half spread of x-rays (flat or gaussian sigma). | 0 | +| lambda0 | AA | Mean wavelength of x-rays. | 0 | +| dlambda | AA | Wavelength half spread of x-rays. | 0 | +| flux | pht/s | Total flux radiated from the source | 0 | +| gauss | 1 | Gaussian (1) or Flat (0) energy/wavelength distribution | 0 | +| randomphase | | If nonzero, the phase of the emotted photon is random, i.e. source is fully incoherent. otherwise the value of phase is used. | 1 | +| phase | rad | Set phase to something given. | 0 | +| spectrum_file | string | Filename for optional spectrum-file | "" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sources/Source_flat.comp) for `Source_flat.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sources/Source_gaussian.md b/mcxtrace-comps/sources/Source_gaussian.md new file mode 100644 index 0000000000..cda051796f --- /dev/null +++ b/mcxtrace-comps/sources/Source_gaussian.md @@ -0,0 +1,54 @@ +# The `Source_gaussian` Component + +*McXtrace: Gaussian cross-section source* + +## Identification + +- **Site:** +- **Author:** Jana Baltser & Erik Knudsen +- **Origin:** NBI +- **Date:** April, 2011. + +## Description + +```text +A simple source model emitting photons from a gaussian distribution in the X-Y plane with the specified +standard deviations and divergence. A square target centered on the beam (Z-axis) +may be used to restrict the beam to that aperture. If no target aperture is given the full gaussian cross-section is used. +Further, the beam is restricted to emit photons between E0+-dE keV, or lambda0+-dlambda, whichever is given, if a spectrum_file +is not specified, in which case the contents of the file dictates the emitted spectrum. + +Example: Source_gaussian(sig_x=10e-6,sig_y=10e-6,dist=15,sigPr_x=9e-6, sigPr_y=9e-6,E0=12.5, dE=0.1) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| spectrum_file | | File from which to read the spectral intensity profile | "NULL" | +| sig_x | m | Horizontal standard deviation of source (rms source size). | 1 | +| sig_y | m | Vertical standard deviation of source (rms source size). | 0 | +| sigPr_x | rad | Angular horizontal divergence | 0 | +| sigPr_y | rad | Angular vertical divergence | 0 | +| flux | | Scaling factor to set the total emitted unrestricted flux. | 1 | +| brilliance | | Unit in spectrum_file is Brilliance - apply corrections to get to raw flux. | 0 | +| dist | m | Distance from source plane to sampling window. | 1 | +| gauss | 0/1 | Gaussian (1) or uniform (0) spectrum profile. | 0 | +| focus_xw | m | Width of sampling window dist m downstream from source to allow focused sampling. | 0 | +| focus_yh | m | Height of sampling window dist m downstream from source to allow focused sampling. | 0 | +| E0 | keV | Centre of emitted energy spectrum (overrides spectrum_file) | 0 | +| dE | kev | Half-width (or std. dev.) of emitted energy spectrum. | 0 | +| lambda0 | AA | Centre of emitted wavelength spectrum. | 0 | +| dlambda | AA | Half-width (or std. dev.) of emitted wavelength spectrum. | -1 | +| phase | rad | The initial phase of the photons. | 0 | +| randomphase | rad | If nonzero phase is random (incoherent radiation), otherwise it is set to the value of phase | 1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sources/Source_gaussian.comp) for `Source_gaussian.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sources/Source_genesis13.md b/mcxtrace-comps/sources/Source_genesis13.md new file mode 100644 index 0000000000..1b4ed18819 --- /dev/null +++ b/mcxtrace-comps/sources/Source_genesis13.md @@ -0,0 +1,49 @@ +# The `Source_genesis13` Component + +*McXtrace: Release: McXtrace 1.2 + +Interface source for importing GENESIS 1.3 generated X-ray pulses into McXtrace* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** Risoe +- **Date:** Aug. 10th, 2014 + +## Description + +```text +This source model reads the dumped radiation field output from GENESIS 1.3 and samples it to be used +in McXtrace. + +Example: Source_pt(dist=1,focus_xw=0.1,focus_yh=0.1, lamda=0.231, dlambda=0.002) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| gridpoints | int | Number of mesh points along 1 axis. | 101 | +| fname | string | Filename of main output file of GENESIS 1.3. | "template.out" | +| focus_xw | m | Width of target. | 0 | +| focus_yh | m | Height of target. | 0 | +| dist | m | Distance to target along z axis. | 1 | +| E0 | keV | Mean energy of xrays. | 0 | +| dE | kev | Half-width (or std. dev.) of emitted energy spectrum. | 0 | +| meshsize | m | Spacing between mesh points (equal in x and y). | 1e-5 | +| nslices | int | Number of slices simulated | 102 | +| s0 | m | Back end of pulse time sampling windows scaled by c^-1. | -2e-3 | +| s1 | m | Front end of pulse time sampling window scaled by c^-1. | 2e-3 | +| flux | 1 | Flux-multiplier | 1.0 | +| focus_a | rad | Mean divergence angle. | 0.1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sources/Source_genesis13.comp) for `Source_genesis13.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sources/Source_lab.md b/mcxtrace-comps/sources/Source_lab.md new file mode 100644 index 0000000000..14275a3b98 --- /dev/null +++ b/mcxtrace-comps/sources/Source_lab.md @@ -0,0 +1,65 @@ +# The `Source_lab` Component + +*McXtrace: Laboratory x-ray source.* + +## Identification + +- **Site:** +- **Author:** Erik Bergbaeck Knudsen +- **Origin:** Kgs. Lyngby +- **Date:** May 2012 + +## Description + +```text +Model of a laboratory x-ray tube, generating x-rays by bombarding a target by electrons. +Given a input energy E0 of the electron beam, x-rays are emitted from the accessible emission lines +The geometry of the tube is assumed to be: +# The electron beam hits a slab of surface material surface at a right angle illuminating an area of width by height, +# where width is measured along the component X-axis. +# The centre of the electron beam at the anode surface is the origin of the component. +# The Z-axis of the component points at the centre of the exit window (focus_xw by focus yh) +placed at a distance dist from the origin. +# The angle between the Z-axis and the anode surface is the take_off angle. +For a detailed sketch of the geometry see the componnent manual. + +The Bremsstrahlung emitted is modelled using the model of Kramer (1923) as restated in International +Tables of Crystallography C 4.1 +Characteristic radiation is modelled by Lorentzian (default) or Gaussian energy profiles with +line-energies from Bearden (1967), widths from Krause (1979) and intensity from Honkimäki (1990) and x-ray data booklet. +Absoprtion of emitted x-rays while travelling through the target anode is included. + +Example: Source_lab(material_datafile="Cu.txt",Emin=1, E0=80) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| material_datafile | string | Name of datafile which describes the target material. | "Cu.txt" | +| width | m | Width of electron beam impinging on the anode. | 1e-3 | +| height | m | Height of electron beam impinging on the anode. | 1e-3 | +| thickness | m | Thickness of the anode material slab. | 100e-6 | +| E0 | kV | Acceleration voltage of xray tube. | 20 | +| Emax | keV | Maximum energy to sample. Default (Emax=0) is to set it to E0. | 0 | +| Emin | keV | Minimum energy to sample. | 1 | +| focus_xw | m | Width of exit window. | 5e-3 | +| focus_yh | m | Height of exit window. | 5e-3 | +| take_off | deg | Take off angle of beam centre. | 6 | +| dist | m | Distance between centre of illuminated target and exit window. | 1 | +| tube_current | A | Electron beam current. | 1e-3 | +| frac | 0-1 | Fraction of statistic to use for Bremsstrahlung. | 0.1 | +| lorentzian | 0/1 | If nonzero Lorentzian (more correct) line profiles are used. | 1 | +| xwidth | m | Width of the anode material slab. | 0 | +| yheight | m | Height of the anode material slab. | 0 | +| exit_window_refpt | m | If set, the AT position and exit window will coincide (legacy behaviour). | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sources/Source_lab.comp) for `Source_lab.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sources/Source_pt.md b/mcxtrace-comps/sources/Source_pt.md new file mode 100644 index 0000000000..18f81afbab --- /dev/null +++ b/mcxtrace-comps/sources/Source_pt.md @@ -0,0 +1,56 @@ +# The `Source_pt` Component + +*McXtrace: Release: McXtrace 0.1 + +An x-ray point source* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** June 29th, 2009 + +## Description + +```text +A simple source model emitting photons from a point source uniformly into 4pi. A square target centered +on the Z-axis restricts the beam to that aperture. +If an input spectrum datafile (spectrum_file) is not specified, the beam is restricted to emit photons between E0+-dE keV, or lambda0+-dlambda AA, whichever is given. +The input spectrum file should be formatted such that x-ray energy/wavelength is in the first column and the intensity in the second. Any preceding +lines starting with # are considered part of the file header. If a datafile is given, a nonzero E¤0 value indicates that is is parametrized by energy ( in keV) +as opposed to wavelength (in AA). Wavelength is the default. +Flux is given in the unit photons/s + +Example: Source_pt(dist=1,focus_xw=0.1,focus_yh=0.1, lamda=0.231, dlambda=0.002) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| focus_xw | m | Width of target | 0 | +| focus_yh | m | Height of target | 0 | +| focus_x0 | m | x-cocordinate of target centre. | 0 | +| focus_y0 | m | y-coordinate of target centre. | 0 | +| flux | ph/s | Total flux radiated from the source. | 0 | +| dist | m | Distance from source plane to sampling window. | 1 | +| E0 | keV | Mean energy of xrays. | 0 | +| dE | keV | Energy half spread of x-rays. | 0 | +| lambda0 | AA | Mean wavelength of x-rays. | 0 | +| dlambda | AA | Wavelength half spread of x-rays (flat or gaussian sigma). | 0 | +| phase | rad | Set phase to something given. | 0 | +| randomphase | 0/1 | If nonzero, the phase of the emotted photon is random, i.e. source is fully incoherent. otherwise the value of phase is used. | 1 | +| gauss | 1 | Gaussian (1) or Flat (0) energy/wavelength distribution | 0 | +| spectrum_file | string | File from which to read an input spectrum. | "" | +| verbose | 1 | Output more information runtime. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sources/Source_pt.comp) for `Source_pt.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sources/Source_simplex.md b/mcxtrace-comps/sources/Source_simplex.md new file mode 100644 index 0000000000..98c71036e3 --- /dev/null +++ b/mcxtrace-comps/sources/Source_simplex.md @@ -0,0 +1,49 @@ +# The `Source_simplex` Component + +*McXtrace: Release: McXtrace 1.2 + +Interface source for importing Simplex generated X-ray pulses into McXtrace* + +## Identification + +- **Site:** +- **Author:** Erik B Knudsen +- **Origin:** Risoe +- **Date:** Aug. 10th, 2014 + +## Description + +```text +This source model reads the dumped radiation field output from Simplex and samples it to be used +in McXtrace. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| gridpoints | int | Number of mesh points along 1 axis. | 101 | +| fname | string | Filename of main output file of GENESIS 1.3. | "template.fld" | +| focus_xw | m | Width of target. | 0 | +| focus_yh | m | Height of target. | 0 | +| dist | m | Distance to target along z axis. | 1 | +| E0 | keV | Mean energy of xrays. | 0 | +| dE | keV | Energy half spread of x-rays. | 0 | +| meshsize | m | Spacing between mesh points (equal in x and y). | 1e-5 | +| nslices | 1 | Number of slices simulated. | 102 | +| s0 | m | Back end of pulse time sampling windows scaled by c^-1. | -2e-3 | +| s1 | m | Front end of pulse time sampling window scaled by c^-1. | 2e-3 | +| flux | 1 | Flux-multiplier. | 1.0 | +| focus_a | rad | Mean divergence angle. | 0.1 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sources/Source_simplex.comp) for `Source_simplex.comp`. +- Tanaka, Journal of Synchrotron Radiation 22, 1319 (2015) http://journals.iucr.org/s/issues/2015/05/00/gb5029/ +- http://radiant.harima.riken.go.jp/simplex/ + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sources/Source_spectra.md b/mcxtrace-comps/sources/Source_spectra.md new file mode 100644 index 0000000000..77fc79b22c --- /dev/null +++ b/mcxtrace-comps/sources/Source_spectra.md @@ -0,0 +1,74 @@ +# The `Source_spectra` Component + +*McXtrace: Release: McXtrace 1.5 + +Specialized X-ray source for reading in SPECTRA 10 source definitions* + +## Identification + +- **Site:** +- **Author:** Erik Knudsen +- **Origin:** Risoe +- **Date:** November 11, 2019 + +## Description + +```text +This is a source component for connecting SPECTRA 10-output files with McXtrace. +json-style SPECTRA 11 output files are not yet supported. + +SPECTRA is an application software to calculate optical properties of synchrotron +radiation (SR) emitted from bending magnets, wigglers (conventional and elliptical) +and undulators (conventional, helical, elliptical and figure-8). Calculations +of radiation from an arbitrary magnetic field distribution are also available. +Parameters on the electron beam and the source can be edited completely on +graphical user interfaces (GUIs) and it is possible to show the calculation +result graphically. The energy spectrum and radiation power after transmitting +various filters and convolution of detector's resolution are also available. +See SPECTRA. + +If the source is symmetric in x and/or y it is possible to speed up the spectra +calculations by only including one half-plane or quadrant. The other side/quadrants will then +be mirrored by McXtrace. + +%BUGS +Absolute intensity of 4D (x,y,x',y') is nor correctly normalized. +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| spectra_stem_x | str | Filename stem of x-projection of source distribution. -n.xxx will be added where n is a serial number and xxx spectra_suffix. | "" | +| spectra_stem_y | str | Filename stem of y-projection of source distribution. -n.xxx will be added where n is a serial number and xxx spectra_suffix. | "" | +| spectra_stem | str | Filename stem of x,x',y,y'-source distribution distribution. -n.xxx will be added where n is a serial number and xxx spectra_suffix. | "" | +| spectra_suffix | str | Suffix of spectra output files. | "dsc" | +| E0 | keV | Mean energy of X-rays. | 0 | +| dE | keV | Energy spread of X-rays. | 0 | +| **Emin** | keV | Energy of low end of the Spectra-calculated data. | | +| **Emax** | keV | Energy of high end of the Spectra-calculated data. | | +| **nE** | int | Number of steps in the spectra-calculations. | | +| randomphase | 0/1 | If !=0 the photon phase is chosen randomly. | 1 | +| phase | rad | Value of the photon phase (only used if randomphase==0). | 0 | +| nx | int | Number of grid points along x in datafiles. If zero this is computed from the files. | 0 | +| ny | int | Number of grid points along y in datafiles. If zero this is computed from the files. | 0 | +| npx | int | Number of grid points along x' in datafiles. If zero this is computed from the files. | 0 | +| npy | int | Number of grid points along y' in datafiles. If zero this is computed from the files. | 0 | +| initial_serial | int | First serial number of the series of spectra files. | 1 | +| symmetricx | 0/1 | If nonzero the source is mirrored in the x-axis. This to allow smaller spectra-calculations. | 0 | +| symmetricy | 0/1 | If nonzero the source is mirrored in the y-axis. This to allow smaller spectra-calculations. | 0 | +| verbose | 0/1 | If non-zero output more warning messages. | 0 | +| flag4d | 0/1 | Use either (0) x,y-projections or (1) full 4D x,y,x',y' datafiles. | 0 | +| noinit | 0/1 | Do no initialize the component. Can be usefiul in conjunction with a deactivating WHEN-clause. | 0 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sources/Source_spectra.comp) for `Source_spectra.comp`. +- Tanaka, J. Synchrotron Rad. (2001). 8, 1221-1228. https://doi.org/10.1107/S090904950101425X +- http://spectrax.org/spectra/ + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sources/Undulator.md b/mcxtrace-comps/sources/Undulator.md new file mode 100644 index 0000000000..0ad51fd27a --- /dev/null +++ b/mcxtrace-comps/sources/Undulator.md @@ -0,0 +1,58 @@ +# The `Undulator` Component + +*McXtrace: Model of an undulator source* + +## Identification + +- **Site:** +- **Author:** Erik B. Knudsen +- **Origin:** DTU Physics +- **Date:** May, 2013. + +## Description + +```text +A undulator source model based on the derivation by K.J. Kim, AIP, conf. proc., 184, 1989. doi:10.1063/1.38046. + +SOLEIL_PX2a U24 +Example: Undulator( E0=12.65, dE=1, Ee=2.75, dEe=0.001, Ie=0.5, K=1.788, Nper=80, +lu=24e-3, sigey=9.3e-6, sigex=215.7e-6, sigepx=29.3e-6, sigepy=4.2e-6, +dist=29.5, E1st=12.400 ) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Center of emitted energy spectrum. | 0 | +| dE | keV | Half-width of emitted energy spectrum. | 0 | +| phase | rad | Initial phase of radiation. | 0 | +| randomphase | 0/1 | If !=0 phase will be random (I.e. the emitted radiation is completely incoherent). | 1 | +| Ee | GeV | Storage ring electron energy [typically a few GeV). | 2.4 | +| dEe | percent | Relative electron energy beam spread (sigma/Ee). | 0 | +| Ie | A | Ring current. | 0.4 | +| B | T | Peak magnet field strength. Overrides K. | 0 | +| K | 1 | Dimensionless deflection undulator parameter. When K >> 1 (ie B*lu is large) you get a wiggler. | 0 | +| Nper | int | Number of magnetic periods in the undulator. | 1 | +| lu | m | Magnetic period length of the undulator aka lambda_u. | 16e-3 | +| sigey | m | Electron ring beam size in vertical plane (rms). | 0 | +| sigex | m | Electron ring beam size in horizontal plane (rms). | 0 | +| sigepx | rad | Electron ring beam horizontal divergence (rms). | 0 | +| sigepy | rad | Electron ring beam vertical divergence (rms). | 0 | +| focus_xw | m | Width of target window. | 0 | +| focus_yh | m | Height of target window. | 0 | +| dist | m | Distance from source plane to target window along the optical axis. | 1 | +| quick_integ | 0/1 | If nonzero, use faster (but less accurate) integration scheme. | 0 | +| E1st | keV | Energy of the fundmental (1st) undulator harmonic. | 0 | +| verbose | 0/1 | If nonzero, output extra information. | 0 | +| Br | T | Remanent field (1.35T for Nd2Fe14B) for gap estimate | 1.35 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sources/Undulator.comp) for `Undulator.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/sources/Wiggler.md b/mcxtrace-comps/sources/Wiggler.md new file mode 100644 index 0000000000..cd8138f326 --- /dev/null +++ b/mcxtrace-comps/sources/Wiggler.md @@ -0,0 +1,55 @@ +# The `Wiggler` Component + +*McXtrace: Model of a wiggler source* + +## Identification + +- **Site:** +- **Author:** Erik B. Knudsen +- **Origin:** DTU Physics +- **Date:** May, 2013. + +## Description + +```text +A source model based on the derivation from B.D. Patterson, Am. J. Phys. 79, 1046 (2011); doi: 10.1119/1.3614033 + +Example: Wiggler( +E0 = 14, dE = 12, +Ee = 2.75, Ie = 0.5, B = 2.1, K=10, Nper=41, sigey=9.3e-6, sigex=215.7e-6) +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| E0 | keV | Center of emitted energy spectrum (overrides lambda0) | 0 | +| dE | keV | Half-width of emitted energy spectrum | 0 | +| lambda0 | AA | Center of emitted wavelength spectrum | 0 | +| dlambda | AA | Half-width of emitted wavelength spectrum | 0 | +| phase | rad | Initial phase of radiation. | 0 | +| randomphase | 0/1 | If !=0 phase will be random (I.e. the emitted radiation is completely incoherent) | 1 | +| Ee | GeV | Storage ring electron energy (typically a few GeV) | 2.4 | +| Ie | A | Ring current | 0.4 | +| B | | TT] Peak magnet field strength | 1.6 | +| K | 1 | Dimensionless undulator parameter, e.g. K >> 1. overrides B. | 3 | +| Nper | int | Number of magnetic periods in the wiggler | 1 | +| length | m | Length of the Wiggler. | 1 | +| sigey | m | Electron ring beam size in vertical plane (rms) | 0 | +| sigex | m | Electron ring beam size in horizontal plane (rms) | 0 | +| focus_xw | m | Width of target window | 0 | +| focus_yh | m | Height of target window | 0 | +| dist | m | Distance from source plane to target window along the optical axis | 1 | +| gauss_t | 0/1 | If 0 the target window will be sampled uniformly and the weight adjusted accordingly, otherwise we will use a gaussian sampling scheme. | 0 | +| verbose | 0/1 | If nonzero, output extra information | 0 | +| Br | | | 1.35 | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/sources/Wiggler.comp) for `Wiggler.comp`. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/mcxtrace-comps/union/Incoherent_process.md b/mcxtrace-comps/union/Incoherent_process.md new file mode 100644 index 0000000000..038804a8e5 --- /dev/null +++ b/mcxtrace-comps/union/Incoherent_process.md @@ -0,0 +1,57 @@ +# The `Incoherent_process` Component + +*McXtrace: A sample component to separate geometry and phsysics* + +## Identification + +- **Site:** +- **Author:** Mads Bertelsen and Erik B Knudsen +- **Origin:** ESS DMSC & DTU Physics +- **Date:** 20.08.15 + +## Description + +```text +This Union_process is based on the Incoherent.comp component originally written +by Kim Lefmann and Kristian Nielsen + +Part of the Union components, a set of components that work together and thus +separates geometry and physics within McXtrace. +The use of this component requires other components to be used. + +1) One specifies a number of processes using process components like this one +2) These are gathered into material definitions using Union_make_material +3) Geometries are placed using Union_box / Union_cylinder, assigned a material +4) A Union_master component placed after all of the above + +Only in step 4 will any simulation happen, and per default all geometries +defined before the master, but after the previous will be simulated here. + +There is a dedicated manual available for the Union_components + +Algorithm: +Described elsewhere +``` + +## Input parameters + +Parameters in **boldface** are required; the others are optional. + +| Name | Unit | Description | Default | +|------|------|-------------|---------| +| sigma | barns | Incoherent scattering cross section | 5.08 | +| f_QE | 1 | Fraction of quasielastic scattering (rest is elastic) | 0 | +| gamma | 1 | Lorentzian width of quasielastic broadening (HWHM) | 0 | +| packing_factor | 1 | How dense is the material compared to optimal 0-1 | 1 | +| unit_cell_volume | | | 13.8 | +| interact_fraction | | | -1 | +| init | string | name of Union_init component (typically "init", default) | "init" | + +## Links + +- [Source code](/Users/peterwillendrup/Projects/willend-McCode/mcxtrace-comps/union/Incoherent_process.comp) for `Incoherent_process.comp`. +- The test/example instrument Test_Phonon.instr. + +--- + +*Generated on mcxtrace 3.99.99.* \ No newline at end of file diff --git a/tools/Python/mcdoc/mcdoc.py b/tools/Python/mcdoc/mcdoc.py index dd381e4093..833bfa64a4 100644 --- a/tools/Python/mcdoc/mcdoc.py +++ b/tools/Python/mcdoc/mcdoc.py @@ -1,13 +1,18 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- ''' -Generates html docpages from mccode instrument and component files. +Generates html (and optionally Markdown and LaTeX) docpages from mccode +instrument and component files. -A docpage is generated for every instrument and component file, and an +A docpage is generated for every instrument and component file, and an overview page is written and browsed. Default option Read installed docpage. -Specify a directory to add local results, and a search term for filtered or +Specify a directory to add local results, and a search term for filtered or specific file results. + +HTML output is always written. Use --md / -M to additionally emit Markdown +and --tex / -T to additionally emit LaTeX. Use --all-formats / -A to emit +all three formats at once. ''' import logging import argparse @@ -21,12 +26,92 @@ sys.path.append(os.path.join(os.path.dirname(__file__), '..')) from mccodelib import utils, mccode_config -def get_html_filepath(filepath): - ''' transform from .anything to .html ''' - h = pathlib.Path(os.path.splitext(filepath)[0] + '.html') - h = pathlib.Path(str(h).replace(mccode_config.directories['resourcedir'], mccode_config.directories['docdir'])) +# ------------------------------------------------------------------ +# Output format helpers +# ------------------------------------------------------------------ + +# file extension -> "friendly" name used in log messages +FORMAT_EXTENSIONS = { + 'html': 'html', + 'md': 'md', + 'tex': 'tex', +} + + +def get_doc_filepath(filepath, ext='html', outdir=None): + ''' transform from .anything to ., swapping resourcedir -> docdir ''' + h = pathlib.Path(os.path.splitext(filepath)[0] + '.' + ext) + if not outdir: + h = pathlib.Path(str(h).replace(mccode_config.directories['resourcedir'], + mccode_config.directories['docdir'])) + else: + h = pathlib.Path(str(h).replace(str(h.parent.parent), + mccode_config.directories['docdir'])) return h + +def get_html_filepath(filepath): + ''' transform from .anything to .html (kept for backwards compatibility) ''' + return get_doc_filepath(filepath, 'html') + + +# ------------------------------------------------------------------ +# Markdown / LaTeX escaping helpers +# ------------------------------------------------------------------ + +def _md_cell(s): + ''' Escape a value so it is safe inside a Markdown table cell. ''' + if s is None: + return '' + s = str(s) + # collapse newlines -> single space; escape pipes + s = s.replace('\r', ' ').replace('\n', ' ').replace('|', r'\|') + return s.strip() + + +def _md_text(s): + ''' Light sanitation for body text (no table-cell escaping). ''' + if s is None: + return '' + return str(s) + + +def _tex(s): + ''' Escape a value for LaTeX text mode. ''' + if s is None: + return '' + s = str(s) + # Replace backslash first via a sentinel so later replacements don't + # re-escape our own escape characters. + s = s.replace('\\', '\x00') + replacements = [ + ('&', r'\&'), + ('%', r'\%'), + ('$', r'\$'), + ('#', r'\#'), + ('_', r'\_'), + ('{', r'\{'), + ('}', r'\}'), + ('~', r'\textasciitilde{}'), + ('^', r'\textasciicircum{}'), + ('<', r'\textless{}'), + ('>', r'\textgreater{}'), + ] + for a, b in replacements: + s = s.replace(a, b) + s = s.replace('\x00', r'\textbackslash{}') + return s + + +def _mccode_label(): + ''' Returns ('McStas' or 'McXtrace') depending on the active flavour. ''' + return 'McXtrace' if mccode_config.get_mccode_prefix() == 'mx' else 'McStas' + + +# ================================================================== +# HTML overview writer (unchanged) +# ================================================================== + class OverviewDocWriter: ''' Creates the mcdoc overview html page. ''' def __init__(self, comp_info_lst, instr_info_lst, comp_info_local_lst, instr_info_local_lst, mccode_libdir, mccode_docdir): @@ -37,14 +122,14 @@ def __init__(self, comp_info_lst, instr_info_lst, comp_info_local_lst, instr_inf self.mccode_libdir = mccode_libdir self.mccode_docdir = mccode_docdir self.text = '' - + def create(self): ''' action code for create overview page! ''' i_lst = self.instr_info_lst c_loc_lst = self.comp_info_local_lst i_loc_lst = self.instr_info_local_lst t = self.tab_line - + # create comp tables #'%TAB_LINES_SOURCES%', '%TAB_LINES_OPTICS%', '%TAB_LINES_SAMPLES%', '%TAB_LINES_MONITORS%', '%TAB_LINES_MISC%', '%TAB_LINES_OBSOLETE%', # Sources @@ -97,7 +182,7 @@ def create(self): obsolete_tab = '' for c in obsolete_lst: obsolete_tab = obsolete_tab + t % (get_html_filepath(c.filepath), c.name, c.origin, c.author, c.filepath, 'comp', c.short_descr) + '\n' - + # create instr examples table ex_tab = '' for i in i_lst: @@ -107,7 +192,7 @@ def create(self): local_comp_tab = '' for c in c_loc_lst: local_comp_tab = local_comp_tab + t % (get_html_filepath(c.filepath), c.name, c.origin, c.author, c.filepath, 'comp', c.short_descr) + '\n' - + local_instr_tab = '' for i in i_loc_lst: local_instr_tab = local_instr_tab + t % (get_html_filepath(i.filepath), i.name, i.origin, i.author, i.filepath, 'instr', i.short_descr) + '\n' @@ -163,7 +248,7 @@ def create(self): self.text = text return self.text - + tab_header = ''' Name @@ -379,34 +464,215 @@ def create(self): ''' + +# ================================================================== +# Markdown / LaTeX overview writers +# ================================================================== + +_OVERVIEW_SECTIONS = [ + ('sources', 'Sources', 'sources'), + ('optics', 'Optics', 'optics'), + ('samples', 'Samples', 'samples'), + ('monitors', 'Detectors and monitors', 'monitors'), + ('union', 'Union components', 'union'), + ('sasmodels', 'SASmodels components', 'sasmodels'), + ('astrox', 'AstroX components', 'astrox'), + ('misc', 'Misc', 'misc'), + ('contrib', 'Contributed components', 'contrib'), + ('obsolete', 'Obsolete (avoid usage whenever possible)', 'obsolete'), +] + + +class OverviewMdDocWriter: + ''' Markdown version of OverviewDocWriter. ''' + def __init__(self, comp_info_lst, instr_info_lst, comp_info_local_lst, instr_info_local_lst, mccode_libdir, mccode_docdir): + self.comp_info_lst = comp_info_lst + self.instr_info_lst = instr_info_lst + self.comp_info_local_lst = comp_info_local_lst + self.instr_info_local_lst = instr_info_local_lst + self.mccode_libdir = mccode_libdir + self.mccode_docdir = mccode_docdir + self.text = '' + + @staticmethod + def _table_header(): + return ('| Name | Origin | Author(s) | Source code | Description |\n' + '|------|--------|-----------|-------------|-------------|') + + @staticmethod + def _row(o): + docfile = str(get_doc_filepath(o.filepath, 'md')) + return '| [%s](%s) | %s | %s | [%s](%s) | %s |' % ( + _md_cell(o.name), docfile, + _md_cell(o.origin), + _md_cell(o.author), + _md_cell(os.path.basename(o.filepath)), o.filepath, + _md_cell(o.short_descr)) + + def _section(self, title, items): + out = ['## %s' % title, '', self._table_header()] + for o in items: + out.append(self._row(o)) + out.append('') + return '\n'.join(out) + + def create(self): + flavour = _mccode_label() + is_mx = mccode_config.get_mccode_prefix() == 'mx' + + lines = [] + lines.append('# Components and Instruments from the Library for *%s*' % flavour) + lines.append('') + lines.append('Generated for %s %s.' % (mccode_config.configuration["MCCODE"], + mccode_config.configuration["MCCODE_VERSION"])) + lines.append('') + + # Per-category sections + for (cat, title, _anchor) in _OVERVIEW_SECTIONS: + if cat == 'astrox' and not is_mx: + continue + items = [c for c in self.comp_info_lst if c.category == cat] + lines.append(self._section(title, items)) + + # Instrument examples + lines.append(self._section('Instrument Examples', self.instr_info_lst)) + + # Local results + if self.comp_info_local_lst: + lines.append(self._section('Local components', self.comp_info_local_lst)) + if self.instr_info_local_lst: + lines.append(self._section('Local instruments', self.instr_info_local_lst)) + + lines.append('---') + lines.append('') + lines.append('- Library dir: `%s`' % self.mccode_libdir) + lines.append('- Doc dir: `%s`' % self.mccode_docdir) + lines.append('- [%s web site](http://www.%s.org/)' % (flavour, flavour.lower())) + lines.append('') + + self.text = '\n'.join(lines) + return self.text + + +class OverviewLatexDocWriter: + ''' LaTeX version of OverviewDocWriter. ''' + def __init__(self, comp_info_lst, instr_info_lst, comp_info_local_lst, instr_info_local_lst, mccode_libdir, mccode_docdir): + self.comp_info_lst = comp_info_lst + self.instr_info_lst = instr_info_lst + self.comp_info_local_lst = comp_info_local_lst + self.instr_info_local_lst = instr_info_local_lst + self.mccode_libdir = mccode_libdir + self.mccode_docdir = mccode_docdir + self.text = '' + + @staticmethod + def _row(o): + docfile = str(get_doc_filepath(o.filepath, 'tex')) + return '\\href{%s}{\\texttt{%s}} & %s & %s & \\href{run:%s}{\\texttt{%s}} & %s \\\\' % ( + docfile, + _tex(o.name), + _tex(o.origin), + _tex(o.author), + o.filepath, + _tex(os.path.basename(o.filepath)), + _tex(o.short_descr)) + + def _section(self, title, items): + out = [] + out.append(r'\section*{%s}' % _tex(title)) + out.append(r'\begin{longtable}{p{0.24\textwidth}p{0.10\textwidth}p{0.14\textwidth}p{0.20\textwidth}p{0.28\textwidth}}') + out.append(r'\toprule') + out.append(r'\textbf{Name} & \textbf{Origin} & \textbf{Author(s)} & \textbf{Source code} & \textbf{Description} \\') + out.append(r'\midrule') + out.append(r'\endhead') + for o in items: + out.append(self._row(o)) + out.append(r'\bottomrule') + out.append(r'\end{longtable}') + out.append('') + return '\n'.join(out) + + def create(self): + flavour = _mccode_label() + is_mx = mccode_config.get_mccode_prefix() == 'mx' + + out = [] + out.append(r'\documentclass[11pt,a4paper]{article}') + out.append(r'\usepackage[utf8]{inputenc}') + out.append(r'\usepackage[T1]{fontenc}') + out.append(r'\usepackage{hyperref}') + out.append(r'\usepackage{longtable}') + out.append(r'\usepackage{booktabs}') + out.append(r'\usepackage{array}') + out.append(r'\title{Components and Instruments from the Library for \emph{%s}}' % _tex(flavour)) + out.append(r'\author{%s %s}' % (_tex(mccode_config.configuration["MCCODE"]), + _tex(mccode_config.configuration["MCCODE_VERSION"]))) + out.append(r'\date{}') + out.append(r'\begin{document}') + out.append(r'\maketitle') + out.append(r'\tableofcontents') + out.append('') + + for (cat, title, _anchor) in _OVERVIEW_SECTIONS: + if cat == 'astrox' and not is_mx: + continue + items = [c for c in self.comp_info_lst if c.category == cat] + out.append(self._section(title, items)) + + out.append(self._section('Instrument Examples', self.instr_info_lst)) + + if self.comp_info_local_lst: + out.append(self._section('Local components', self.comp_info_local_lst)) + if self.instr_info_local_lst: + out.append(self._section('Local instruments', self.instr_info_local_lst)) + + out.append(r'\vspace{1em}') + out.append(r'\noindent\rule{\textwidth}{0.4pt}') + out.append(r'\begin{flushright}\small Generated for %s %s.\end{flushright}' % ( + _tex(mccode_config.configuration["MCCODE"]), + _tex(mccode_config.configuration["MCCODE_VERSION"]))) + out.append(r'\end{document}') + + self.text = '\n'.join(out) + return self.text + + +# ================================================================== +# Parsers +# ================================================================== + class InstrParser: ''' parses an instr or comp file, extracting all relevant information into python ''' def __init__(self, filename): self.filename = filename self.info = None self.has_parsed = False - + def stub(self): ''' fallback parsing ''' self.info = utils.InstrCompHeaderInfo() self.has_parsed = True return self.info - + def parse(self): ''' parses the given file ''' f = open(self.filename) logging.debug('parsing file "%s"' % self.filename) - + header = utils.read_header(f) info = utils.parse_header(header) info.site = utils.get_instr_site_fromtxt(header) dfine = utils.read_define_instr(f) info.name, info.params = utils.parse_define_instr(dfine) - + self.info = info return self.info +# ================================================================== +# HTML per-file writers (unchanged) +# ================================================================== + class InstrDocWriter: ''' create html doc text by means of a instr parser ''' def __init__(self, info): @@ -443,7 +709,7 @@ def create(self): unit = [pd[1] for pd in i.params_docs if p[1] == pd[0]] unit = unit[0] if len(unit) > 0 else '' defval = p[2] if p[2] != None else '' - doc = [pd[2] for pd in i.params_docs if p[1] == pd[0]] # TODO: rewrite to speed up + doc = [pd[2] for pd in i.params_docs if p[1] == pd[0]] # TODO: rewrite to speed up doc = doc[0] if len(doc) > 0 else '' if defval == '': doc_rows = doc_rows + '\n' + self.par_str_boldface % (p[1], unit, doc, defval) @@ -453,13 +719,13 @@ def create(self): h = h.replace(t[10], i.filepath) h = h.replace(t[11], os.path.basename(i.filepath)) - + # TODO: implement links writing lstr = '' for l in i.links: lstr = lstr + self.lnk_str % l + '\n' h = h.replace(t[12], lstr) - + h = h.replace(t[13], '%s %s' % (mccode_config.configuration["MCCODE"], mccode_config.configuration["MCCODE_VERSION"])) @@ -562,25 +828,25 @@ def parse(self): ''' override ''' f = open(self.filename) logging.debug('parsing file "%s"' % self.filename) - + header = utils.read_header(f) info = utils.parse_header(header) info.site = utils.get_instr_site_fromtxt(header) - + dfine = utils.read_define_comp(f) name, setpar, defpar, outpar = utils.parse_define_comp(dfine) - + info.name = name info.category = utils.get_comp_category(self.filename) - + # basically just for debug use info.params = setpar + defpar + outpar - + # these are used by CompDocWriter info.setparams = setpar info.defparams = defpar info.outparams = outpar - + self.info = info return self.info @@ -589,7 +855,7 @@ class CompDocWriter: def __init__(self, info): self.info = info self.text = '' - + def create(self): i = self.info t = self.tags @@ -670,8 +936,8 @@ def create(self): par_str_boldface = " %s%s%s%s%s" par_header = par_str % ('Name', 'Unit', 'Description', 'Default', '') lnk_str = "
  • %s" - - + + html = r''' @@ -714,7 +980,7 @@ def create(self): ATpos = ATpos + xpos + ", "; ATpos = ATpos + ypos + ", "; ATpos = ATpos + zpos; - ATpos = ATpos + "\) RELATIVE " ; + ATpos = ATpos + "\) RELATIVE " ; ATpos = ATpos + " " + REF ; return ATpos; } @@ -727,12 +993,12 @@ def create(self): var ATrot = ""; - if (xrot && yrot && zrot) { + if (xrot && yrot && zrot) { ATrot = "\n ROTATED \("; ATrot = ATrot + xrot + ", "; ATrot = ATrot + yrot + ", "; ATrot = ATrot + zrot; - ATrot = ATrot + "\) RELATIVE " ; + ATrot = ATrot + "\) RELATIVE " ; ATrot = ATrot + " " + REF2 ; } return ATrot; @@ -862,10 +1128,295 @@ def create(self): ''' +# ================================================================== +# Markdown per-file writers +# ================================================================== + +def _iter_param_rows(params, params_docs): + ''' yields tuples (name, unit, doc, defval, required_bool) ''' + for p in params: + unit_list = [pd[1] for pd in params_docs if p[1] == pd[0]] + unit = unit_list[0] if unit_list else '' + defval = p[2] if p[2] is not None else '' + doc_list = [pd[2] for pd in params_docs if p[1] == pd[0]] + doc = doc_list[0] if doc_list else '' + required = (defval == '') + yield (p[1], unit, doc, defval, required) + + +class InstrMdDocWriter: + ''' Markdown doc writer for instrument files. ''' + def __init__(self, info): + self.info = info + self.text = '' + + def create(self): + i = self.info + flavour = _mccode_label() + + short_descr = i.short_descr + if re.match(r'^\s*\n*\r*$', short_descr): + short_descr = i.name + ' instrument' + + lines = [] + lines.append('# The `%s` Instrument' % i.name) + lines.append('') + lines.append('*%s: %s*' % (flavour, _md_text(short_descr))) + lines.append('') + lines.append('## Identification') + lines.append('') + lines.append('- **Site:** %s' % _md_text(i.site)) + lines.append('- **Author:** %s' % _md_text(i.author)) + lines.append('- **Origin:** %s' % _md_text(i.origin)) + lines.append('- **Date:** %s' % _md_text(i.date)) + lines.append('') + lines.append('## Description') + lines.append('') + lines.append('```text') + lines.append(_md_text(i.description)) + lines.append('```') + lines.append('') + lines.append('## Input parameters') + lines.append('') + lines.append('Parameters in **boldface** are required; the others are optional.') + lines.append('') + lines.append('| Name | Unit | Description | Default |') + lines.append('|------|------|-------------|---------|') + for (name, unit, doc, defval, required) in _iter_param_rows(i.params, i.params_docs): + name_cell = _md_cell(name) + if required: + name_cell = '**%s**' % name_cell + lines.append('| %s | %s | %s | %s |' % (name_cell, _md_cell(unit), _md_cell(doc), _md_cell(defval))) + lines.append('') + lines.append('## Links') + lines.append('') + lines.append('- [Source code](%s) for `%s`.' % (os.path.basename(i.filepath), os.path.basename(i.filepath))) + lines.append('- [Additional information](%s.md) (only if available!)' % (os.path.basename(i.filepath).split('.')[0])) + for l in i.links: + lines.append('- %s' % _md_text(l)) + lines.append('') + lines.append('---') + lines.append('') + lines.append('*Generated for %s %s.*' % (mccode_config.configuration["MCCODE"], + mccode_config.configuration["MCCODE_VERSION"])) + + self.text = '\n'.join(lines) + return self.text + + +class CompMdDocWriter: + ''' Markdown doc writer for component files. ''' + def __init__(self, info): + self.info = info + self.text = '' + + def create(self): + i = self.info + flavour = _mccode_label() + + short_descr = i.short_descr + if re.match(r'^\s*\n*\r*$', short_descr): + short_descr = i.name + ' component' + + lines = [] + lines.append('# The `%s` Component' % i.name) + lines.append('') + lines.append('*%s: %s*' % (flavour, _md_text(short_descr))) + lines.append('') + lines.append('## Identification') + lines.append('') + lines.append('- **Site:** %s' % _md_text(i.site)) + lines.append('- **Author:** %s' % _md_text(i.author)) + lines.append('- **Origin:** %s' % _md_text(i.origin)) + lines.append('- **Date:** %s' % _md_text(i.date)) + lines.append('') + lines.append('## Description') + lines.append('') + lines.append('```text') + lines.append(_md_text(i.description)) + lines.append('```') + lines.append('') + lines.append('## Input parameters') + lines.append('') + lines.append('Parameters in **boldface** are required; the others are optional.') + lines.append('') + lines.append('| Name | Unit | Description | Default |') + lines.append('|------|------|-------------|---------|') + for (name, unit, doc, defval, required) in _iter_param_rows(i.setparams + i.defparams, i.params_docs): + name_cell = _md_cell(name) + if required: + name_cell = '**%s**' % name_cell + lines.append('| %s | %s | %s | %s |' % (name_cell, _md_cell(unit), _md_cell(doc), _md_cell(defval))) + lines.append('') + lines.append('## Links') + lines.append('') + lines.append('- [Source code](%s) for `%s`.' % (os.path.basename(i.filepath), os.path.basename(i.filepath))) + for l in i.links: + lines.append('- %s' % _md_text(l)) + lines.append('') + lines.append('---') + lines.append('') + lines.append('*Generated on %s %s.*' % (mccode_config.configuration["MCCODE"], + mccode_config.configuration["MCCODE_VERSION"])) + + self.text = '\n'.join(lines) + return self.text + + +# ================================================================== +# LaTeX per-file writers +# ================================================================== + +_LATEX_PREAMBLE = ( + r'\documentclass[11pt,a4paper]{article}' '\n' + r'\usepackage[utf8]{inputenc}' '\n' + r'\usepackage[T1]{fontenc}' '\n' + r'\usepackage{hyperref}' '\n' + r'\usepackage{longtable}' '\n' + r'\usepackage{booktabs}' '\n' + r'\usepackage{array}' '\n' + r'\usepackage{listings}' '\n' + r'\lstset{breaklines=true}' '\n' + r'\usepackage{parskip}' '\n' +) + + +class InstrLatexDocWriter: + ''' LaTeX doc writer for instrument files. ''' + def __init__(self, info): + self.info = info + self.text = '' + + def create(self): + i = self.info + flavour = _mccode_label() + + short_descr = i.short_descr + if re.match(r'^\s*\n*\r*$', short_descr): + short_descr = i.name + ' instrument' + + out = [_LATEX_PREAMBLE] + out.append(r'\title{The \texttt{%s} %s Instrument}' % (_tex(i.name), _tex(flavour))) + out.append(r'\author{%s}' % _tex(i.author)) + out.append(r'\date{%s}' % _tex(i.date)) + out.append(r'\begin{document}') + out.append(r'\maketitle') + out.append('') + out.append(_tex(short_descr)) + out.append('') + out.append(r'\section*{Identification}') + out.append(r'\begin{itemize}') + out.append(r' \item \textbf{Site:} %s' % _tex(i.site)) + out.append(r' \item \textbf{Author:} %s' % _tex(i.author)) + out.append(r' \item \textbf{Origin:} %s' % _tex(i.origin)) + out.append(r' \item \textbf{Date:} %s' % _tex(i.date)) + out.append(r'\end{itemize}') + out.append('') + out.append(r'\section*{Description}') + out.append(r'\begin{lstlisting}') + out.append(i.description if i.description is not None else '') + out.append(r'\end{lstlisting}') + out.append('') + out.append(r'\section*{Input parameters}') + out.append(r'Parameters in \textbf{boldface} are required; the others are optional.') + out.append('') + out.append(r'\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}}') + out.append(r'\toprule') + out.append(r'\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\') + out.append(r'\midrule') + out.append(r'\endhead') + for (name, unit, doc, defval, required) in _iter_param_rows(i.params, i.params_docs): + name_tex = _tex(name) + if required: + name_tex = r'\textbf{%s}' % name_tex + out.append('%s & %s & %s & %s \\\\' % (name_tex, _tex(unit), _tex(doc), _tex(defval))) + out.append(r'\bottomrule') + out.append(r'\end{longtable}') + out.append('') + out.append(r'\section*{Links}') + out.append(r'\begin{itemize}') + out.append(r' \item \href{run:%s}{Source code} for \texttt{%s}.' % (i.filepath, _tex(os.path.basename(i.filepath)))) + for l in i.links: + out.append(r' \item %s' % _tex(l)) + out.append(r'\end{itemize}') + out.append('') + out.append(r'\vspace{1em}') + out.append(r'\noindent\rule{\textwidth}{0.4pt}') + out.append(r'\begin{flushright}\small Generated for %s %s.\end{flushright}' % ( + _tex(mccode_config.configuration["MCCODE"]), + _tex(mccode_config.configuration["MCCODE_VERSION"]))) + out.append(r'\end{document}') + + self.text = '\n'.join(out) + return self.text + + +class CompLatexDocWriter: + ''' LaTeX doc writer for component files. ''' + def __init__(self, info): + self.info = info + self.text = '' + + def create(self): + i = self.info + flavour = _mccode_label() + + short_descr = i.short_descr + if re.match(r'^\s*\n*\r*$', short_descr): + short_descr = i.name + ' component' + + out = [] # Drop the [_LATEX_PREAMBLE] + out.append(r'\section{The \texttt{%s} %s Component}' % (_tex(i.name), _tex(flavour))) + out.append(_tex(short_descr)) + out.append('') + out.append(r'\subsection*{Identification}') + out.append(r'\begin{itemize}') + out.append(r' \item \textbf{Site:} %s' % _tex(i.site)) + out.append(r' \item \textbf{Author:} %s' % _tex(i.author)) + out.append(r' \item \textbf{Origin:} %s' % _tex(i.origin)) + out.append(r' \item \textbf{Date:} %s' % _tex(i.date)) + out.append(r'\end{itemize}') + out.append('') + out.append(r'\subsection*{Description}') + out.append(r'\begin{lstlisting}') + out.append(i.description if i.description is not None else '') + out.append(r'\end{lstlisting}') + out.append('') + out.append(r'\subsection*{Input parameters}') + out.append(r'Parameters in \textbf{boldface} are required; the others are optional.') + out.append('') + out.append(r'\begin{longtable}{p{0.22\textwidth}p{0.12\textwidth}p{0.46\textwidth}p{0.14\textwidth}}') + out.append(r'\toprule') + out.append(r'\textbf{Name} & \textbf{Unit} & \textbf{Description} & \textbf{Default} \\') + out.append(r'\midrule') + out.append(r'\endhead') + for (name, unit, doc, defval, required) in _iter_param_rows(i.setparams + i.defparams, i.params_docs): + name_tex = _tex(name) + if required: + name_tex = r'\textbf{%s}' % name_tex + out.append('%s & %s & %s & %s \\\\' % (name_tex, _tex(unit), _tex(doc), _tex(defval))) + out.append(r'\bottomrule') + out.append(r'\end{longtable}') + out.append('') + out.append(r'\subsection*{Links}') + out.append(r'\begin{itemize}') + out.append(r' \item Component source code found in file \texttt{%s}.' % (_tex(os.path.basename(i.filepath)))) + for l in i.links: + out.append(r' \item %s' % _tex(l)) + out.append(r'\end{itemize}') + out.append(r'\IfFileExists{%s_static.tex}{\input{%s_static.tex}}{}' % (i.name, i.name)) + self.text = '\n'.join(out) + return self.text + + +# ================================================================== +# File output / processing +# ================================================================== + def write_file(filename, text, failsilent=False): try: dirname = os.path.dirname(filename) - + if not os.path.exists(dirname): os.makedirs(dirname) f = open(filename, 'w') @@ -920,8 +1471,41 @@ def parse_and_filter(indir, namefilter=None, recursive=False, printlog=False): return comp_info_lst, instr_info_lst, comp_files, instr_files -def write_doc_files_or_continue(comp_infos, instr_infos, comp_files, instr_files, printlog=False): - ''' Writes component and instrument docs files ''' + +# Mapping of format -> (ext, InstrWriterClass, CompWriterClass) +_PER_FILE_WRITERS = { + 'html': ('html', InstrDocWriter, CompDocWriter), + 'md': ('md', InstrMdDocWriter, CompMdDocWriter), + 'tex': ('tex', InstrLatexDocWriter, CompLatexDocWriter), +} + +# Mapping of format -> OverviewWriterClass +_OVERVIEW_WRITERS = { + 'html': OverviewDocWriter, + 'md': OverviewMdDocWriter, + 'tex': OverviewLatexDocWriter, +} + + +def _normalize_formats(formats): + ''' Ensure a clean tuple of known format keys, defaulting to ('html',). ''' + if not formats: + return ('html',) + result = [] + for f in formats: + f = f.lower() + if f in _PER_FILE_WRITERS and f not in result: + result.append(f) + if not result: + result.append('html') + return tuple(result) + + +def write_doc_files_or_continue(comp_infos, instr_infos, comp_files, instr_files, + printlog=False, formats=('html',), outdir=None): + ''' Writes component and instrument docs files in the requested formats. ''' + formats = _normalize_formats(formats) + for i in range(len(comp_infos)): try: p = comp_infos[i] @@ -929,13 +1513,14 @@ def write_doc_files_or_continue(comp_infos, instr_infos, comp_files, instr_files f = comp_files[i] except: f = comp_infos[i].filepath - doc = CompDocWriter(p) - text = doc.create() - h = pathlib.Path(os.path.splitext(f)[0] + '.html') - h = pathlib.Path(str(h).replace(mccode_config.directories['resourcedir'], mccode_config.directories['docdir'])) - if printlog: - print("writing doc file... %s" % h) - write_file(h, text, failsilent=True) + for fmt in formats: + ext, InstrW, CompW = _PER_FILE_WRITERS[fmt] + doc = CompW(p) + text = doc.create() + h = get_doc_filepath(f, ext, outdir=outdir) + if printlog: + print("writing doc file... %s" % h) + write_file(h, text, failsilent=True) except: print("Could not work on comp " + str(i) + " of " + str(len(comp_infos)) + ": " + comp_infos[i].name) pass @@ -947,23 +1532,81 @@ def write_doc_files_or_continue(comp_infos, instr_infos, comp_files, instr_files f = instr_infos[i].filepath except: f = instr_files[i] - doc = InstrDocWriter(p) - text = doc.create() - h = pathlib.Path(os.path.splitext(f)[0] + '.html') - h = pathlib.Path(str(h).replace(mccode_config.directories['resourcedir'], mccode_config.directories['docdir'])) - if printlog: - print("writing doc file... %s" % h) - write_file(h, text, failsilent=True) + for fmt in formats: + ext, InstrW, CompW = _PER_FILE_WRITERS[fmt] + doc = InstrW(p) + text = doc.create() + # If md for an instr, filename is README.md + if fmt == 'md': + f = pathlib.Path(f).parent / "README.md" + h = get_doc_filepath(f, ext, outdir=outdir) + if printlog: + print("writing doc file... %s" % h) + write_file(h, text, failsilent=True) except: print("Could not work on instr " + str(i) + " of " + str(len(instr_infos)) + ": " + instr_infos[i].name) print(instr_infos[i].filepath) pass + +def write_overview_docs(comp_infos, instr_infos, comp_infos_local, instr_infos_local, + libdir, docdir, out_basepath, formats=('html',), printlog=False): + ''' Build and write the master overview page(s) in the requested formats. + out_basepath: path with extension that will be swapped (e.g. /.../mcdoc.html). + The extension is replaced per format. + ''' + formats = _normalize_formats(formats) + base, _ = os.path.splitext(str(out_basepath)) + results = {} + # Suppres TeX + for fmt in formats: + if not fmt=='tuple': + WriterCls = _OVERVIEW_WRITERS[fmt] + writer = WriterCls(comp_infos, instr_infos, comp_infos_local, instr_infos_local, libdir, docdir) + text = writer.create() + path = '%s.%s' % (base, fmt) + print("Docdir is " + docdir) + if out_basepath is not None: + if printlog: + print('writing master doc file... %s' % path) + try: + write_file(path, text) + results[fmt] = path + except Exception as e: + print('ERROR writing master doc file (%s): %s' % (fmt, e)) + else: + print('in-repo use, no master document') + return results + + def main(args): logging.basicConfig(level=logging.INFO) + # Resolve requested formats. HTML is always included so existing + # behaviour (browser-based viewing) is preserved. + if getattr(args, 'in_repo', True): + requested = [] + args.install=True + else: + requested = ['html'] + if getattr(args, 'md', False) or getattr(args, 'all_formats', False): + requested.append('md') + if getattr(args, 'tex', False) or getattr(args, 'all_formats', False): + requested.append('tex') + formats = _normalize_formats(requested) + usedir = mccode_config.configuration["MCCODE_LIB_DIR"] - docdir = mccode_config.directories["docdir"] + outdir = None + + if not args.outdir: + docdir = mccode_config.directories["docdir"] + else: + if not getattr(args, 'in_repo', True): + print("Outdir is meant for in-repo use only, e.g. for generating TeX manual snippets.") + quit() + docdir = args.outdir + outdir = args.outdir + mccode_config.directories["docdir"] = docdir if args.dir==None and args.install==False and args.searchterm==None and args.manual==False and args.comps==False and args.web==False: ''' browse system docs and exit ''' @@ -1004,17 +1647,20 @@ def main(args): print("using custom dir: %s" % usedir) comp_infos, instr_infos, comp_files, instr_files = parse_and_filter(usedir, recursive=True, printlog=args.verbose) - write_doc_files_or_continue(comp_infos, instr_infos, comp_files, instr_files, args.verbose) - - masterdoc = OverviewDocWriter(comp_infos, instr_infos, [], [], mccode_config.configuration['MCCODE_LIB_DIR'], mccode_config.directories['docdir']) - text = masterdoc.create() - - mcdoc_html_filepath = os.path.join(docdir,mccode_config.get_mccode_prefix()+'doc.html') - try: - write_file(mcdoc_html_filepath, text) - print("master doc file: %s" % mcdoc_html_filepath) - except Exception as e: - print('ERROR writing master doc file: %s', e) + write_doc_files_or_continue(comp_infos, instr_infos, comp_files, instr_files, + printlog=args.verbose, formats=formats, outdir=outdir) + if args.in_repo==False: + mcdoc_html_filepath = os.path.join(docdir, mccode_config.get_mccode_prefix()+'doc.html') + else: + mcdoc_html_filepath = None + written = write_overview_docs(comp_infos, instr_infos, [], [], + mccode_config.configuration['MCCODE_LIB_DIR'], + mccode_config.directories['docdir'], + mcdoc_html_filepath, + formats=formats, + printlog=True) + for fmt, path in written.items(): + print("master doc file (%s): %s" % (fmt, path)) elif args.dir != None or args.searchterm != None: ''' filtered and/or local results ''' @@ -1030,7 +1676,7 @@ def main(args): if args.dir is not None: usedir2 = args.dir f = os.path.join(usedir2, args.searchterm) - + # find matcing filenames instr_files, comp_files = utils.get_instr_comp_files(mccode_config.configuration['MCCODE_LIB_DIR'], True) comp_files = [f for f in comp_files if os.path.basename(f) == args.searchterm] @@ -1047,7 +1693,10 @@ def main(args): instr = re.search(r'[\w0-9]+\.instr', args.searchterm) comp = re.search(r'[\w0-9]+\.comp', args.searchterm) - docdir = mccode_config.directories["docdir"] + if getattr(args, 'in_repo', True): + docdir = mccode_config.directories["docdir"] + else: + docdir='' if instr: f_base = os.path.splitext(os.path.basename(f))[0] @@ -1055,7 +1704,7 @@ def main(args): f_html = os.path.join(docdir,'examples',f_class,f_base,f_base + ".html") info = InstrParser(f).parse() info.filepath = os.path.abspath(f) - write_doc_files_or_continue([], [info], [], [f]) + write_doc_files_or_continue([], [info], [], [f], formats=formats) subprocess.Popen('%s %s' % (mccode_config.configuration['BROWSER'], f_html), shell=True) elif comp: f_base = os.path.splitext(os.path.basename(f))[0] + ".html" @@ -1063,7 +1712,7 @@ def main(args): f_html = os.path.join(docdir,f_class,f_base) info = CompParser(f).parse() info.filepath = os.path.abspath(f) - write_doc_files_or_continue([info], [], [f], []) + write_doc_files_or_continue([info], [], [f], [], formats=formats) subprocess.Popen('%s %s' % (mccode_config.configuration['BROWSER'], f_html), shell=True) quit() # there were multiple matches - fall back to general search term mode @@ -1072,7 +1721,7 @@ def main(args): # system comp_infos, instr_infos, comp_files, instr_files = parse_and_filter(usedir, flter, recursive=True) - write_doc_files_or_continue(comp_infos, instr_infos, comp_files, instr_files) + write_doc_files_or_continue(comp_infos, instr_infos, comp_files, instr_files, formats=formats) # local comp_infos_local = [] @@ -1080,19 +1729,21 @@ def main(args): if args.dir != None: usedir = args.dir comp_infos_local, instr_infos_local, comp_files, instr_files = parse_and_filter(args.dir, flter, recursive=False) - write_doc_files_or_continue(comp_infos_local, instr_infos_local, comp_files, instr_files) + write_doc_files_or_continue(comp_infos_local, instr_infos_local, comp_files, instr_files, formats=formats) if len(comp_infos_local) + len(instr_infos_local) + len(comp_infos) + len(instr_infos) == 0: print("no matches found") quit() - masterdoc = OverviewDocWriter(comp_infos, instr_infos, comp_infos_local, instr_infos_local, usedir, mccode_config.directories['docdir']) - text = masterdoc.create() - - mcdoc_html_filepath = os.path.join('.', mccode_config.get_mccode_prefix()+'doc.html') - if args.verbose: - print('writing local overview doc file... %s' % mcdoc_html_filepath) - write_file(mcdoc_html_filepath, text) + if args.in_repo==False: + mcdoc_html_filepath = os.path.join(docdir, mccode_config.get_mccode_prefix()+'doc.html') + else: + mcdoc_html_filepath = None + write_overview_docs(comp_infos, instr_infos, comp_infos_local, instr_infos_local, + usedir, mccode_config.directories['docdir'], + mcdoc_html_filepath, + formats=formats, + printlog=args.verbose) subprocess.Popen('%s %s' % (mccode_config.configuration['BROWSER'], os.path.join('.',mccode_config.get_mccode_prefix()+'doc.html')), shell=True) @@ -1106,10 +1757,15 @@ def main(args): parser.add_argument('--comps','-c', action='store_true', help='open the component manual') parser.add_argument('--web','-w', action='store_true', help='open the '+mccode_config.configuration['MCCODE']+' website') parser.add_argument('--verbose','-v', action='store_true', help='prints a parsing log during execution') - - + parser.add_argument('--md', '-M', action='store_true', help='also emit Markdown (.md) doc files') + parser.add_argument('--tex', '-T', action='store_true', help='also emit LaTeX (.tex) doc files') + parser.add_argument('--all-formats', '-A', action='store_true', dest='all_formats', + help='emit HTML, Markdown and LaTeX doc files') + parser.add_argument('--in-repo', action='store_true', dest='in_repo', + help='Place generated output(s) next to comp files (no master doc page)') + parser.add_argument('--outdir', '-o', help='write generated results to this directory (in-repo use only)') args = parser.parse_args() - + try: main(args) except Exception as e: