The Spin Polarised Hot Neutron Beam Facility


CCSL is a library of subroutines for doing crystallographic and related calculations. It is designed not so much as a set of programs for determining and refining structures, for which several other systems are available, but as toolbox to allow the crystallography of non-trivial structures to be easily introduced into user programs.

The full documentation and download page can be found here.

The FullProf suite can be downloaded here.


A Matlab-based script is available on the instrument computer. All necessary steps are explained in the manual which can be downloaded here (pdf - 23 Mi)


Mag2Pol is a program for the analysis of single-crystal and powder diffraction data. Nuclear and magnetic structures can be refined from spherical polarimetry and flipping ratio data as well as from integrated intensities and powder patterns.  


(mp4 - 77 Mi)


Mag2Pol is distributed under the LGPLv3 (Lesser Gnu Public License version 3). A copy of the license text can be invoked from the About window within the program. The source code of the dynamically linked Qt libraries can be obtained here (zip - 1.52 Mi) (note that the original code was not modified). The QCustomPlot library can be downloaded here (zip - 225 Ki) or from The Eigen library was obtained here ( You can also consult the Privacy Policy (pdf - 34 Ki).

If this program was useful for analyzing and publishing your data, please cite it as J. Appl. Cryst. 52 175 (2019) 



    • intuitive GUI for setting up nuclear and magnetic structures
    • simple handling of magnetic domains
    • OpenGL widget for 3D view of structures including simple plot controls
    • calculation of structure factors (neutron or X-ray), flipping ratios and polarization matrices
    • refinement of nuclear and magnetic structures including the populations of unlimited magnetic domains and structural twins
    • correlated refinement using polarimetry data, integrated intensities and powder patterns with optional linear constraints
    • creation of reflection lists and intensity maps, powder patterns and magnetization density maps (also in 3D and for non-orthogonal systems)
    • supports 4-circle, normal-beam, minimum-tilt and cryocradle geometries
    • correction of polarization data for 3He spin-filter cell efficiency
    • simple creation of user-defined (magnetic) form factors as linear combinations of built-in ones
    • multipole expansion of magnetic form factors
    • absoprtion correction of integrated intensities for simple and arbitrary sample shapes
    • calculation of irreducible representations 
    • calculation of the spin-spin correlation function, the scattered intensity and the magnetic pair distribution function from an ordered magnetic structure or from a reverse Monte-Carlo simulation result from the Spinvert program
    • production of publication or poster quality figures
    • batch refinement of powder patterns with simple visualization of fit parameters as a function of temperature, composition or pattern number
    • pattern plotter (1D, 2D and 3D) also allowing simple manipulations of powder patterns (offsets, subtractions, etc...)
    • tables for crystallographic space groups, magnetic space groups and magnetic superspace groups including transformation and preview tools


    Mag2Pol has been successfully tested and used on different data sets, see for example Qureshi et al., Phys. Rev. B97, 064404 (2018), the corresponding example files can be obtained here (zip - 10.83 Ki).
    The refinement on flipping ratios using a multipole expansion of the magnetic form factor has been tested on the data set from Aronica et al., Chem. Eur. J.13, 3666 (2007), the example files can be obtained here (zip - 7.36 Ki).

    Further examples:


    The program is certainly not 100% bug free. In order to improve it, please send bug reports by email.

    A manual (pdf - 7.38 Mi) is included in the packages and can be accessed via the menu Help. See also the demo videos at the bottom of this page or on YouTube.

    Download and installation guide


    Mag2Pol can be downloaded for Windows (zip - 57 Mi), macOS (dmg - 48 Mi) and Linux [AppImage (appimage - 53 Mi) (only 64 bit) or Debian package (deb - 6.82 Mi) (only up to v3.0)].

    It is also available on the Mac App Store (...but the opening of files without a dialog is not yet functional due to the App Sandbox) .


    • Windows:
      execute vcredist_x64.exe (this will install the Visual Studio Redistributable packages, only necessary once)
launch Mag2Pol.exe (it has to stay in its folder with all necessary libraries)
    • macOS:
      open the dmg-file and drag the app to your Applications folder or wherever you want, right-click the app and click open
    • Linux:
      - AppImage (only 64 bit)
      Download and launch the AppImage.
      - Debian package (only up to v3.0)
      Download gdebi from a terminal: sudo apt-get install gdebi 
      Then install the debian package: sudo gdebi mag2pol_3.0.0-1_amd64.deb
      which will download the necessary libraries from the internet.
      Start the program by typing Mag2Pol


      If you want to be informed about future developments or bugfixes, you can subscribe to the Mag2Pol newsletter.

      v6.1 (March 2024)

      (mp4 - 150 Mi)

      • Download: Windows (zip - 57 Mi), macOS (dmg - 48 Mi), Linux (appimage - 53 Mi)
      • crystal and magnetic structures can now be visualized in perspective view
      • depth effects like fading and blurring for a more realistic aspect
      • Cell Animation tool allowing to direct short sequences of rotations and zoom on the structure for the creation of vivid clips for presentations
      • customizable color gradients for 2D maps in the app settings; shortcuts Alt++, Alt+- and Alt+I can be used to cycle through the different gradients and invert the color bar, respectively, from within the intensity maps and magnetization density windows
      • customizable pattern plot appearance in the 'Pattern' tab of the fit window; plot color settings can be set for light and dark mode separately
      • customizable render options: lighting and material settings can be modified for (un)selected objects in the structure plot; up to ten lighting profiles can be saved
      • improved quality in graphic export of crystal/magnetic structures
      • magnetic symmetry is now shown in the 'Sample info' window
      • clicking an atom or spin in the structure plot highlights the entry in the respective table
      • intensity map settings (hkl ranges, plane, layer, etc.) are now saved and applied at the next opening of the window
      • customizable unit cell edges radius
      • (hkl) labels in xy quick plots
      • shortcuts to invert atomic positions or spin components (highlight atom/spin followed by shortcut Alt+X, Alt+Y, Alt+Z, Alt+I for all three components)
      • basis transformation string is now included when exporting to *.cif file
      • tab key is now properly functioning in atom/spin tables in the fit window
      • play-pause buttons in multi-q window
      • possibility to visualize a multi-q structure from a single phase with q-domains
      • Bugfixes: fit result export with multiple SNP files; wrong warning that propagation vector does not match data in data reduction window (when changing lattice centering or when using fractions like 1/3 or 2/3); crystallographic space group and not magnetic space group was saved to *.xml file after loading from *.mcif file; no lattice constraints in main window when using MSG; fit results are cleared when converting to subgroup in order to avoid crash; first reflection in generated reflection list was missing; pattern axes were wrong when using INT + POW and SNP + INT + POW fit; pattern was not replotted after transferring propagation vector from propagation vector finder window; transferring a MSG from the spacegroup tables window to a structure with active irreps led to a crash when resetting the symmetry; the transfer of a MSG to the main window now unchecks the q != -q checkbox; added *.xys extention when relocating powder pattern files
      • Bugfixes 21/03 (v6.1.1): fixes a crash when 'Refine magnetic form factor with INT data' is checked and no magnetic atom is present; when generating reflection lists, some reflections with P_if = 0 or 1 were missing due to rounding precision; subwindows like data reduction or cell finder window are now included in 'gather open windows'
      • Bugfixes 22/03 (v6.1.2): fixes occasional shifts of 1 hour in loaded fli-file time entries for 3He cell correction
      • Bugfixes 08/04 (v6.1.3): fixes the bug introduced in v6.1.2 where the last fli-file entry was not read; GUI fix when using user-defined symmetry operators together with two irreducible representations, changed shortcut for visualizing unit cell plot in separate window from Cmd/Ctrl+Shift+F to Cmd+W
      • Bugfix 18/04 (v6.1.4): fixes an occasional crash when 'gathering open windows'
      • Bugfixes 17/05 (v6.1.5): corrections in the calculation of MSSG basis vectors (unnecessary phase, when Wyckoff position is not first of list; was not taking into account commensurate component, e.g. k = [0.5 0 delta]); bugfixes in the opening of MSSG mcif files from ISODISTORT and MSG mcif files from BCS; optional override of lattice/kvec system (right-click on 'Cell' or 'Propagation vector' label) in order to keep lattice/kvec constraints in powder refinement, when using a lower symmetry MSG/MSSG
      • Bugfix 21/05 (v6.1.6): tooltips of integrated intensities in the fit plot were not showing '+' or '-' when hovering over reflections with non-zero propagation vector

      (mp4 - 98 Mi)

      • Download: Windows (zip - 57 Mi), MacOS (dmg - 48 Mi), Linux (appimage - 52 Mi)
      • fit macros for an automated analysis of powder and/or single-crystal data. Up to 20 fit macros customizable by drag'n'drop of illustrative pictograms representing different fit parameter categories, each fit macro having up to 40 refinement steps. Fit macros can be chosen from a list in the fit and batch fit windows
      • indexing tool based on the successive dichotomy method; automatic peak search with simple slider as threshold; indexing options like crystal systems to include, maximal number of impurity reflections, search ranges and precision; visualize solutions as bar plots or as LeBail fits with possibility of refining offsets and peak profiles; space group analysis and optional output of reduced (Niggli) cells
      • multithreading for heavy calculations like refinements or indexing procedures allows the app to be responsive throughout the processes
      • new play/pause buttons above the unit cell plots for controlled rotations and zoom of the structure
      • new options and more flexibility in batch fits: fit flags can be set and refinements can be done for individual patterns or groups of patterns in a batch
      • single calculations of polarisation matrices for different polarisation and analysis axes (++, +-, -+, --) can be triggered in the main window by setting the respective signs on the initial polarisation and the cell efficiency (in the settings)
      • adapted the loading routine to the new Nomad output of fli files
      • export of m2p-files from simulated powder patterns
      • improved undo button which now restores the entire fit model ('refine nuclear' checkbox, constraints, isotropic/anisotropic atoms, number of background points, etc.)
      • LaTeX export of lattice constants with error bars (after powder fit)
      • possibility to mask individual atoms for the export of cleaner figures
      • raf-file import including UB matrix, lattice constants and wavelength
      • 'Full window' button is now an action in the 'View' menu
      • Bugfixes: fixes an eventual crash after the refinement process for structures with atomic positions like 1/3, fixes merging of data when correcting for 3He cell (bug introduced in v5.3), avoids crash due to overlapping excluded regions, change of x-axis in pattern editor now correctly works for multiple (TOF) files, extinction model is now taken into account for calculation of reflection lists and intensity maps, loading saved batch fit results now shows the correctly calculated patterns when opening the batch fit window
      • Bugfixes 16/10 (v6.0.1): magnetic structure factor was falsely calculated even when the twin law was not fulfilled; orientation fix of twins in SNP and FR calculations; improved output of symmetry operators and Wyckoff positions in the Space Group Tables window, when a space group was transformed to another centering (this also fixes eventual crashes when irreps are calculated for such a transformed setting); when the polarisation sign is changed for a data set within the fit window, the sign of the spin filter cell efficiency is also inversed internally (the in and output of the efficiency is always positive in the fit window)


      (mp4 - 62 Mi)

      • Download: Windows (zip - 55 Mi), MacOS (dmg - 46 Mi), Linux (appimage - 112 Mi)
      • Space group tables listing the symmetry operators and Wyckoff positions
      • Magnetic space groups and magnetic superspace groups
      • Space group transformation tools allowing to convert to any alternative setting and to adapt magnetic (super)space groups to their parent space group
      • Preview of the structural and magnetic degrees of freedom including deformation of bonds and polyhedra
      • improved loading of mcif-files concerning magnetic (super)space groups, better compatibility with files from the Bilbao Crystallographic Server and Isodistort
      • Better control of rounding erros: atomic positions like 0.33333 or 0.66667 etc. are now internally converted to 1/3 and 2/3, respectively
      • Bugfixes: corrected generation and visualization of k-domains; S-domains of magnetic structures created with the Irrep tool were not generated in the same way as for magnetic structures with user-defined symmetry operators; TOF data could not be loaded in the pattern editor; minor GUI fixes
      • Bugfixes 09/10 (v5.1.1): fixes the 'Add' function in intensity maps (bug introduced in v5.0); propgation vector components 0.333 and 0.667 are internally converted to 1/3 and 2/3, respectively; spin-correlation toolbar icon was not disabled when no magnetic ion was present; fixes wrong peak labels in simulated powder patterns (TOF instead of 2th and vice versa)
      • Bugfixes 16/10 (v5.1.2): fixes a crash which could occur when unchecking 'Refine nuclear' and starting a fit after re-entering the fit window; changing weight or wavelength of a dataset now shows the actual value in the input dialog; new guide to the eye (hkl planes)
      • Bugfixes 23/10 (v5.1.3): corrections in the symmetry transformation of the local reference in the multipole and orbital models; adapted Slater coefficients in orbital model to be equivalent to multipole model; bugfix in the visualization of multipoles in trigonal and hexagonal systems; GUI fix when multiple phases with origin/axes choices are present; irreducible representations are no longer saved in the xml-file when magnetic (super) space groups are used afterwards; fixes random numbers of observed peak intensities in powder patterns when calculated intensity is 0;
      • Bugfixes 13/11 (v5.1.4): fixes a crash on Windows when transforming MSGs or MSSGs; corrected mcif output of refined magnetic moments when multiple magnetic ions are present; minor bugfixes in previewing structures from 'Space group tables' for some centered structures; bugfix when generating symmetry operators for transformations to larger unit cells (>3)
      • Bugfixes 27/11 (v5.1.5): fixes a crash on Windows when using certain space groups with origin choice 1; corrected space group label when origin choice and transformation string are present (in space group tables and sample info); 30/11: fixed missing operator output (introduced 27/11) in space group tables and irreps window 
      • Download: Windows (zip - 57 Mi), MacOS (dmg - 48 Mi), Linux (appimage - 94 Mi)​​​​​​​   
      • New phase transition tool: Define multiple phases and then plot integrated intensities or polarization matrix elements across the different phases. This is useful to explain an observed temperature/field/pressure dependence or to prepare an experiment.
      •     Option to export (magnetic) form factors into a pdf or ASCII file
      •     Customizable toolbar buttons
      •     Option to create a supercell from a structure given in P1 symmetry
      •     'Subtract dataset' option in data reduction window is now also possible for *.sf and *.bra files
      •     wavelength-dependent incoherent scattering cross section for hydrogen (see manual)
      •     Bugfixes: Setting constraints under the 'Constraint' tab does not update the model parameters anymore (avoids unwanted overwriting and eventual crashes); If integrated intensity data contains a zero-valued sigma, it is now automatically set to 1 in order to avoid divisions by 0
      •     Bugfix 19/01 (v4.4.1): Fixes a crash when re-loading saved crystal frames for absorption correction (and adds new 'Hide crystal model' option)
      •     Bugfix 26/01 (v4.4.2): Constraints with 'various' moment moduli were falsely detected as error

      (mp4 - 177 Mi)   

      • New Rietveld refinement feature: single or correlated refinement of x-ray and neutron powder patterns, possible co-refinement with integrated intensities and/or polarimetry data. Implemented presets allow to select appropriate starting values for different configurations of ILL diffractometers. The live update of the calculated pattern with any manual change of parameters allows to quickly adapt e.g. the scale factor or lattice constants before starting the refinement. Background points and excluded regions can conveniently be drawn and edited. Results have been validated against FullProf using numerous datasets.
      •     Batch fit of a series of powder patterns using one (magnetic) structure model. The observed and calculated patterns can be visualized by scrolling through the list of loaded files. A refined parameter can easily be plotted against temperature, composition or pattern number with a single click. Multiple parameters can be drawn against the left or right y-axes in the same plot.
      •     Pattern plotter for the visualization of powder data. Powder patterns can be offset, added or subtracted. A series of patterns can be plotted in 1D, 2D and even 3D, e.g. for the vizualization of thermodiffractograms.
      •     New weight triangle for the graphical selection of weight factors for correlated refinements
      •     Simple constraints between (sets of) parameters can now be set conveniently by evoking a context menu (right-click on the parameter label).
      •     Cones visualizing the spin envelope can now optionally be plotted for conical magnetic structures
      •     Improved calculation speed of error values
      •     Convergence criterium eps was changed from smallest relative parameter shift Delta to Delta/(eps*esd) < 1  (esd = estimated standard deviation); small corrections and better performance in the way standard deviations are calculated
      •     Improved ‘view results’ and ‘export results’ functions
      •     Option to convert a structure to P1
      •     Added the option not to merge Friedel pairs for non-centrosymmetric structures in the data reduction window
      •     Added magnetic form factors for rare-earth elements
      •     Possibility to hide the unit cell axes or to plot less than the 1st unit cell in order to focus e.g. on particular layers in a structure
      •     The tutorial videos at the bottom of this website are now linked to the enhanced manual.
      •     Bugfixes: the intensity of -q satellites for half-integer propagation vectors where +q is equivalent to -q was wrongly calculated; numerous GUI bug fixes related to multiphase xml files; plot of fit results with SNP data was sometimes erroneous; atom sizes of additional atoms in bonds and polyhedra were wrong; 180 degree angles between spins were sometimes shown as nan (after shift-clicking two spins); cross-section type and purely magnetic scattering was not set when integrated data was re-loaded; bug fix in the refinement of nuclear structure parameters together with SNP data; OpenGL contents were sometimes not drawn when first initialised (e.g. first drawing of unit cell, ADP ellipsoids); bug fixes related to constraints when various constraints and multiphase structures were involved; small corrections as to how the calculation of intensity maps is handled when multiple phases are present; anomalous dispersion parameters were not saved when form factor values were entered manually and not as a linear combination of implemented elements
      •     Bugfixes 02/09 (v4.0.1): new 'merge Friedel pairs' option for non-centrosymmetric space groups was not taken into account until it was re-checked or the space group was changed; upon changing a magnetic moment parameter in the fit window the powder pattern was not modified unless the magnetic structure was described using the irrep tool; lattice parameter c was not refinable for trigonal space groups in hexagonal setting when lattice constraints are active
      •     Bugfixes 10/09 (v4.0.2): mixed refinements including powder data followed by removing the powder data (either by setting the POW weight to 0 or deleting the pattern) led to a crash; domain and twin populations are now automatically unchecked and disabled when a powder-only refinement is done (like the scale and extinction parameters when no integrated intensity data is present)
      •     Bugfixes 15/09 (v4.0.3): fixes a bug in the Windows version where exported figures had a black background; fixes a problem with coordination polyhedra correctly shown in the main window but not in full-window, spin-correlation and multi-q mode; the deletion of a background point without modifying any parameter afterwards led to 'nAn' fit iterations; resolves a crash when the batch-fit window was opened after a standard fit procedure (i.e. in the same session)
      •     Bugfixes 20/09 (v4.0.4): fixes a crash when entering the fit window with more than one integrated intensity file (bug introduced in v4.0); fixes a crash when hovering the mouse over the peak labels in the pattern simulation window (bug introduced in v4.0); several GUI elements (e.g. domain window button, basis vectors button, box boundaries) are disabled at the start of the program to avoid crashes; single peak calculations could lead to a crash when at least one non-magnetic and at least one magnetic phase was present; constraints between different powder patterns are now deleted when the respective pattern file is deleted in the data tab of the fit window; if INT data is completely removed in the fit window it is now saved to the *.xml file

      (mp4 - 145 Mi)   

      • huge graphic update: significantly improved performance due to the use of vertex/fragment shaders and instancing, face culling, etc.; antialiasing through multisampling, correct transparencies due to back-to-front rendering,
      •     improved export of graphics allowing to create publication and poster quality figures
      •     new feature: generate and plot bonds and polyhedra and customize their appearance
      •     new coordinate axes instead of colored cell edges
      •     smart legend automatically showing the atoms or sites which are drawn in a different style
      •     spin envelopes can now be drawn with an envelope edge, split sites can optionally show the occupations by drawing atoms with two colors
      •     multiple cell edges can be drawn optionally and the plot automatically recenters, when the boundaries are changed
      •     light position can be adjusted by Alt-dragging the scene
      •     object resolution can be adjusted to either increase the rendering performance or the plot's details
      •     perspective shortcuts to view a structure along the direct or reciprocal axes; perspective and zoom as well as the cell boundaries are now saved in the xml file
      •     3D maps of the reciprocal space and magnetization density; this feature is particularly interesting for non-orthogonal systems
      •     support for all monoclinic setttings listed in the International Tables Vol. A; space groups with origin choices and trigonal space groups with rhombohedral or hexagonal axes settings will now open a combo box from which to choose
      •     improved click & select feature now highlights the selected object in a different color
      •     bugfix in saving the magnetic symmetry operator 'u-v'
      •     bugfix in re-saving loaded prefactors of basis vectors of the irreducible representations
      •     bugfix in the calculation of powder patterns: intensities of magnetic peaks were ignored, when the nuclear peak is forbidden and the propagation vector is 0
      •     bugfix in loading certain *.cif formats created by Vesta
      •     bugfix 03/11: axis labels were not exported in 3D maps
      •     bugfix 10/11: IN22 numors can now be converted into a fli file as well as 1-point scans (no background correction); matrix elements with negative incident polarisations had the wrong sign
      •     changes in the description of magnetic domains: Symmetry operators not in the little group will complex conjugate the Fourier coefficients and invert the phase in the magnetic domain. For an inversion domain (-x -y -z) the check box 'chiral' should therefore no longer be activated.
      •     added the 'minimum tilt' geometry as used e.g. on D10, added further 'blind reflection actions' and fixed a few bugs in the angle calculation concerning softlimits
      •     bugfix in the use of basis vectors, where the phase was not correctly applied
      •     bugfix in the load routine of xml files, where the refinement flags of twin and domain populations was not correctly read

          implementation of absorption correction for special sample shapes (see demo video below)
          crystal model utility for indexing limiting faces of the sample
          DPI scaling for Windows machines with high-resolution screens
          mouse sensitivity settings for OpenGL widgets
          adjustable font size
          constraints in the middle of the list can now be deleted by rightclicking the parameter to be constrained
          more decimals in constraint summand
          bugfix when viewing or exporting fit results of integrated intensities and flipping ratios
          bugfix in the plot of fit results (obs and cal axes were inverted)
          bugfix in determining if twin's (hkl) is integer +/- k

      •     added the option to refine on purely magnetic intensities (no changes are necessary in the description of the nuclerar/magnetic structure, the nuclear structure factor will simply be ignored)
      •     in the data reduction window it is now possible to subtract a second (high temperature) data set, missing reflections can either be ignored or set to zero (see manual)
      •     bugfix in the manual deletion of (hkl) reflections (view data table) in the case of integrated intensities
      •     bugfixes in the export to an *.int file from a *.col file
      •     user-defined form factors and scattering lengths are now saved before the Atoms section in the *.dat file (for backward compatibility modify the *.dat file manually)
      •     reflection lists are generated with a maximum Fn/Qm of 100 (instead of 10)
      •     bugfix for constraints, when various constraints are used with nuclear and magnetic refinement

      (mp4 - 105 Mi)

      • Download: Windows (zip - 56 Mi), MacOS (dmg - 46 Mi), Linux (appimage - 114 Mi)
      • local susceptibility tensor approach allowing to analyse materials with an anisotropic response to different directions of an applied magnetic field. The site symmetry of the magnetic ion is taken into account and tensor element constraints are automatically set. The results using this feature have been validated against the CCSL thanks to a data set provided by Constable et al. (to be published).
      • possibility to load multiple flipping ratio data or polarimetry files with different experimental conditions
      • spherical coordinates for magnetic moments with seamless conversion from and to Cartesian coordinates
      • Becker-Coppens extinction correction and isotropic version of ShelX-like model
      • lambda/2 correction for single-crystal data
      • new Crystal Calculator tool allowing to calculate distances, angles, cross products and matrix multiplications/inversions. Vectors can be defined in different bases, which allows to calculate e.g. the spin components according to the cross-product of two Q vectors or the angle between a spin and a crystal or diffractometer axis.
      • new quick XY plot feature to rapidly view different quantities from within the data reduction or fit window, e.g. observed or calculated magnetic structure factors as a function of scattering angle or the instrument resolution curve based on the refined profile parameters.
      • special atomic positions can now be entered by choosing from a Wyckoff site list which is evoked by right-clicking the atom label
      • possibility to create a corrected data set after using the on-the-fly absorption and/or Becker-Coppens extinction correction (i.e. peak-specific beam path length calcuation)
      • new reflection list layout and criteria; propagation vector star is now taken into account
      • smart copy-paste feature to copy rows, columns or an entire UB matrix as well as atomic positions and spin directions for guides to the eye or within the Crystal Calculator
      • extended fit results table as well as flipping ratio data reduction statistics
      • conversion of muPAD data to a *.fli file
      • output of the beam path for single (hkl) calculations in the main window (requires a user-supplied convex-hull model)
      • gather windows option when windows go missing after the use of external screens;
      • unused basis vector coefficients are automatically disabled in the fit window (depending on the number of available basis vectors)
      • improved loading routine for xysigma powder data (including files with *.xys extension); improved legend appearance for elements sharing the same site
      • the change of wavelength in the data reduction window now refreshes the reflection table and the absorption coefficient
      • batch fit plot parameters now include chisq and Rf values
      • removed real and imaginary part from quick constraints, when using basis vectors
      • (un)check all right-click menu is now evoked from the table header, not anymore from the checkbox
      • set moments vertical now automatically adds magnetic symmetry operators under the Symmetry tab
      • click on atom/spin label highlights the object in the unit cell plot
      • Bugfixes: the last refined scale factor value was not correctly transferred under certain circumstances; incorrect magnetic unit cell generation for magnetic ions sharing the same site within a magnetic (super) space group; absorption correction used integer (hkl) even for reflections with a non-zero propagation vector; the basis transformation of a space group was not taken into account in the data reduction window; very small scale factor fix e.g. for synchrotron powder data; small correction as to how the beam path length is calculated (does not affect conventional absorption correction, only on-the-fly correction); when adding a new phase, the eventual basis transformation is reset to identity in that phase
      • Bugfix 09/05 (v5.3.1): fix for the batch fit feature (bug introduced in v5.3); batch fit results loaded from files created with version 5.3 or earlier may not display correctly, the batch needs to be run and saved again with v5.3.1


      (mp4 - 58 Mi)

      • Download: Windows (zip - 58 Mi), MacOS (dmg - 51 Mi), Linux (appimage - 122 Mi)​​​​​​​
      • Time-of-flight Rietveld refinement
      • Site symmetry detection of anisotropic displacement parameters which internally sets the necessary constraints between the tensor entries
      • Propagation vector star and configuration domains allowing the analysis of all kinds of domain structures
      • Unlimited number of domains and twins for the analysis of the most complex problems
      • Further magnetic form factor models: sum of radial integrals and orbital expansion
      • Magnetic form factor plot comparing apherical and spherical models, revised magnetization density plot
      • Fit result visualization as function of sinth/lambda or peak #
      • Tabulated j2/j4/j6 magnetic form factor coefficients
      • Data reduction and export features for flipping ratio data
      • Improved constraints concerning twin and domain populations (possibility to constrain to the first domain/twin while asserting sum = 1)
      • Output of unit cell volume and normalized weight fraction in powder refinement
      • Improvement of stability and performance: more robust against model changes between refinement steps (insert/delete atom, domain, twin or whole mode), faster fitting especially for multipattern
      • Bugfixes: multiple split sites in the irreps attribution led to a crash; twin calculation was skipped when population of first twin was 0; locating powder pattern after load error could lead to truncated patterns; resolved crash when single-crystal data for multi-wavelength fit could not be opened
      • Bugfixes 13/07 (v5.0.1): resolves cif-opening bug introduced in v5.0, multi-phase cif files can now be opened (only 1st is read for the moment), fixes a crash when opening a new xml file and plotted domain number was > 1, fixes erroneous loading of user constraints for certain multi-phase xml files
      • Bugfix 18/07 (v5.0.2): propagation vector components 0.333 and 0.667 are now interpreted as 1/3 and 2/3 in the irreps calculation
      • Bugfixes 21/07 (v5.0.3): boundaries in intensity maps were not behaving correctly; spins were missing cones in the unit cell plot, if they were preceded by zero-valued spins in the list; split sites were in some cases scrambled in the unit cell plot
      • Bugfixes 31/07 (v5.0.4): fixed a crash when adding second INT data file and constraints are present under the 'Constraint' tab; improved data reduction for non-zero integer propagation vectors and centered cells; corrected small fit plot details

        v4.3 (December 2021)

        • Download: Windows (zip - 57 Mi), MacOS (dmg - 47 Mi), Linux (appimage - 92 Mi)   
        • New option to visualize the correlation matrix and the covariance matrix after the refinement process.
        • Bugfixes: standard deviations between 0.5 and 1 were rounded to 1 by mistake; certain special sites in centered space groups were not recognized; stylesheet fix in 'view results' window

        v4.2 (December 2021)

        (mp4 - 106 Mi)

        • Download: Windows (zip - 57 Mi), MacOS (dmg - 47 Mi), Linux (appimage - 92 Mi)   
        • Re-design of the app: custom designed GUI elements for a unified cross-platform appearance, color themes and dark mode
        • UB matrix tool to refine the orientation matrix for any instrument configuration or to quickly calculate it from two vectors. A 3D model shows the sample orientation within the diffractometer and how it is rotated for a particular Bragg reflection.  
        • On-the-fly absorption correction option allowing to refine the occupation of a strongly absorbing element while correcting absorption effects.
        • 3D guides to the eye (arrows, planes, boxes, labels, spirals, sine waves etc.) to highlight peculiarities of nuclear and magnetic structures
        • Improved cif/mcif compatiblity and cif/mcif export
        • Detection of site symmetries: optional warnings in the main window if an atomic position is too close to a special Wyckoff site; constraints for special Wyckoff sites are now automatically set, e.g. for sites like (x 2x z), (x x+1/2 z) etc.
        • Automatic update check allowing to be notified of new Mag2Pol versions or bug fixes
        • Optional atomic labels in the unit cell plot
        • Shortcuts to quickly assign colors to the same kind of atoms
        • 'Replace data' option for *int files and powder patterns for a seamless workflow between different datasets using the same structure model
        • Bugfixes: powder patterns with non-equal data steps are now treated correctly; crash fix for 2D plots in the pattern editor when no temperatures were read but manually modified; crash fix when modifying the appearance of a 3D map plot; empty-line bugfix in the loading routine of *.sf and *.fsq files; magnetic atom list in the 'Spins' tab was not shown correctly when switching between phases (although the unit cell plot and structure factors were correct); fixed a GUI problem when selecting polyhedra colors; removed isotope cations and anions from the list of available elements (can be defined by the user as a new element if necessary); corrected light reflection for transparent planes; first magnetic domain is now always considered in powder patterns even when its population is 0; bugfix when going from one space group with origin choice to another; wavelength and vertical direction are now re-read when clicking the 'Go' button (no need to re-generate the cell); the background of the OpenGL widget in the faces window is now visible when no frames are loaded (color can be changed as well)

        (mp4 - 61 Mi)   

        • New spin-correlation tool which calculates the spin-spin correlation function, the scattered intensity and the magnetic pair distribution function of either an ordered magnetic structure or a reverse Monte Carlo simulation result from the Spinvert program. The spin correlations can be viewed interactively between the linked 2D and 3D plots.
        •     Possibility to visualize multi-q structures, e.g. conical or fan-like structures
        •     Copy nuclear or magnetic structure tables (among others) to the clipboard and paste them in LaTeX format
        •     Re-design of the app: new toolbars with concise icons for more rapid access to the most important menu entries as well as dockable widgets for a customizable main window, new splash screen and app icon
        •     Customizable appearance of coordinate axes and legend
        •     Standard deviations from fit results are now saved in the xml file. The fit results can also be viewed in the ’Sample info’ tool.
        •     New ‘Open recent’ menu
        •     Bugfixes in the simulation of powder patterns of multi-q magnetic structures
        •     Bugfix 21/01 (v3.3.1): fixes a problem with the 'Open recent' menu
        •     Bugfixes 02/02 (v3.3.2): fixes loading of multi-wavelength files; deleting/adding magnetic atoms sorted in between nuclear atoms in the atom list caused problems (also when transferring irreps form the irrep window); fit flags are now reset when the number of (magnetic) atoms is changed in order to prevent crashes; bugfix in splitting sites in irreps calculation; split sites are now drawn with bonds and polyhedra if enabled; domain symmetry was not taken into account when using irreps; the parameter names in 'Pick various' were wrong when basis vectors are used; bugfix in loading fit results (Iy was not recognized)
        •     new feature: calculation of irreducible representations for an easy setup of magnetic structure models. The results have been validated against BasIreps and REPRES (note that the definition of the magnetic phase and the translation part of symmetry operators is not identical)
        •     new feature: generation of powder patterns for x-rays or neutrons with plotting of total, nuclear or magnetic contribution individually (see demo video below)
        •     new feature: generation of magnetization density maps. Projections, cuts and slices can be shown in different planes of the unit cell and compared between calculated models and oberved flipping ratios
        •     new feature: handling of multiple phases, e.g. for co-existing magnetic phases or powder patterns
        •     new feature: TAS data converter to condense 3-point Q scans with multiple polarization channels into a single *.fli file (contributions from A. Stunault)
        •     new feature: calculation of Schwinger flipping ratios resulting from the neutron-spin neutron-orbit interaction for non-centrosymmetric crystal structures. See our recent article for more information about Schwinger scattering for the determination of absolute crystal chiralities.
        •     further new features: constrained lattice parameters depending on the space group; 1st twin/domain population is automatically updated; more aesthetic output text in the main and fit window which is better structured and therefore easier to read; possibility to show the polarization matrix of the currently selected magnetic domain
        •     minor bugfix in the handling of twin populations
        •     bugfix 24/08: accepting changes in the 'Phases, domains and twins' window was overwriting structural paramaters of one phase
        •     bugfix 27/08: standard deviations of constrained parameters were overestimated

        v2.3.2 (March 2019)

        •     fixes a bug introduced in v2.3 where the calculation of the local coordination system was changed in order to visualize it correctly (in the previous versions the axes of the last twin were shown together with the unit cell of the first twin)
        •     possibility to specify the azimuth angle for single calculations in 4-circle geometry  
        •     (hkl) indices can be calculated from given angles by right-clicking any angle value

        v2.3.1 (March 2019)

        •     Bugfix in the xml file loading routine (magnetic moments were not correctly loaded for magnetic atoms listed after non-magnetic ones)

            visualization and fitting of anisotropic displacement parameters
            COLL5 output *.fsq files are now supported for integrated intensity data
            check all / uncheck all option for refinement flags of atomic parameters (right-click on checkbox)
            blanks in file names for automatic data loading are now supported
            bugfix for non-initialized fit parameters (randomly checked boxes in fit window)
            bugfix for undo function
            when nuclear and magnetic structures were refined simultaneously the phase of the last magnetic atom was not taken into account correctly

        v1.5.2 (June 2018)

        •     fixed a bug which showed the Multipoles tab in the Fit window without having loaded a *.fli file
        •     added the magnetic phase to the fit output text
        •     correctly removes nuclear parameters in the constrained parameters list, when unchecking 'refine nuclear structure'

        v1.5.1 (June 2018)

        •     fixed a bug which led to a crash, when saving the *.dat file on Windows and Linux machines

        v1.5 (June 2018)

        •     improved constraints for complex magnetic structures: Mr1 can be constrained to Mi2 for example, real and imaginary parts are constrained to be perpendicular if non-zero and non-parallel, etc...
        •     introduction of an 'Undo' button in the fitting routine, which permits to go back step by step when the refinement diverges or becomes worse
        •     bugfix in the generation of reflection lists in cryocradle geometry
        •     bugfix in the generation of intensity maps concerning the vertical component of the propagation vector

        (mp4 - 71 Mi)

        • Download: Windows (zip - 56 Mi), MacOS (dmg - 46 Mi), Linux (appimage - 112 Mi)
        • Group-to-subgroup transformation in 2 clicks to all possible maximal non-isomorphic subgroups (type I, IIa, and IIb) and maximal isomorphic subgroups of lowest index (type IIc) including conversion of lattice and atomic parameters as well as generation of split sites
        • redesigned powder pattern simulation tool allowing to interactively follow the changes in the powder pattern and in the visualised crystal/magnetic structure at the same time, when structural parameters are modified
        • new powder neutron diffractometers SPODI@FRM2 and HB-2A@ORNL
        • powder patterns can be plotted against scattering vector Q and d-values in fit window, powder simulation window and pattern editor
        • propagation vector finder assists in indexing magnetic satellites directly from within the fit window. Peak position indicators can interactively be clicked, moved and deleted, based on which initial guesses and subsequent refinements of propagation vector components are carried out
        • LeBail refinement for nuclear and/or magnetic contributions to powder pattern
        • Intensity maps in real and reciprocal space can be plotted for custom planes defined by two vectors. In addition, editable integration masks can be drawn and moved over the map
        • Magnetization density can be exported into volumetric data grid files, which can be read by other programs (e.g. Vesta)
        • batch refinements can now be saved to and reloaded from the xml file
        • secondary phases can be loaded from another xml file or from a cif file
        • customizable font sizes in 1D/2D plots
        • magnetic moment value is shown in the spin info and in the fit results (together with the standard deviation in the latter case)
        • added tooltips for basis vectors in the fit window to keep track of the coefficients
        • xml-file name is shown in the title of the sample-info window
        • a warning for non-physical fit parameters is shown in the fit output
        • warning when fit parameters were not saved before closing the fit window
        • Wyckoff position info for alternative monoclinic settings 
        • Bugfixes 05/02 (v5.2.1): fixes a crash when previewing alternative monoclinic settings in the space group tables; fixes the operator syntax check and occasional transfer crash in space group tables on Windows; resets the basis transformation of a newly added empty phase; adding a 2nd phase from a file and saving was overwriting the 2nd xml/cif file 
        • Download: Windows (zip - 57 Mi), MacOS (dmg - 44 Mi), Linux (appimage - 94 Mi)​​​​​​​
        • New features for the reduction of single-crystal data
        • Option to apply a transformation matrix to the (hkl) indices, e.g. for cell conversions
        • Added scattering angle and sorting capabilities to the (hkl) list
        • Search for a particular reflection using Ctrl/Cmd+Shift+F
        • Bugfix: calculated Rint was too small, when data contained unrepeated reflections without equivalents
        • Bugfix 17/02 (v4.5.1): disabled special positions were re-enabled after setting a simple constraint via a right-click context menu; bugfix in the 'all magnetic parameters' quick constraint; different magnetic ion on same atomic position is no longer excluded from the irreps calculation
        • Bugfix 21/02 (v4.5.2): powder pattern parameters were not updated in GUI after fit (bug introduced in v4.2); improved compatibility for ICSD and BCS cif/mcif files; data file strings were not displayed correctly in the different tabs of the fit window after delete/replace data; File->Reset action now closes all additionally opened windows and also clears the fit data file paths
        • Bugfixes 12/05 (v4.5.3): precision error bugfix when fitting atomic positions for (x 2x z) sites; error in constraints was in some cases wrongly signalled (e.g. 'define at least 2 parameters'); bugfix in the attribution of irreps when more than one split site is present; bugfix in the calculation of flipping ratios and polarization matrices for twins; fixes the wrong parameter attribution when an atom was switched from or to 'aniso' in the fit window; single integrated intensity data file was not correctly flagged as 'purely magnetic' after reloading in fit window; fixes the bug when fitting a magnetic model after going back from irreps basis vectors to xyz components; user-defined magnetic symmetry operators were overwritten when multiple magnetic phases were present; new feature: space groups by numbers, e.g. 139# for I4/mmm
          •     New option to export the powder pattern in the 'Pattern' tab of the fit window into an ASCII file. The calculated pattern is further separated into its different contributions, i.e. individual phases, nuclear scattering, magnetic scattering, background.
          •     New option to export the refined and plotted parameters of a batch refinement into an ASCII file.
          •     Bugfixes and improvements concerning intensity maps, both in 2D and 3D.
          •     Bugfix 29/09 (v4.1.1): the automatic check of constraints in the 'Constraints' tab led to a crash when fit flags were wrongly set and only powder data was loaded
          •     face culling is now turned on for transparent objects for improved aesthetics
          •     transparent bi-color bonds are now drawn correctly (colors were switched before)
          •     magnetic moments with amplitudes smaller than the cone length were pointing in the opposite direction in the unit cell plot
          •     bugfix in the absorption correction for spherical and cylindrical sample shapes (bug introduced in v3.0).
          •     new feature: treatment of X-ray data including atomic form factors for all elements and ions as well as wavelength-dependent anomalous dispersion part (see example), for individual calculations the source can be set in the settings menu
          •     new feature: treatment of multiple integrated intensity data sets, e.g. two neutron data sets taken with different wavelengths (see example)
          •     new feature: atomic positions, bond distances and angles as well as angles between spins can be obtained from the unit cell plot by clicking or shift-clicking the respective objects (see manual)
          •     bugfix: standard deviation was not correctly calculated for *.int-files containing structure factors and for *.sf-files
          •     bugfix in the calculation of flipping ratios for non-orthogonal systems
          •     nuclear structure parameters can now be refined against flipping ratio data
          •     fixed wrong sorting of reflections in reflection lists
          •     after the changes in description of magnetic domains in v2.3.3 the 'chiral' checkbox has been redefined to only complex-conjugate the Fourier coefficients and not to invert the phase
          •     improved undo-function, when different fits (fit matrices, fit intensities, fit both) are done
          •     bugfix: imaginary part of scattering lengths may not have been taken into account properly
          •     improved zoom and pan behaviour
          •     bugfix in the plot of ADP ellipsoids (zoom etc. not working)
          •     bugfix: fit flags for isotropic temperature factors were wrongly placed on the occupation factors
          •     bugfixes 16/07: twin and domain populations were not taken into account in FR calculation; labels in OpenGL widget were scrambled; constrained extinction parameters led to crash when fitting
          •     updates 17/07: improved load function for *cif files (basic parameters of files generated by ICSD and Vesta); option to include forbidden reflections in Rint calculation
          •     bugfix 20/07: atom and spin labels were not shown for positions, distances and angles after bugfix 16/07
          •     bugfixes 26/07: fit parameters were incorrectly saved/loaded in some cases; 'view data' button led to crash when no dataset was selected initially; Data reduction window is again shown on top, when opening the fit window with e.g. a *.col file
          •     inclusion of instrument definitions for generic angle calculations, especially for sample orientations with respect to absorption correction. Instrument angles are also shown for single calculations in the main window
          •     added xml-file support for more flexible loading/saving of parameters especially with respect to future compatiblity between versions
          •     bugfixes in absorption correction, the present version has been validated against AVEXAR of the CCSL (see Mag2Pol manual for comparison)
          •     distribution of integration points is now according to Gaussian integration procedure (see manual)
          •     added the scattering lengths of all isotopes including their incoherent scattering cross sections which is now included for the calculation of the linear absorption coefficient
          •     the crystal faces model can now be saved and loaded (only in xml format), the correct aspect ratio of the frame can be set by right-clicking the frame and selecting 'Adjust size'
          •     atoms in the 'Magnetic form factor list' can now be ordered alphabetically, by element name or by atomic number (by right-clicking the combo box)
          •     support for *.sf and *.bra files from ARRNGE and RETREAT outputs
          •     bugfix in the *.cif loading routine
          •     bugfix for some Linux systems where atoms would not be recognized
          •     Linux version is now also distributed as an AppImage, which should run on all Linux distributions (only 64 bit)
          •     shortcut to align magnetic moments along vertical instrument axis (by right-clicking the label 'z axis')
          •     flipping ratio *.fli files with 14 columns can now be opened as well
          •     maximum number of atoms increased to 40
          •     added anisotropic temperature factors (the possibility to refine and visualize them will shortly follow in v2.1)
          •     added plot controls in settings menu allowing to select which objects to draw
          •     local reference axes can be drawn, when using multipoles
          •     improved OpenGL rendering (especially for spherical harmonics)
          •     added all kinds of symmetry operators for the selection of magnetic domains (necessary when q=0 or the magnetic structure has high symmetry)
          •     all 4 SNP cross sections can now be read from the *.fli file (e.g. Pxx, Px-x, P-xx and P-x-x)
          •     bugfix in the constraint of Mr and Mi being perpendicular (when non-zero phase is defined)
          •     context menu allowing to choose between different irreducible representations now correctly opens for all magnetic sites
          •     bugfix in saving polarization matrices to a *.fli file (the flipping ratio R was not calculated and saved)
          •     bugfixes in the calculation of the magnetic form factor from multipole expansion
          •     much faster performance when refining multipoles
          •     corrected Cu form factors in the form factor table
          •     bugfix when basis vectors were used with two irreducible representations and more than one magnetic domain; furthermore, the variable switching between basis vectors and xyz components was eventually not initialized

              absorption correction of integrated intensities for spherical and cylindrical sample shapes
              introduction of user-defined basis vectors for the description of magnetic structures (for backward comptability add a line containing two zeros after '// Basis vectors ...' in the *.dat file)
              bugfix in the calculation of integrated intensities for non-orthogonal cells (polarization matrices were not affected)
              bugfix in the calculation of standard deviations of merged reflections during the data reduction of integrated intensities

          Demo Videos

          The screenshot videos to the right demonstrate the main procedures used in Mag2Pol, from setting up a structure model to applying absorption corrections and refining two data sets simultaneously.


          The input and data files for the video tutorials can be downloaded here below. 

          Introductory courses

          The first series of online introductory courses on Mag2Pol took place in October 2022.