Main Page

From Tobyfit
Jump to: navigation, search

Tobyfit: Legacy version - now replaced by Horace - fitting of resolution broadened models to data from time-of-flight chopper spectrometers

Fit plot
Example plot of fit (red), data (green) and background (blue) from Tobyfit

Introduction

Tobyfit is a program for simulation and least squares fitting of single crystal neutron scattering data. The original single processor software provided its own command line driven interface. In this enhanced version a flexible Matlab based GUI interface is provided which allows easy display and selection of data and parameters to be fitted along analysis of the results. In addition it provides a job management layer to submit and run the fits on remote grid resources and local machines. The fitting code itself has been parallelised to exploit both multi-core local machines and large MPI based clusters. This allows fitting of complex models to the very large data sets that are being generated on newer instruments.

An example of the fitting output for a 1D cut is shown in the Figure to the right.

Initial installation

Installation of the enhanced version of Tobyfit requires Matlab and access to grid resources to gain the full benefit of large scale computing. Without grid access it is still possible to use the software but only running on the local host. This may not be a problem if the local host is a poweful multicore machine.

System requirements

  • Operating systems: Windows XP 32/64, Windows 7 32/64 or Linux 64 bit (ubuntu, RHEL 6 and 7).
  • Matlab version 7.1 or later with Java 1.5 or later. Note - on Linux systems there is an issue with globus job submission under Matlab R2012b. For now an earlier version of matlab is required for globus jobs. Matlab R2012a is recommended.

Using only local job submission Matlab R2015b does work with Tobyfit on Linux systems, though a modiifcation is required to add a new javaclasspath.txt file.

  • For local host support on Windows: Intel Fortran V9 or later and MPICH2.
  • For local host support on Linux systems: gfortran and OpenMPI.
  • Recommended hardware: Dual core Intel or AMD x86 or x86-64 processor with 2GByte memory, 500Mbytes free disk space.

Detailed installation instructions

The installation guide for Windows systems is available here: tobyfit windows install.

The Linux installation guide is available here: tobyfit linux install.

Updating an existing installation

If you have already installed Tobyfit recently and just wish to update to the latest version of the GUI you can follow the instructions tobyfit update page.

Running Tobyfit

Once the software has been installed it can be started by running Matlab and entering the command "tobyfit". Some simple examples of using Tobyfit are given here: tobyfit examples. For full details on running the program see the tobyfit userguide.

Benchmark tests for Tobyfit

A small set of test scripts have been defined. These can be run to test the server code when it is rebuilt with a new compiler or when changes are made to the code. These scripts also help demonstrate how the command line interface can be used to automate running simulation and fitting operations.

Details of these tests are in Reference test scripts.

Notes on recent changes

Notes on recent changes to Tobyfit are given in tobyfit developments.

FAQ

Common problems with installing and using Tobyfit are discussed in the following FAQ pages.

For developers

The Isis SVN server holds the latest version of the Matlab GUI software. You need to be a registered user to access this SVN repository.

To build a distribution version of Tobyfit you can extract the package tf_dist from the SVN. This is a set of directories and a Makefile which will build a zip from the current SVN version of the GUI. Note that this requires Gnu make and command line svn and zip. To build a clean version without unwanted .svn directories you should do "svn export https://svn.isis.rl.ac.uk/Tobyfit/trunk/tf_dist tf_dist". Then go into the new directory and do make default to build the latest version.