3.46 Magnetic Response: Nuclear Magnetic Resonance and Magnetizability

FHI-aims is capable of perturbatively calculating the response of a molecular system to a magnetic field. The magnetic field can be either external or that associated with the magnetic moments of atomic nuclei. The functionality is currently restricted to non-periodic geometries.

Please also consult the key reference that describes the magnetic response functionality in FHI-aims, including detailed basis set convergence studies and recommendations: Ref. [184].

Currenty functionality includes:

  • Nuclear magnetic shielding tensors and the spin-spin coupling tensors, which are the central parameters in nuclear magnetic resonance (NMR) spectroscopy;

  • The magnetizability tensor, which is the proportionality between the induced magnetic moment and the magnetic field. It can be thought of as the magnetic analogue of the polarizability;

  • Electric field gradient (experimental).

References:

  • Raul Laasner, Iuliia Mandzhieva, William P, Huhn, Johannes Colell, Victor Wen-zhe Yu, Warren S. Warren, Thomas Theis, Volker Blum, Molecular NMR shieldings, J-couplings, and magnetizabilities from numeric atom-centered orbital based density-functional calculations, Electronic Structure 6, 027002, https://dx.doi.org/10.1088/2516-1075/ad45d4 – FHI-aims implementation [184].

  • Martin Kaupp, Michael Bühl, and Vladimir G. Malkin, editors, Calculation of NMR and EPR Parameters: Theory and Applications, Wiley-VCH, Weinheim, Germany, 2004 — A comprehensive treatment of general theory and applications.

  • V. Sychrovsky et al., Nuclear magnetic resonance spin-spin coupling constants from coupled perturbed density functional theory, J. Chem. Phys. 113, 3530 (2000) — Nonrelativistic J-couplings in DFT.

  • G. Schreckenbach and T. Ziegler, Calculation of NMR Shielding Tensors Using Gauge-Including Atomic Orbitals and Modern Density Functional Theory, J. Phys. Chem. 99, 606 (1995) — Standard theory of GIAO shieldings in DFT.

  • T. Helgaker et al., Nuclear shielding constants by density functional theory with gauge including atomic orbitals, J. Chem. Phys. 113, 2983 (2000) — GIAO GGA correction (shieldings only).

The basic parameters of a magnetic response experiment are a collection of electron spins, 𝑺=i𝑺i, nuclear spins, 𝑰=i𝑰i, and an external magnetic field 𝑩. Considering all possible couplings between these parameters, the fully general effective Hamiltonian has the form

HS=H(𝑺,𝑺)+H(𝑺,𝑰)+H(𝑺,𝑩)+H(𝑰,𝑰)+H(𝑰,𝑩)+H(𝑩,𝑩). (3.232)

We have not explicitly considered coupling to the electron orbital angular momentum, 𝑳=i𝑳i, whose effects are assumed to be incorporated into the electronic wavefunction. Based on which terms are dominant in a given spectroscopy, we can partition the Hamiltonian (3.232) as follows:

  • The NMR nuclear spin Hamiltonian:

    HNMR=H(𝑰,𝑩)+H(𝑰,𝑰)=A𝑩(1σA)𝝁A+A>Bh𝑰A(DAB+JAB)𝑰B, (3.233)

    where σA are the nuclear shielding tensors, DAB and JAB are the direct and indirect spin-spin coupling tensors, 𝑰A is the nuclear spin of atom A, and 𝝁A=γA𝑰A is the corresponding nuclear magnetic dipole moment.

  • The EPR spin Hamiltonian:

    HEPR=H(𝑺,𝑺)+H(𝑺,𝑰)+H(𝑺,𝑩). (3.234)
  • The effective Hamiltonian describing the second order response to an external magnetic field:

    HMag=12𝑩ξ𝑩, (3.235)

    where ξ is the magnetizability tensor. For a closed shell molecule, it describes the lowest order response of the energy to an external magnetic field.

The magnetic response parameters can be expressed as mixed second derivatives of the total electronic energy with respect to the external magnetic field and the magnetic moments,

σA=2E(𝑩,𝝁)𝑩𝝁A|𝑩=0;𝝁=0,JAB=γAγB2π2E(𝑩,𝝁)𝝁A𝝁B|𝑩=0;𝝁=0,ξAB=2E(𝑩,𝝁)2𝑩|𝑩=0;𝝁=0, (3.236)

