The Chilton Group

Magnetism, Spectroscopy, Theory


About PHI

PHI is a computer program designed for the calculation of the magnetic properties of paramagnetic coordination complexes. PHI is written in FORTRAN 90/95 and has been tested on Windows, MacOS and Linux. The source code, pre-compiled binaries, the user manual and tutorial material are available for download below. Please refer to the User Manual and Installation Guide for further information.

PHI
Nicholas F. Chilton
email: nfchilton@gmail.com

PHI is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PHI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

We request that any results obtained through the use of PHI are accompanied by the following reference: N. F. Chilton, R. P. Anderson, L. D. Turner, A. Soncini and K. S. Murray J. Comput. Chem. 34, 1164-1175 (2013).

Change Log

PHI v3.1.6

  • Fixed "Crashing after making an input error" bug
  • Fixed “Orbit angular momentum can’t be 0” input bug
  • Updated data checking in EPR residual calculation
  • Sx,Sy,Sz,Lx,Ly,Lz matrix elements now printed in opmode sim L
  • Fixed bug in MPI setup
  • Re-implemented old method of printing coupled states in Approx mode
  • Numerous small fixes

PHI v3.1.5

  • *sigh* - fixed hopefully the last bug in uncertainties calculation
  • Fixed a bug with the PDF report feature

PHI v3.1.4

  • Fixed another bug in uncertainties calculation

PHI v3.1.3

  • Fixed bug in uncertainties calculation

PHI v3.1.2

  • PHI now allows simulation and fitting of the full magnetic susceptibility tensor
  • g-factor calculation now only performed in Approx mode if all sites do not share the same local g-factor (save a lot of time!)
  • Uncertainties now calculated using the Hessian of the Residual function
  • Commands in ****SOCoupling block now overwrite all predefined quantities from ****Ion block for that site
  • Fixed bug using FitTolerance command
  • Fixed numerous small bugs

PHI v3.1.1

  • Fixed bug in the printing of Sx, Sy, Sz, Lx, Ly, Lz matrix elements in states output, that caused crashes on MacOS

PHI v3.1.0

  • Added axial integration scheme
  • Fixed bug in highprec mode for Zeeman calculations

PHI v3.0.9

  • Fixed bug where zJ could be fit even without a susceptibility calculation
  • Fixed bug on MacOS where blank data points were read as zeros

PHI v3.0.8

  • Fixed bug where FitLimit and NoPrint were incompatible

PHI v3.0.7

  • Fixed bug where FitLimit was inoperable
  • Minor updates and bug fixes

PHI v3.0.6

  • Final output of fit now printed in .best file
  • Bug in very low temperature MCE calculation fixed
  • Minor bug fixes

PHI v3.0.5

  • Minor bug fixes

PHI v3.0.4

  • PHI is now licensed under GPLv3
  • New integrated GUI
  • Native to MacOS
  • GUI directly receives data in memory
  • GUI handles plotting directly
  • Recent files available
  • Settings saved between sessions
  • Automatically checks for updates on launch
  • Save plots as PDFs
  • Runs in parallel mode by default
  • Magnetic susceptibility defaults to M/H (use 'differential' keyword in ****Params block to revert to differential susceptibility)
  • Uncertainties for fit parameters can be calculated with 'uncertainties' keyword in ****Params block
  • Fit algorithm can now be terminated at user specified iteration count or threshold change in residual
  • EPR Zeeman diagrams and transitions optionally visualised for any orientation
  • Strain introduced into EPR simulations
  • EPR voigt line shape defaults as Lorentzian
  • Anisotropic EPR linewidths now allowed
  • Different EPR types allowed for different frequncies
  • Impurities added to heat capacity
  • Progress bar shows progress of calculation
  • Nuclear 'ion types' for hyperfine coupling
  • Comment flags now accepted: ! or # or / as the first character of a line are not read by PHI
  • Spin projection coefficients derived from the ITO 'approximation mode' are now printed
  • Linear or logarithmic sweeps of independent variables
  • Various minor bug fixes

PHI v2.1.6

  • Various minor bug fixes

PHI v2.1.5

  • Fixed bug which prevented fitting of zJ and TIP

PHI v2.1.4

  • StaticB field now included in calculated properties
  • Various minor bug fixes

GUI v2.1.4

  • Minor bug fix: plotting engine crashed when x and y data were of different lengths

PHI v2.1.3

  • Unknown energy levels can be included in levels.exp
  • Approx mode now quicker when all g-factors are the same
  • Minor bug fix: Deallocation bug in Approx mode now fixed

GUI v2.1.3

  • Minor bug fix: .res files were deleted when a fit was finished

