Skip to content

Commit

Permalink
adds README
Browse files Browse the repository at this point in the history
  • Loading branch information
gadamc committed Mar 21, 2023
1 parent 4e0275c commit 8eb4131
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 3 deletions.
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1 +1,22 @@
# Modeling for Nitrogen-Vacancy Centers in Diamond

Modeling for single NV centers in diamond.

Construct ground state Hamiltonian of NV-negative centers, including
fine structure, hyperfine structure, nuclear quadrupole,
and external magnetic field terms.

Includes transformation from lab frame to rotating frame.

Includes tools for plotting eigenvalues, plotting states on the Bloch
sphere (one must choose the two physical spin states to be
represented), and representing states as linear combination of
basis states.



# Demos

1. [Visualizing Spin 1 systems on the Bloch sphere](notebooks/Visualize_spin1_on_bloch_sphere.ipynb)
2. [NV negative simple fine structure term only, and Bloch sphere](notebooks/NVNegZFS.ipynb)
3. [NV negative with static and applied MW fields for spin control](notebooks/NVNeg_full_H_Zeeman_splitting.ipynb)
6 changes: 3 additions & 3 deletions src/nvmodels/hamiltonians/nvnegative.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ def static_mag_field_hamiltonian(self, B: list[float]=[0,0,0],
gamma_e B dot S
where gamma_e is the electron gyromagnetic ratio, B is in Tesla,
and S is the spin-1 spin vector (and the sign is + because e change is -1)
and S is the spin-1 spin vector (and the sign is + because e charge is -1)
If include_nucleus is True, will also apply B field to
nitrogen. However, the amplitude of this effect is 10,000x smaller
Expand All @@ -106,7 +106,7 @@ def static_mag_field_hamiltonian(self, B: list[float]=[0,0,0],
and I is the spin vector operator for 14N (s = 1) or 15N (s = 1/2).
"""
# -gamma_e * B dot S
# gamma_e * B dot S
h = B[0] * qt.spin_Jx(1)
h += B[1] * qt.spin_Jy(1)
h += B[2] * qt.spin_Jz(1)
Expand Down Expand Up @@ -150,7 +150,7 @@ def nitrogen_electric_quadrupole_hamiltonian(self):
"""
if self.isotope == 15:
h = 0
h = 0 # is this right?
else:
#there must be a function in qutip,numpy or scipy for this?
I_squared = qt.spin_Jx(self.nitrogen_spin)**2
Expand Down

0 comments on commit 8eb4131

Please sign in to comment.