where 𝝁 denotes the collection of all magnetic moments. In the first of Eqs. (3.236), the total energy should not contain the classical nuclear Zeeman term. The derivatives are, to a very good approximation, taken at zero values of 𝑩 and 𝝁, which allows us to consider only the linear response of the system.

In time-independent second-order perturbation theory, the general expression for a property X is

X=iocc[ψi|HMN|ψi+2ReψiM|HN|ψi], (3.237)

where |ψi are the unperturbed wavefunctions, |ψM are the first-order wavefunctions with respect to the perturbation M, and HM and HMN are the first and second derivatives of the Hamiltonian. The derivatives are calculated at zero values of the perturbation (𝑩 and/or 𝝁). The total number of terms depends on the type of perturbation. For instance, in case of J-couplings, the paramagnetic part is a sum of three separate terms, HN=HFC𝝁A+HPSO𝝁A+HSD𝝁A, which are listed below.

Density functional perturbation theory

The first-order wavefunctions are calculated according to density functional perturbation theory (DFPT) (also called coupled-perturbed Kohn-Sham or coupled-perturbed Hartree-Fock). The DFPT steps are the following:

  • Update the self-consistent first-order Hamiltonian:

    Hσ(1)(𝒓)=HNSC,σ(1)(𝒓)+[vxc,σ[n]nσnσ(1)(𝒓)+vxc,σ[n]nσnσ(1)(𝒓)]n=n(𝒓)+HHa(1)nσ(𝒓), (3.238a)

    where HNSC(1) is the non-self-consistent part of the first-order Hamiltonian, vxc,σ is the xc-potential, HHa(1) is the first-order Hartree potential, and nσ(1) is the first-order density. First-order Hartree potential is computed only for an open-shell system and vanishes otherwise. For a closed shell system, only nσ(1) in Eq. (3.238a) is updated, the rest need not be calculated more than once. In fact, the xc-kernel, which depends only on the unperturbed density, is the same for any perturbation and is calculated only once during the entire calculation. In Eq. (3.238a), only the LDA contribution is shown, but GGA and hybrids are also available. Note that for purely imaginary operators the perturbed density vanishes, which means that in LDA and GGA there is no contribution from the xc-kernel and it is sufficient to perform only a single DFPT step (this is the sum-over-states approach). With hybrids or Hartree-Fock, this does not hold because while the first-order density vanishes, the first-order density matrix does not.

  • Compute the first-order wavefunctions:

    ψn(1)(𝒓)=ioccCin(1)ϕi(𝒓)=ioccϕi(𝒓)kCikUkn, (3.238b)

    where ϕi(𝒓) are the basis functions, 𝑪 are the unperturbed wavefunction coefficients, 𝑪(1) are the first-order coefficients, and

    Umn=12ijCimSij(1)Cjn (3.238c)

    if mn is an occupied-occupied or virtual-virtual pair, and

    Umn=ijCimHij(1)CjnCimSij(1)Cjnϵnϵnϵm (3.238d)

    otherwise. S(1) is the first-order overlap matrix.

  • Construct a new density matrix from the first-order changes in wavefunctions:

    nijσ(1)=mσoccϕi|ψmσψmσ(1)|ϕj+ϕi|ψmσ(1)ψmσ|ϕj=mσocccimcjm(1)+cim(1)cjm. (3.238e)

    The unperturbed coefficients are always real.

  • Check convergence and, if necessary, perform density matrix mixing (default is to do Pulay mixing):

    nijσ(1)nijσX,next. (3.238f)
  • Construct a new density from the density matrix:

    nσ(1)(𝒓)=ijoccϕi(𝒓)nijσ(1)ϕj(𝒓). (3.238g)

Nonrelativistic integrals

In the presence of an external magnetic field and NMR active nuclei (those with a nonzero magnetic moment) in the system, the magnetic vector potential takes the form

𝑨=12𝑩×𝒓+α2A𝝁A×𝒓ArA3, (3.239)