PHI and GUI v2.1.2

  • Minor bug fix to the fitting algorithm, which mistakenly implemented lower limits when not requested
  • Minor bug fix to the GUI, where final fitting results were not plotted

PHI and GUI v2.1.1

  • Major bug fix to the approximation mode, which affected large spin systems

PHI and GUI v2.1 (complete internal re-write)

  • Calculation of heat capacity
  • Fit any combination of observables (including EPR)
  • Faster code
  • Fixed handedness bug in rotation of anisotropic g-tensors and CFPs (note: this means the beta angle for CFPs (not g-tensors) is now negative compared to previous versions)
  • Upper and lower bounds on fit parameters
  • Multiple EPR frequencies and temperatures now supported
  • Unification of input specification
  • Intermediate spins given for Approx mode
  • Correct g-factors for spin multiplets in Approx mode
  • 'Save survey' option to keep all results

PHI and GUI v2.0

  • Fixed approximation mode incorrectly determined ferromagnetic spin state (since v1.9 only)
  • Corrected a bug in the use of the Lines exchange with the |J,mJ> basis of the Lanthanides - only affected calculations using the Ln(J) ion types with non-zero exchange interactions
  • Allowed the application of intermolecular interactions using the zJ formalism to anisotropic systems. Also corrected the units altered the formalism (see manual)
  • PHI now checks if a single magnetic field direction is specified in error (see ****Params keyword 'Single' in manual)
  • Added ability to fit EPR spectra (not yet in conjunction with other observables)
  • Added integrated absorption mode to EPR calculation
  • ****Params keyword 'GDir' now applies to the g-value residuals themselves and not just their orientations
  • Added option to modify the vigour of the fitting algorithms
  • Altered the implementation of magnetic impurities (see manual)
  • Altered ordering of the inclusion of TIP, zJ and impurities (see manual)
  • Single direction magnetic fields in the ****Params, ****Zeeman and ****EPR blocks can now be given as vectors or in polar coordinates
  • 'StatcB' field now included in the printout of Matrix Elements ('OpMode Matrix Elements')
  • Bug fix to the calculation of J-mixing in the states.res output
  • Other minor PHI and GUI bug fixes

PHI and GUI v1.9

  • Corrected calculations of polymetallic systems containing Co(II) when modelled with the T,P equivalence method
  • Corrected the inclusion of paramagnetic impurities for anisotropic systems
  • Fixed a large memory leak in the GUI (source of frequent crashes)
  • Zeeman plots now achieved with "OpMode Sim Z" and the ****Zeeman block - please see documentation for further details
  • Added a new Report feature to the GUI
  • Added Reduced Magnetization plot to GUI
  • Hotkeys for Execute (F5) and Abort (Esc.) in GUI
  • Information regarding matrix memory requirements is now given with the "Coupling Report" OpMode
  • Plot legends now draggable in GUI
  • Minor GUI bug fixes
  • Minor PHI bug fixes

PHI and GUI v1.8

  • Parallel processing support for Windows and MacOS (please read Installation Guide for details)
  • Magnetism calculations revised to be more stable and over 1.5 times faster
  • Antisymmetric exchange implemented
  • EPR intensities corrected
  • Altered the determination of pseudo-doublets for the calculation of g-tensors
  • Revised printing of fit iterations
  • Legend added to plots in GUI
  • Some minor bug fixes

PHI and GUI v1.7

  • Binaries for Windows, Linux and MacOS now available
  • Addition of basic EPR capabilities
  • Added mean-field 'zJ' intermolecular exchange model to Approx mode
  • Anisotropic exchange and rotation of the exchange reference frame now supported
  • Altered behaviour of powder averaging: now maximum of xyz for powder susceptibility
  • g-tensors can now be defined for all pseudo-doublets - PHI determines these automatically
  • Fixed some IO error handling
  • Some minor bug fixes

PHI and GUI v1.6

  • Standalone GUI/PHI bundle for Windows allows the use of the GUI with no need for a Python environment
  • Simulation of the magnetocaloric effect (MCE) now available: use 'opmode sim c'
  • Surveys can now print observable quantities not just error residuals: the first line in the ***Survey block must now be either 'residual', 'm(i,j)', 's(i,j)' or 'c(i,j)', where i and j are the i-th field and the j-th temperature for the calculation. m, s and c represent magnetization, susceptibility and magnetocaloric effect, respectively
  • Magnetic field directions now specified by 'field' command in the ****Params block. i.e. 'field z' for z direction, 'field xyz' for principal axes averaging or 'field powder N' for ZCW powder averaging where N is the ZCW level (N >= 0)
  • A handful of small bug fixes