1c_basic_details - WatsonGroupTCD/J2suscep GitHub Wiki
This code has been written in FORTRAN 2008 and has two executables – ej_calc_form and ej_calc_spin. The calculation of coupling constants using spin densities requires the use of both executables and the execution of ej_calc_form should be followed by execution of ej_calc_spin. Each executable requires two input files – one specifying the Hamiltonian for the system under study (.inp file) and another that contains the definition of spin operator (i.e. the spin density) for each paramagnetic centre and the energy of the system in the given spin state.
The executable ej_calc_form makes use of formal spin values to determine the j-values while ej_calc_spin uses the actual value of spin operators for the same purpose. This has been done because the value of spin operators are generally not whole numbers and it is difficult to identify singular sets of equations without the use of whole numbers. Since the actual values of spin operators are generally not far off from the nearest whole number, it is highly unlikely that the use of spin operators will remove the singularity. ej_calc_form produces 4 output files – a .out file containing the coupling constants and 3 other files – bigg, nrg_frm_jval_formal and singul. ej_calc_spin produces 2 output files - a .out file containing the coupling constants and nrg_frm_jval_spin. The details about the coupling constants is printed in the .out file. Information contained in the other files is described in the following discussion.
One starts by executing ej_calc_form which rounds the spin operator values to the nearest whole number and uses the corresponding whole number as the value of the spin operator. It identifies which sets of equations are singular, discards them and stores information about these sets in the file ‘singul’. In rare occasions, equations are encountered which are close to singularity thereby leading to absurd (non-infinite) solutions. To keep note of these equations, details are printed in the file ‘bigg’. The criteria to identify such equations has been set such that any coupling stronger than 50 cm-1 is considered too big. These solutions are not discarded as in some cases coupling constants can be quite large. If, however, they are outliers, they will be removed eventually since at the end, only those solutions will be considered valid which lie within 3 standard deviations of the average value as mentioned previously. ej_calc_spin reads the ‘singul’ file generated by ej_calc_form and calculates the solutions for only the sets that were found to be non-singular by ej_calc_form.
The files nrg_frm_jval_formal and nrg_frm_jval_spin contain the approximate energy of the all possible 20.5x states (x = number of paramagnetic centres). The energy is calculated using the Heisenberg Dirac van Vleck Hamiltonian (Ĥ = -2 ∑i>j Jijsisj). [Heisenberg], [Dirac], [Vanvleck] The spin operators for all the states are defined by taking the average of the value of spin operator for each paramagnetic centre that was provided as input. Since the variation of the value of spin operators in different spin states is small, the energy obtained this way serves as a reasonable approximation to the actual energy of these states. The true energies of all spin states can, of course, be obtained by diagonalising the full Hamiltonian. Since this diagonalisation becomes computationally quite expensive for large systems, the method employed in this code provides an inexpensive way to obtain a decent approximation of the energy of these states.