Nexus
The Nuclear Elastic X-ray scattering Universal Software (Nexus) is a Python package for simulating and fitting of
Moessbauer spectra
nuclear resonant scattering (NRS) data
pure electronic X-ray reflectivities (XRR)
nuclear X-ray reflectivities (nXRR)
polarization dependent electronic scattering.
Its C++ implementation offers fast calculations and dedicated fit algorithms to simulate modern type of Moessbauer or nuclear resonant scattering experiments. The object-oriented approach offers high flexibility to combine an arbitrary number of objects in the beam path, to define arbitrary samples and to calculate the complete electronic and nuclear response of the experiment.
Nexus has been developed in need to fit multiple measurements in parallel and to simulate, design and evaluate complex experimental setups as realized in nuclear quantum optics. One of the big problems was that different software tools had to be used for different purposes, like fitting of NRS experiments, fitting of reflectivities, getting theoretical values from calculations, or using different theoretical models. Often the models were not consistent, like different treatment of certain parameters (surface roughness for example) in the different software tools. Not all experimental conditions were fittable with the available software tools. Nexus is designed to unite and extend the different strengths of the other software tools in one package to consistently evaluate experiments found in Moessbauer science.
Nexus offers several features that are useful in the evaluation of any kind of experiments:
An easy to use and install Python package.
Only one software package and interface for all kinds of applications in Moessbauer science.
The Python interface makes Nexus totally integrable in Python workflows like experiment/sample design, data plotting, data evaluation, simulating, fitting, and so on.
Full quantum theory of the nuclear transitions including all multipole and mixed transitions known in Moessbauer isotopes.
Transfer matrix formalism for the photon field propagation for complete determination of the scattered radiation field.
High performance due to parallel C++ implementation and dedicated C++ math libraries.
Modern non-linear optimization algorithms for reliable and flexible fitting.
Combined fitting of multiple measurements and experiments.
Automatized parameter optimization for experiment design.
Large documentation, curated software.
For more information go to the Introduction.
There will be more features under development depending on user request:
Calculations of time dependent phenomena in the time and space picture [Shvydko].
Stochastic relaxation phenomena.
Scattering from gratings.
Scattering from crystals.
GUI.
- Introduction
- Installation
- What Nexus calculates
- Scattering geometry
- Tutorial
- Hello Nexus
- Plotting
- Beam
- Moessbauer isotope
- Material
- Hyperfine parameters
- Hyperfine parameter distributions
- Layer
- Sample
- Multilayers and Nexus references
- Effective density model
- Thickness and divergence distributions
- Analyzer
- Fixed Object
- Conuss Object
- Experiment
- Measurements
- Measurement types
- Energy Spectrum
- Amplitude Spectrum
- Moessbauer Spectrum
- Emission Spectrum
- Time Spectrum
- Time Spectrum Amplitude
- Electronic properties of the experiment
- Fields inside a sample
- Reflectivity and Transmission
- Reflectivity and Transmission Amplitudes
- Nuclear Reflectivities
- Energy Time Spectrum
- Energy Time Amplitude
- Integrated Energy Time Spectrum
- Notebooks
- Time dependence
- Modules and Libraries
- Data processing
- Fitting and Optimization
- Quantum mechanics and nuclear transitions
- Scattering functions and the refractive index
- Examples
- API Reference
- Object Classes
- Measurement Classes
Measurement
FitMeasurement
AmplitudeSpectrum
AmplitudeTime
EmissionSpectrum
Amplitudes
Matrices
JonesVectors
Intensities
EnergySpectrum
EnergyTimeAmplitude
EnergyTimeSpectrum
FieldAmplitude
FieldIntensity
IntegratedEnergyTimeSpectrum
MoessbauerSpectrum
NuclearReflectivity
NuclearReflectivityEnergy
Reflectivity
ReflectivityAmplitude
TimeSpectrum
Transmission
TransmissionAmplitude
- Optimization Classes
- Modules
- Libraries
- Functions
- Whats new?
- Software
- Bibliography
- Partners
- License and citation
- Legal Notice