Conversation
…roved usability" -m "Functions added so far: configuration, lasers, modes, xmdes, ymodes, zmodes, ions, modecutoff!, groundstate. Changes: get_vibrational_modes -> modes, get_\eta -> lambdicke, get_basis -> basis
Convenience functions for setting laser wavelengths
Apply renaming of structs to new-style branch
…es, and change LinearChain.vibrational_modes to LinearChain.selected_modes
Change Ion.position to Ion.ionposition to match the getter function. Change set_sublevel_alias! and set_manual_shift! to sublevel_alias! and manual_shift!
ionnumber and ionposition functions now warn if not in an IonTrap. Base overrides for getproperty and setproperty removed; no function for setting sublevels added. Also, functions einsteinA and transitionmultipole now require transition to be a Tuple rather than allowing two separate arguments.
Changes: two_ion_ms -> molmersorensen2ion, rabi_flop -> rabiflop, global_beam\! -> globalbeam\!, Efield_from_pi_time(\!) -> efield_from_pitime(\!), Efield_from_rabi_frequency(\!) -> efield_from_rabifrequency(\!), bfield, matrix_element -> matrixelement, zeeman_shift -> zeemanshift, lambdicke
Function basis(Chamber) changed so that it constructs the basis. Chamber object no longer has a property Chamber.basis.
Functions: sublevel_aliases -> sublevelaliases, manual_shift -> manualshift, zero_manual_shift! -> zeromanualshift!, alias2sublevel -> sublevel, sublevel2level -> level, sublevel_alias! -> sublevelalias!, (clear_sublevel_alias!+clear_all_sublevel_aliases!) -> clearsublevelalias!, mode_structure -> modestructure. Ion fields: species_properties -> speciesproperties, sublevel_aliases -> sublevelaliases, manual_shift -> manualshift. VibrationalMode fields: mode_structure -> modestructure
selected_modes -> selectedmodes, com_frequencies -> comfrequencies, ion_traps.jl -> iontraps.jl. Also, IonTrap structs no longer have a field full_normal_mode_desicription; instead, there is a function full_normal_mode_description(LinearChain).
Now requires a single vector of states rather than different arguments
Collaborator
Author
|
Format check will fail; I think we should get rid of this for now, since it does a few undesirable things, for example spacing around math operators and spacing around the |
Codecov ReportBase: 91.5% // Head: 88.5% // Decreases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## master #106 +/- ##
========================================
- Coverage 91.5% 88.5% -3.0%
========================================
Files 15 15
Lines 1166 1240 +74
========================================
+ Hits 1067 1098 +31
- Misses 99 142 +43
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
Member
|
update docs |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Broadly gives IonSim a more "functional" programming feel.
Some major changes:
chamber.iontrap.ions, we call should callions(chamber).!at the end of the function name. Setter functions always take in the object that's being modified as the first argument.)Trap->ChamberIonConfiguration->IonTrapstark_shift->manualshiftvibrational_modes->selectedmodesSome minor changes:
timescaleinhamiltonianchanged from 1e-6 to 1 (however, there is a problem whentimescale=1is actually used; see Lamb-Dicke orders cut off if timescale in hamiltonian is too large #104)LinearChainconstructorIons to be constructed with sublevel aliasesChamberand aLaserand/orIonto optionally index theLaser/Ionwith anInt