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).

**Windows**

**MacOS X**

**Linux**

**Source Code and Documentaion**

**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,m
_{J}> 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