where 𝒓A=𝒓𝑹A is the position relative to atom A. Inserting this into the nonrelativistic Hamiltonian and taking the first and second derivatives with respect to the magnetic field and/or the nuclear magnetic moments, we arrive at the following terms:

  • Orbital Zeeman:

    H𝑩=i2(𝒓×), (3.240a)
  • Spin Zeeman:

    HSZ𝑩=𝑺, (3.240b)
  • Paramagnetic spin-orbit (PSO):

    HPSO𝝁A=iα2𝒓A×rA3, (3.240c)
  • Fermi contact (FC):

    HFC𝝁A=8πα23δ(𝒓A)𝑺, (3.240d)
  • Spin-dipole (SD):

    HSD𝝁A=α2[3(𝑺𝒓A)𝒓ArA5𝑺rA3], (3.240e)
  • Diamagnetic shielding (DS):

    H𝑩𝝁A=α22𝒓𝒓A𝒓A𝒓TrA3, (3.240f)
  • Diamagnetic spin-orbit (DSO):

    H𝝁A𝝁B=α42𝒓A𝒓B𝒓B𝒓ATrA3rB3, (3.240g)
  • Diamagnetic magnetizability:

    H𝑩𝑩=14(r2𝒓𝒓T). (3.240h)

In case of shieldings and magnetizability, the GIAO formalism is used to overcome the slow convergence related to the nonuniqueness of the gauge origin. Each basis function ϕn is equipped with a phase factor of the form

ϕn(𝒓)ei𝑨n𝒓ϕn(𝒓)=ei2(𝑹n×𝒓)𝑩ϕn(𝒓), (3.241)

where 𝑨n=12𝑩×(𝒓𝑹n) is the vector potential with the gauge origin shifted to the origin of basis function n, 𝑹n. This modifies some of the integrals (3.240) and leads to a few new ones:

  • GIAO orbital Zeeman:

    HmnGIAO𝑩=i2ϕm|(𝑹mn×𝒓)H0𝒓n×|ϕn+ϕm|VGGA,α𝑩|ϕn. (3.242a)
  • GIAO diamagnetic shielding:

    HmnGIAO𝑩𝝁A=α22ϕm|(𝑹mn×𝒓)(𝒓A×)TrA3|ϕn. (3.242b)
  • GIAO diamagnetic magnetizability:

    HmnGIAO𝑩𝑩=14ϕm|2(𝑹mn×𝒓)(𝒓n×)T|ϕn+14ϕm|rn2𝒓n𝒓nT|ϕn14ϕm|(𝑹mn×𝒓)(𝑹mn×𝒓)THLDA|ϕn+ϕm|VGGA𝑩𝑩|ϕn. (3.242c)
  • First-order overlap matrix:

    SmnGIAO𝑩=i2ϕm|𝑹mn×𝒓|ϕn. (3.242d)
  • Second-order overlap matrix:

    SmnGIAO𝑩𝑩=14ϕm|(𝑹mn×𝒓)(𝑹mn×𝒓)T|ϕn. (3.242e)

In Eqs. (3.242), H0 is the unperturbed DFT Hamiltonian, VGGA𝑩 and VGGA𝑩𝑩 are the first and second 𝑩 derivatives of the xc-potential. In LDA, the latter terms vanish.

Table 3.2 illustrates which terms are required for calculating which properties.

Table 3.2: The number of different types of integrals required for J-couplings, shieldings, and magnetizabilities is 4. Without GIAOs, the number is 3 for shieldings and 2 for magnetizabilities.
JAB σA (no GIAO) ξ (no GIAO)
|ψM HFC𝝁A HPSO𝝁A HSD𝝁A H𝑩 H𝑩
HM HFC𝝁A HPSO𝝁A HSD𝝁A HPSO𝝁A H𝑩
HMN H𝝁A𝝁B H𝑩𝝁B H𝑩𝑩
σA (GIAO) ξ (GIAO)
|ψM HGIAO𝑩,SGIAO𝑩 HGIAO𝑩,SGIAO𝑩
HM HPSO𝝁A HGIAO𝑩
HMN HGIAO𝑩𝝁A HGIAO𝑩𝑩,SGIAO𝑩𝑩

Relativistic integrals

Following J. Autschbach and T. Ziegler, J. Chem. Phys. 113, 936 (2000), the diamagnetic term is almost the same as in the non-relativistic case except for the ZORA factor 𝒦at(j):

𝑯ZORA,𝝁A𝝁B=2𝝁A𝝁B𝑨𝒦at𝑨=2α4𝒦at𝒓A𝒓B𝒓B𝒓ATrA3rB3,𝒦at(j)=c22c2vat(j)free. (3.243)

Note that because of 𝒦at(j) Eq. (3.243) needs to be explicitly symmetrized which is different from the non-relativistic case. The paramagnetic spin-orbit (PSO) term is similar to its non-relativistic equivalent,

