Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New style #106

Merged
merged 39 commits into from
Jan 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
8ae98f2
Rename objects
marwahaha Jul 19, 2022
dfc22be
Format
marwahaha Jul 19, 2022
2481b5d
Remove PhysicalConstants import in species files
neil-glikin Nov 23, 2022
9e2377c
Add some convenience functions and change some function names for imp…
neil-glikin Nov 23, 2022
86a6ea3
Add functions wavelength! and wavelength_from_transition!
neil-glikin Nov 30, 2022
45a7194
Change name of starkshift/stark_shift to manualshift/manual_shift
neil-glikin Nov 30, 2022
d4e1b75
Update tests to accommodate name changes so far
neil-glikin Nov 30, 2022
55a5992
Merge branch 'new-style' into rename
neil-glikin Dec 1, 2022
2b25d7a
Merge pull request #103 from HaeffnerLab/rename
neil-glikin Dec 1, 2022
10999a9
Rename Chamber.configuration to Chamber.iontrap
neil-glikin Dec 1, 2022
3834fb9
Change default timescale from 1e-6 to 1 in hamiltonian
neil-glikin Dec 2, 2022
1e6c341
Add optional argument in LinearChain constructor for setting mode siz…
neil-glikin Jan 5, 2023
e36a307
Rename a few things related to ions
neil-glikin Jan 7, 2023
6545e65
Add getters and setters for Laser struct
neil-glikin Jan 10, 2023
2a054b3
Add getters and setters for VibrationalMode struct
neil-glikin Jan 10, 2023
f55b111
Add getters for IonTrap struct
neil-glikin Jan 10, 2023
9c2c09a
Add getters and setters for Chamber struct
neil-glikin Jan 10, 2023
80541d6
Small tweaks to Ion struct getters
neil-glikin Jan 11, 2023
0adb40d
Remove redundant basis(Chamber) function
neil-glikin Jan 11, 2023
e904150
Change some functions' names and/or arguments
neil-glikin Jan 17, 2023
7360b17
Fix chamber basis problem that affected last 2 commits
neil-glikin Jan 17, 2023
531ac4d
Change more function names
neil-glikin Jan 18, 2023
26a55f2
Naming changes to IonTraps
neil-glikin Jan 19, 2023
8ac253b
Change name of iontraps.jl in IonSim.jl
neil-glikin Jan 19, 2023
cd5e861
Update internal source code to follow new style
neil-glikin Jan 19, 2023
92fa1b1
Allow Ion constructor to specify sublevel aliases directly
neil-glikin Jan 20, 2023
0411d43
Fix Ion print
neil-glikin Jan 20, 2023
862fc2c
Update Ion print to include sublevel aliases
neil-glikin Jan 20, 2023
f2351c8
Rename files
neil-glikin Jan 20, 2023
32d75e6
Change filenames in IonSim.jl
neil-glikin Jan 20, 2023
feab0e0
Change Laser strength paramter from Efield to intensity
neil-glikin Jan 20, 2023
9d45fee
Fix efield(Laser) function
neil-glikin Jan 21, 2023
e725234
Change behavior of ionstate(IonTrap) and ionstate(Chamber)
neil-glikin Jan 24, 2023
382ce9c
Change a small amount of documentation for tutorial notebook
neil-glikin Jan 24, 2023
5dbf61b
Fix dynamics tests for change in ionstate function
neil-glikin Jan 24, 2023
bd56fe1
Fix hamiltonians test
neil-glikin Jan 24, 2023
9c7a6dd
Update hamiltonians tests
neil-glikin Jan 24, 2023
1b9ac5b
Add basis(IonTrap) function
neil-glikin Jan 25, 2023
f6f9e1c
Change a few more things in hamiltonians.jl for new style
neil-glikin Jan 25, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions src/IonSim.jl
Original file line number Diff line number Diff line change
Expand Up @@ -35,17 +35,17 @@ export IonSimBasis

include("constants.jl")
include("ions.jl")
include("vibrational_modes.jl")
include("vibrationalmodes.jl")
include("lasers.jl")
include("ion_configurations.jl")
include("traps.jl")
include("iontraps.jl")
include("chambers.jl")
include("operators.jl")
include("hamiltonians.jl")
include("time_evolution.jl")
include("timeevolution.jl")
include("species/_include_species.jl")

module analytical
include("analytic_functions.jl")
include("analyticfunctions.jl")
end

end # main module
10 changes: 5 additions & 5 deletions src/analytic_functions.jl → src/analyticfunctions.jl
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
using IonSim: _alaguerre
export two_ion_ms, rabi_flop
export molmersorensen2ion, rabiflop

"""
two_ion_ms(tspan, Ω::Real, ν::Real, δ::Real, η::Real, n̄::Real)
molmersorensen2ion(tspan, Ω::Real, ν::Real, δ::Real, η::Real, n̄::Real)
[ref](https://doi.org/10.1103/PhysRevA.62.022311) <br>
Assumes vibrational mode starts in a thermal state with: ``\\langle a^\\dagger a\\rangle = n̄``
and ions start in doubly ground state. Returns `(ρgg, ρee)`, the population in the doubly
ground and doubly excited state, respectively. ``[Ω], [ν], [δ] = Hz``
"""
function two_ion_ms(tspan, Ω::Real, ν::Real, δ::Real, η::Real, n̄::Real)
function molmersorensen2ion(tspan, Ω::Real, ν::Real, δ::Real, η::Real, n̄::Real)
ρgg = Float64[]
ρee = Float64[]
n̄ *= 1.0
Expand Down Expand Up @@ -38,15 +38,15 @@ function two_ion_ms(tspan, Ω::Real, ν::Real, δ::Real, η::Real, n̄::Real)
end

"""
rabi_flop(tspan, Ω::Real, η::Real, n̄::Real; s::Int=0) <br>
rabiflop(tspan, Ω::Real, η::Real, n̄::Real; s::Int=0) <br>
Single ion rabi flop. Returns:
``\\sum_{n=0}^∞ p_n sin^2(\\Omega_n t)`` <br> with
``\\Omega_n = Ωe^{-η^2/2}η^s\\sqrt{\\frac{n!}{(n+s)!}}L_{n}^{s}(η^2)`` <br>
where ``s`` is the order of the (blue) sideband that we are driving and ``L_{n}^{s}`` is the
associated Laguerre polynomial. [ref](https://doi.org/10.1103/RevModPhys.75.281)

"""
function rabi_flop(tspan, Ω::Real, η::Real, n̄::Real; s::Int = 0)
function rabiflop(tspan, Ω::Real, η::Real, n̄::Real; s::Int = 0)
n̄ *= 1.0
Ω *= 2π
p = Vector{Float64}(undef, 0)
Expand Down
Loading