default_nv_model

default_nv_model(nitrogen_isotope=None, carbon_atom_indices=None, static_field_strength=0.05, static_field_direction=(0.0, 0.0, 1.0), add_default_driving_fields=True, interaction=True, secular_approximation=False, quantization_axis='global_z', qubit_subspace_electron=(0, -1), qubit_subspace_nitrogen=None, qubit_subspace_carbon=(-0.5, 0.5), warn_on_ambiguous_labels=True, rotating_frame=None)

Create a default central spin model based on a nitrogen-vacancy center. The electron spin of the nitrogen-vacancy center is added by default as 'e'. \(^{13}\text{C}\) nuclear spins can be added via the carbon_atom_indices argument. The positions of the nuclear spins are used to determine the hyperfine tensors, based on the Ivády Group’s hyperfine dataset. In this default model, the NV axis is aligned with the global \(z\) direction.

Parameters:
  • nitrogen_isotope (int | None) – Atomic number of the nitrogen isotope (optional, should be 14 or 15).

  • carbon_atom_indices (List[tuple] | None) – List of (\(n_1\), \(n_2\), \(n_3\), \(n_4\)) tuples.

  • static_field_strength (float) – Strength of the static field (in \(\text{T}\)), default 0.05.

  • static_field_direction (Sequence[int | float]) – Direction of the static field as a 3-component vector, default (0, 0, 1).

  • add_default_driving_fields (bool) – If True (default), add the default linear driving fields MW_x and RF_x. If False, leave the model without driving fields.

  • interaction (bool) – Whether interaction is presented or not.

  • secular_approximation (bool) – If True, keep only the builder-added interaction zz terms.

  • quantization_axis (Any) – Quantization axis applied to every spin, or a list with one axis per created spin. Each axis accepts 'global_z', 'anisotropy_axis', 'local_static_field' or an explicit vector.

  • qubit_subspace_electron (Tuple[int | float, int | float]) – Qubit subspace for the NV electron spin. Default is (0, -1).

  • qubit_subspace_nitrogen (Tuple[int | float, int | float] | None) – Qubit subspace for the nitrogen spin. If None (default), keeps the current isotope-specific defaults: (0, -1) for \(^{14}N\) and (-1/2, 1/2) for \(^{15}N\).

  • qubit_subspace_carbon (Tuple[int | float, int | float]) – Qubit subspace for carbon-13 spins. Default is (-1/2, 1/2).

  • warn_on_ambiguous_labels (bool) – If True (default), warn when eigenstate labels have low overlap with their assigned local-\(S_z\) product-basis states.

  • rotating_frame (RotatingFrameSetter | None) – Optional rotating-frame setter installed on the returned model. If omitted, the builder installs the default RotatingFrameSetter().

Return type:

Model

Returns:

Default model.

Raises:

SimphonyError – If invalid nitrogen isotope is given. If invalid carbon nuclear spin indices are given.

Note

The Hamiltonian describes the default NV model (nuclear spins enter with a negative sign in the Zeeman term):

\[\begin{split}H =& \underbrace{\gamma_{e} \mathbf{B} \cdot \mathbf{S} + D S_z^2}_{\text{electron}} \\ & \underbrace{-\gamma_{N} \mathbf{B} \cdot \mathbf{I}_{N} + P I_{N,z}^2 + \mathbf{S} \cdot \mathbf{A}_{N} \cdot \mathbf{I}_{N}}_{\text{nitrogen}} \\ & \underbrace{-\sum_{i}{\gamma_{C} \mathbf{B} \cdot \mathbf{I}_{C}^{(i)} + \sum_{i}{\mathbf{S} \cdot \mathbf{A}_{C}^{(i)} \cdot \mathbf{I}_{C}^{(i)}}}}_{\text{carbon(s)}},\end{split}\]

where the parameters are the follows:

Spin

Parameter

Symbol

Value

Electron (\(S=1\))

Gyromagnetic ratio

\(\gamma_e\)

\(28.0331\,\text{GHz/T}\) [1]

Zero-field splitting

\(D\)

\(2.872\,\text{GHz}\) [1]

Nitrogen-14 (\(I=1\))

Gyromagnetic ratio

\(\gamma_{N}\)

\(3.07771\,\text{MHz/T}\) [2]

Quadrupole splitting

\(P\)

\(-5.01\,\text{MHz}\) [1]

Hyperfine perpendicular

\(A_{N\perp}\)

\(-2.70\,\text{MHz}\) [1]

Hyperfine parallel

\(A_{N\parallel}\)

\(-2.14\,\text{MHz}\) [1]

Nitrogen-15 (\(I=1/2\))

Gyromagnetic ratio

\(\gamma_{N}\)

\(-4.31727\,\text{MHz/T}\) [2]

Hyperfine perpendicular

\(A_{N\perp}\)

\(3.65\,\text{MHz}\) [1]

Hyperfine parallel

\(A_{N\parallel}\)

\(3.03\,\text{MHz}\) [1]

Carbon-13 (\(I=1/2\))

Gyromagnetic ratio

\(\gamma_C\)

\(10.7084\,\text{MHz/T}\) [2]

References:
[1] Felton et al., Phys. Rev. B 79, 075203 (2009)
[2] CRC Handbook of Chemistry and Physics, sec. 11-4 (97th edition)

Hint

The carbon atom indices specify the position of a carbon atom as:

\[\text{carbon atom position} = n_1 \cdot \mathbf{a}_1 + n_2 \cdot \mathbf{a}_2 + n_3 \cdot \mathbf{a}_3 + n_4 \cdot \boldsymbol{\tau},\]

where \(\mathbf{a}_1\), \(\mathbf{a}_2\) and \(\mathbf{a}_3\) are the primitive lattice vectors, \(\mathbf{0}\) and \(\boldsymbol{\tau}\) are the positions of the atoms inside the primitive cell, furthermore \(n_1\), \(n_2\), \(n_3\) (integers) and \(n_4\) (\(0\) or \(1\)) are the carbon nuclear spin indices. Our convention is:

\[ \begin{align}\begin{aligned}\mathbf{a}_1 &= a_\text{CC}\cdot ( 0, 2\sqrt{2}/3, 4/3 ),\\\mathbf{a}_2 &= a_\text{CC}\cdot ( -\sqrt{6}/3, -\sqrt{2}/3, 4/3 ),\\\mathbf{a}_3 &= a_\text{CC}\cdot ( \sqrt{6}/3, -\sqrt{2}/3, 4/3 ),\\\boldsymbol{\tau} &= (\mathbf{a}_1 + \mathbf{a}_2 + \mathbf{a}_3) / 4 = a_\text{CC}\cdot ( 0, 0, 1 )\end{aligned}\end{align} \]

where \(a_\text{CC} = 0.1545 \text{ nm}\) is the carbon-carbon distance. The nitrogen occupies the \(\boldsymbol{\tau}\) position, while the missing carbon atom corresponds to the \(\mathbf{0}\) lattice point.