𝑯ZORA,PSO𝝁A=𝝁A(𝒑𝒦at𝑨+𝑨𝒦at𝒑)=iα2(𝒦at𝒓A×rA3+𝒓A×rA3𝒦at), (3.244)

but since the ZORA factor is orbital-dependent, it needs to be evaluated as two separate integrals,

ϕm|𝑯ZORA,PSO𝝁A|ϕn=iα2𝒓A×(𝒦at(n)ϕm(𝒓)ϕn(𝒓)rA3d𝒓𝒦at(n)[ϕm(𝒓)]ϕn(𝒓)rA3d𝒓), (3.245)

where both terms need to be additionally symmetrized. The ZORA spin-orbit (ZSO) term is

HjZORA,ZSO𝝁A=[𝝁Ai𝝈(𝒑𝒦at×𝑨+𝑨𝒦at×𝒑)]j=α2[σj(𝒦𝒓ArA3)𝝈j(𝒦𝒓ArA3)] (3.246)

in the j direction. The corresponding matrix elements are

ϕm|HjZORA,ZSO𝝁A|ϕn=α2σj𝒦at(n)𝒓ArA3[(ϕm(𝒓))ϕn(𝒓)+ϕm(𝒓)ϕn(𝒓)]d𝒓+α2𝝈𝒦at(n)𝒓ArA3[(jϕm(𝒓))ϕn(𝒓)+ϕm(𝒓)jϕn(𝒓)]d𝒓. (3.247)

If Eq. (3.247) were evaluated directly, the spin-orbitals would need to possess two independent complex components. However, we can decompose the ZSO operator as follows:

HiZORA,ZSO𝝁A=α2jσjHijZORA,ZSO𝝁A,HijZORA,ZSO𝝁A=δij(𝒦𝒓ArA3)i(𝒦rAjrA3) (3.248)

Each term σjHijZORA,ZSO𝝁A is calculated separately by taking the spin quantization axis to be in the i direction in each perturbation calculation. This makes the ZSO operator diagonal in spin space and allows us to use spin-free real orbitals to represent the perturbations. After integrating by parts, each of those terms is expressed as

δijϕm|(𝒦𝒓ArA3)|ϕn+ϕm|i(𝒦rAjrA3)|ϕn=𝒦at(n)𝒓ArA3[(ϕm(𝒓))ϕn(𝒓)+ϕm(𝒓)ϕn(𝒓)]d𝒓+𝒦at(n)rAjrA3[(iϕm(𝒓))ϕn(𝒓)+ϕm(𝒓)iϕn(𝒓)]d𝒓, (3.249)

where both terms need to be explicitly symmetrized because of 𝒦at(n). The observable (the J-coupling) is then computed as

JABZSO=γAγB2πiocc2ReψiZSO𝝁A|𝑯ZSO𝝁A|ψi=γAγB2πiocc2Re(ψxxZSO𝝁A|HxxZSO𝝁A|ψi+ψyyZSO𝝁A|HyyZSO𝝁A|ψi+ψzzZSO𝝁A|HzzZSO𝝁A|ψi+2ψxyZSO𝝁A|HxyZSO𝝁A|ψi+2ψxzZSO𝝁A|HxzZSO𝝁A|ψi+2ψyzZSO𝝁A|HyzZSO𝝁A|ψi). (3.250)

Equation (3.250) along with the PSO and DSO terms forms the complete ZORA J-coupling.

Following R. Bouten et al., J. Phys. Chem. A 104, 5600 (2000), the ZORA shielding integrals are

hmnZORA,GIAO𝑩𝝁A=α22ϕm|𝒦at(n)(𝑹mn×𝒓)(𝒓A×)T+𝒓A𝒓n𝒓A𝒓nTrA3|ϕn,hmnZORA,GIAO𝑩=i2ϕm|(𝑹mn×𝒓)HLDA|ϕn+ϕm|VGGA𝑩|ϕni2ϕm|𝒦at(n)𝒓n×|ϕn,hmnZORA,GIAO𝝁A=iα2ϕm|𝒦at(n)𝒓A×rA3|ϕn. (3.251)

Dipolar couplings

The direct spin-spin coupling tensor, DAB, also called the dipolar coupling tensor, is expressed as

DAB=α22πγAγB(1RAB33𝑹AB𝑹ABTRAB5), (3.252)

