Major new features
Improved dipole-dipole implementation using the dipole tensor (by Andrea Meo)
Implemented generic Dzyaloshinskii-Moriya interactions and Neel pair anisotropy
Beta CUDA and OpenCL acceleration (single card only) (by Oscar Arbalaez, Matt Ellis, Razvan Ababei, Sam Westmoreland and Sam Morris)
Support for parallel and binary I/O for supercomputing systems and ARCHER (Rory Pond)
New vampire data converter (vdc) utility for generating POVRAY/xyz files from spin configurations
Minor feature enhancements
Feature: Added initial support for non-magnetic atoms
Feature: Added implementation of ferromagnetic resonance fields and program with customizable field strength, frequency and direction
Feature: Added implementation of lateral and vertical temperature gradients
Feature: Added support for core-shell voronoi films
Feature: Added functions for creating random alloy distribution representing grain segregation of certain materials
Feature: Added shape factors to truncated octahedron generation code to allow elongated crystals
Feature: Added function to generate faceted nanoparticle with tunable 100,110 and 111 facets
Feature: Added Monte Carlo preconditioner to generate realistic spin state for thermalised LLG simulations
Feature: Added support for CSG operations with multi-atom unit cells
Feature: Added support for exponentially decaying exchange interactions
Feature: Added support for generic vectorial exchange interactions
Feature: Added 3D bubble-type crystallisation model with unable crystallisation radius
Feature: Added implementation of spin torque field
Feature: Added new archer target for makefile for compiling on ARCHER
Feature: Added option for rocksalt (NaCl) structure
Feature: Added support for precision control of magnetization data output with output:precision = and output:fixed-width input file flags
Feature: Implemented Neel anisotropy with site specific origin and pair wise constants
Feature: Implemented generic Dzyaloshinskii-Moriya interactions
Feature: Added capability for processing normalised exchange values from ucf files
Feature: Implemented working checkpoint feature for loop-based programs
Code Enhancements
Added support for double precision numbers of time steps, numbers of steps up to 10**12 and new limits for incremental variables to avoid infinite loops.
Added initial implementation of local uniaxial anisotropy fields
Added improved error reporting for seriously malformed material files
Improved error messages for reading unit cell file interaction list errors
Completed utility for generating framework files for new vampire modules
Changed default licence for new code to Free BSD
Added header timing function for more accurate timing of i/o routines
Removed warnings for missing variables and signed/unsigned comparisons and added debug option for llvm compiler
Removed deprecated C++ MPI bindings
Added vampire manual to source repository
Added function to calculate exchange fields and eliminated double negative in constant
Implemented parallelisation of exchange interaction verification and improved messages to log file
Added flag to enable bulk Neel pair anisotropy calculation
Modified parallel random number seeds to avoid correlation between different processor ranks for sequential seeds.
Made githash and version information available in info header, and added information to output and log files for easier reproducibility
Bugs squashed
Bugfix: fixed allowable time step increment to be 1 to prevent infinite loop
Bugfix: Changed input file reading of certain large numbers to use float by default with casting to int
Bugfix: Fixed Segmentation fault using global demagnetizing field calculation with new statistics calculation
Bugfix: Added missing implementation of spherical harmonics energy calculation for Monte Carlo simulations
Bugfix: fixed compilation of alloy.cpp on older compilers
Bugfix: fixed random crash in alloy code
Bugfix: moved small correction factor in crystal generation to small lattice offset to prevent duplicate atoms in large scale parallel simulations.
Bugfix: Corrected implementation of two temperature pulse calculations to include realistic pump power parameter (now specified in mJ/cm^2)
Bugfix: Added explicit required compiler support for c++11 for header file
Bugfix: Implemented fix from Joe Barker to cmc for materials with different moments to prevent small drift of direction of m
Bugfix: Fixed bugs in checkpoint restart for hysteresis and modified Curie temperature program in order to restarted from old temperature with checkpoint
Bugfix: fixed initialization bug found by cherishsir
Bugfix: now initializing material susceptibility with material magnetization
Bugfix: Added missing factor 0.5 in exchange energy calculation
Buxfix: Added 1/2 factor to magnetostatic energy
Bugfix: fixed sign error in 4th order cubic anisotropy and added comment in uniaxial field for clarity
Bugfix: Applied patch from Andrea Meo fixing Slonczewski field and parallel compilation error