Öffnet in neuem Fenster Opens in a new window Öffnet externe Seite Opens an external site Öffnet externe Seite in neuem Fenster Opens an external site in a new window

Abteilung Mikrostruktur- und Eigenspannungsanalyse

nxs - eine Programmbibliothek für die Berechnung von Neutronenwirkungsquerschnitten

nxsPlotter - vergrößerte Ansicht

nxsPlotter: eine graphische Benutzeroberfläche für nxs.

Eine Sammlung/Bibliothek von in C geschriebenen Routinen für die Berechnung von Neutronenstreu- und Absorptionsquerschnitten für Polykristallin-/Pulvermaterialien auf der Grundlage der Zusammensetzung einer kristallographischen Einheitszelle.

Autor: Mirko Boin, boin@helmholtz-berlin.de

p.s.: nxs ist nicht Nexus! ;-)

Einführung

Die nxs-Bibliothek zur Berechnung von Neutronenstreu- und Absorptionsquerschnitten bietet eine Reihe von C-Strukturen und Funktionen zur Berechnung wellenlängenabhängiger Querschnittswerte für polykristalline/pulverartige Materialien. Die Definition eines Materials wird durch die Zusammensetzung einer Einheitszelle (NXS_UnitCell) dargestellt. Eine Einheitszelle wird aus der Angabe einer Raumgruppe und ihrer Einheitszellparameter erzeugt. Für solche Zwecke ist hier die SgInfo-Routine von Ralf W. Grosse-Kunstleve enthalten. Sowohl monoatomare Materialien als auch multiatomare Verbindungen werden durch Hinzufügen von NXS_AtomInfo-Atominformationen und -eigenschaften erzeugt. Die Bibliothek bietet auch eine Lese- und Speicherroutine zum Zusammensetzen von Einheitszellen aus nxs-Parameterdateien.

Howto

Das untenstehende Beispiel zeigt, wie man schnell die Bibliotheksroutinen zur Initialisierung einer Einheitszelle und zur Berechnung einiger Querschnitte verwendet.

NXS_UnitCell uc = nxs_newUnitCell();
int numAtoms = nxs_readParameterFile( nxsFileName, &uc, &atomInfoList);
if( numAtoms > 0 )
{
  int i=0;
  nxs_initUnitCell(&uc);
  for( i=0; i<numAtoms; i++ )
  nxs_addAtomInfo( &uc, atomInfoList[i] );
  nxs_initHKL( &uc );
  double lambda=0.1;
  for( lambda=0.1; lambda<4.0; lambda+=0.1 )
  {
    printf("%f\n",nxs_Absorption(lambda, &uc ) );
  }
}

Parameterdateien

Currently, nxs provides routines to read and save nxs parameter files of one particular kind. It is a human-readable, INI-like, file format to store the necessary information for the compositon of a crystallographic unit cell. An example of NaCl is given below:

#
# This is an nxs parameter file
#

# define the unit cell parameters:
#   space_group                      - the space group number or Hermann or Hall symbol [string]
#   lattice_a, ...b, ...c            - the lattice spacings a,b,c [angstrom]
#   lattice_alpha, ...beta, ...gamma - the lattice angles alpha,beta,gamma [degree]
#   debye_temp                       - the Debye temperature [K]
space_group=225
lattice_a=5.64
lattice_c=4.95
lattice_alpha=90
debye_temp=320

# add atoms to the unit cell:
# notation is "atom_number = name b_coh sigma_inc sigma_abs_2200 molar_mass x y z"
#   name           - labels the current atom/isotope  [string]
#   b_coh          - the coherent scattering length [fm]
#   sigma_inc      - the incoherent scattering cross section [barns]
#   sigma_abs_2200 - the absorption cross sect. at 2200 m/s [barns]
#   molar_mass     - the Molar mass [g/mol]
#   x y z          - the Wyckoff postion of the atom inside the unit cell
#
# e.g.: add_atom = Fe 9.45 0.4 2.56 55.85 0.0 0.0 0.0

[atoms]
add_atom=Na 3.63 1.62 0.53 22.99 0.0 0.0 0.0
add_atom=Cl 9.577 5.3 33.5 35.45 0.5 0.5 0.5

 

Copyright

nxs - neutron cross sections (c) 2010-2014 Mirko Boin

Die nxs-Bibliothek umfasst die SgInfo-Bibliothek, deren kostenlose Nutzung durch den folgenden Hinweis gewährt wird:

Space Group Info (c) 1994-96 Ralf W. Grosse-Kunstleve. Hiermit wird die Erlaubnis erteilt, diese Software und ihre Dokumentation für nichtkommerzielle Zwecke und ohne Gebühren zu nutzen und zu verteilen, vorausgesetzt, daß der obige Copyright-Vermerk in allen Kopien erscheint und daß sowohl dieser Copyright-Vermerk als auch dieser Genehmigungshinweis in der Begleitdokumentation erscheinen. Es ist nicht erlaubt, diese Software in irgendeiner Weise zu verkaufen. Diese Software ist nicht gemeinfrei.

Literaturhinweise

Hauptveröffentlichung:

Anwendungen mit nxs:

Die nxs-Bibliothek wurde in einer Vielzahl von Anwendungen eingesetzt, z.B. Neutronensimulation für Instrumentenentwicklung, Experimentplanung und Datenanalyse. Einige Beispiele sind unten aufgeführt:

nxs Simulation - vergrößerte Ansicht

Neutronen-Bragg-Kantenmessungen und -simulation (unter Verwendung von nxs innerhalb von McStas) einer texturierten Al-Probe.

  • "Validation of Bragg edge experiments by Monte Carlo simulations for quantitative texture analysis"
    Boin, M.; Hilger, A.; Kardjilov, N.; Zhang, S.Y., Oliver, E.C.; James, J.A., Randau, C. & Wimpory, R.C. (2011). J. Appl. Cryst. 44, 1040-1046, doi: 10.1107/S0021889811025970
  • "Time-of-flight neutron imaging at a continuous source: Proof of principle using a scintillator CCD imaging detector"
    Strobl, M.; Hilger, A.; Boin, M.; Kardjilov, N.; Wimpory, R.; Clemens, D.; Mühlbauer, M.; Schillinger, B.; Wilpert, T.; Schulz, C.; Rolfs, K.; Davies, C. M.; O'Dowd, N.; Tiernan, P. & Manke, I. (2011). Nucl. Instrum. Methods Phys. Res., Sect. A 651, 149-155, doi: 10.1016/j.nima.2010.12.121
  • "Monte Carlo simulations for the analysis of texture and strain measured with Bragg edge neutron transmission"
    Boin, M.; Wimpory, R.C.; Hilger, A.; Kardjilov, N.; Zhang, S.Y. & Strobl, M. (2011). J. Phys.: Conf. Ser. 340, 012022/1-12, doi: 10.1088/1742-6596/340/1/012022
  • "Geant4 based simulations for novel neutron detector development"
    Kittelmann, T.; Stefanescu, I.; Kanaki, K.; Boin, M.; Hall-Wilton, R. & Zeitelhack, K. (2014). J. Phys.: Conf. Ser. 513, 022017, doi: 10.1088/1742-6596/513/2/022017
  • "A new transmission based monochromator for energy-selective neutron imaging at the ICON beamline"
    Peetermans, S.; Tamaki, M.; Hartmann, S.; Kaestner, A.; Morgano, M. & Lehmann, E. H. (2014). Nucl. Instrum. Methods Phys. Res., Sect. A 757, 28-32, doi: 10.1016/j.nima.2014.04.033