where 𝑹AB is the vector connecting atoms A and B. Because it does not depend on the electronic structure, its computation takes no time and it is always automatically included whenever a J-coupling calculation is requested

Current limitations

  • Periodic systems not supported;

  • Only the nonrelativistic formalism has been implemented (scalarrelativistic under development);

  • Hybrid functionals not supported for shieldings and magnetizability;

  • Meta functionals not supported.

For developers

Most of the magnetic response (MR) related source code resides in the directory
MagneticResponse. The parent subroutine for doing MR calculations is MR_main. It sets up the environment depending on user input, calls MR_core which performs the actual calculations, and prints various information including the results of the calculation. MR_core is called separately for every type term that needs to be computed. If the first-order wavefunctions are required, a DFPT cycle is performed first. If a diamagnetic property is calculated, the DFPT part is skipped.

The module integration provides a subroutine that is used for all integrations. The only exception is the nonrelativistic FC term, which needs a completely separate subroutine because of the delta function. The bodies of most functions that are integrated over real space are found in integrands.f90. The result of each integration is written into a 2D block cyclic matrix (the matrix_BC_out argument of the integrate). Outside the integration subroutine, all linear algebra involving large arrays is done with Scalapack routines.

Example input

The following is a minimal example for running a magnetic response calculation.

control.in:

  # H2O
  xc                 pw-lda
  magnetic_response  # Default is to calculate all magnetic
                     # response quantities
  # Basis sets
  ...

geometry.in:

  atom  0.00  0.00  0.00  O
  magnetic_response
  atom -0.96  0.00  0.00  H
  magnetic_response
  atom  0.32 -0.90  0.00  H
  magnetic_response

Notes on performance

For best performance, it is recommended to always include the following flags in control.in:

  load_balancing          .true.
  use_local_index         .true.
  collect_eigenvectors    .false.

In the timings section, the following terms are shown:

  • “Fermi contact”, “paramagnetic spin-orbit”, “spin-dipole”, “paramagnetic shielding”, “paramagnetic magnetizability” — these are the integration times of the non-self-consistent parts of the Hamiltonian [HNSC(1) in Eq. (3.238a)].

  • “diamagnetic spin-orbit”, “diamagnetic shielding”, “diamagnetic magnetizability” — integration of a diamagnetic magnetic property.

  • “First-order xc” — integration of the first-order response of the xc-potential.

  • “First-order density” — constructing the first-order electron density from the first-order density matrix (this is an integral over real space).

  • “First-order Hartree” — integration of the first-order response of the Hartree potential.

  • “First-order Ha update” — constructing the first-order Hartree potential from the first-order density. It mainly times calls to update_hartree_potential_p1 and sum_up_whole_potential_p1.

  • “Mat-mat multiplications” — total wall time spent on pdgemm and pzgemm.

  • “packed <-> block cyclic” — total wall time spent on subroutines that do conversion from one matrix type to another. These are packed_to_block_cyclic and block_cyclic_to_packed.

  • “Total” — total wall time spent on the magnetic response calculation. This is higher than the sum of the above, because it contains additional overhead from stuff that is in between the subroutines that are timed.

  • “Total minus individual terms” — Difference between the total wall time and the sum of individual terms. If the total time is much higher than the sum of the individual terms then there is an unexpected bottleneck somewhere in the code that does not scale. Note that the difference is between the total time of the slowest task and a sum where each term individually corresponds to that of the slowest task. Thus, do not be alarmed if this number becomes slightly negative (unlikely, but possible depending on how the load is balanced).

Maximum and minimum cpu times are shown where possible. In case the subroutine to be timed contains and explicit or implicit MPI barrier (e.g., pdgemm), individual cpu times are not meaningful and only the maximum wall time is shown.

Tags for general section of control.in:

 

Tag: magnetic_response(control.in)

Usage: magnetic_response options
Purpose: Primary keyword for doing magnetic response calculations. This is the minimum that is required in control.in and by default leads to the full calculation of J-couplings, shieldings, and the magnetizability.
This keyword can be followed by a number of options:

  • J_coupling or J or j — Calculate J-couplings only.

  • shielding or s — Calculate the shieldings only.

  • magnet or m — Calculate the magnetizability only.

  • fc — Calculate the FC contribution to J-couplings only.

  • po — Calculate the PSO contribution to J-couplings only.

  • sd — Calculate the SD contribution to J-couplings only.

  • do — Calculate the DSO contribution to J-couplings only.

  • shielding_p or s_p — Calculate the paramagnetic contribution to the shieldings only.

  • shield_d or s_d — Calculate the diamagnetic contribution to the shieldings only.

  • magnet_p or m_p — Calculate the paramagnetic contribution to the magnetizability only.

  • magnet_d or m_d — Calculate the diamagnetic contribution to the magnetizability only.

  • no_giao — Calculate the shieldings and magnetizability using the standard formalism without GIAOs (default: false, i.e., with GIAOs).

  • full — Calculate the full tensors (default: only diagonal elements).

Comment: any combination of options works. For example,
magnetic_response fc s po full
calculates the FC and PSO terms of J-couplings and the shielding tensors including off-diagonal elements. The default is equivalent to
magnetic_response J_coupling shielding magnet

 

Tag: dfpt_accuracy_n1(control.in)

Usage: dfpt_accuracy_n1 value
Purpose: Convergence criterion for the DFPT self-consistency cycle, based on the RMS change in the first-order density matrix. Specifically, the unmixed output density matrix is checked against the input density matrix corresponding to the same iteration. The RMS value is calculated over all directions and spins that are being processed.
value is a real positive number (in electrons). Default: 1d-9.

 

Tag: dfpt_iter_limit(control.in)

Usage: dfpt_iter_limit number
Purpose: Maximum number of DFPT cycles.
number is an integer number. Default: 40.

 

Tag: dfpt_linear_mix_param(control.in)

Usage: dfpt_linear_mix_param value
Purpose: Parameter for linear mixing of first-order electron density. Used in Pulay and simple linear mixing.
value is a real number between 0 and 1. Default: 1.0

 

Tag: dfpt_pulay_steps(control.in)

Usage: dfpt_pulay_steps number
Purpose: Number of steps kept in memory for Pulay mixing. Value of 1 corresponds to simple linear mixing.
number is a positive integer number. Default: 8

 

Tag: mr_gauge_origin(control.in)

Usage: mr_gauge_origin x y z
Purpose: Gauge origin for the calculation of the shieldings or the magnetizability. This has no effect with GIAOs.
x y z are real numbers (in Å) that specify the position of the gauge origin. Default: the center of mass.
Comment: The center of mass is based on the natural abundance of elements. If this is not desirable, the user can set the gauge origin manually.

 

Tag: output_sxml(control.in)

Usage: output_sxml [name]
Purpose: If present, the spin system and the results of calculations are printed into an sxml file [Biternas et al., J. Mag. Res. 240, 124 (2014)], which can serve as input to other software, e.g., Spinach [spindynamics.org].
The name of the output file is name if present. Otherwise, the default name is aims.xsml.

 

Tag: mr_experimental(control.in)

Usage: mr_experimental
Purpose: Overrides any safety checks that would cause the run to stop. This allows the user to test features that are still in development and even avoid simple sanity checks such calculating the shieldings without specifying any atoms in geometry.in.

Tags for geometry.in:

 

Tag: magnetic_response(geometry.in)

Usage: magnetic_response
Purpose: Includes the current atom in the magnetic response calculations. If only the magnetizability is required, this keyword need not be used in geometry.in. Otherwise, the calculation of the shieldings or J-couplings is aborted if no atoms are flagged for MR calculations in geometry.in

 

Tag: magnetic_moment(geometry.in)

Usage: magnetic_moment value
Purpose: Overrides the default magnetic moment for the given atom. The default values (in units of the nuclear magneton μN) can be found in MagneticResponse/MR_nuclear_data.f90. In case of J-couplings, the isotopes used are also printed in the output.
value, a real number, is the magnetic moment in atomic units (-5.157d-4 for O-17).

 

Tag: nuclear_spin(geometry.in)

Usage: nuclear_spin value
Purpose: Overrides the default nuclear spin for the given atom. The default values can be found in MagneticResponse/MR_nuclear_data.f90 and are also printed in the output for J-coupling calculations.
value, a real number, is the nuclear spin (2.5 for O-17).

 

Tag: isotope(geometry.in)

Usage: isotope number
Purpose: Overrides the default isotope mass number for the given atom. For more flexibility, the magnetic moment and spin can be specified separately with the above keywords. The default isotopes numbers can be found in MagneticResponse/MR_nuclear_data.f90.
number, a positive integer, is the mass of the given atom (17 for O-17).