TeamAtomECS / AtomECS

Cold atom simulation code
GNU General Public License v3.0
46 stars 12 forks source link

Magnetic force #53

Closed d-garrick closed 2 years ago

d-garrick commented 3 years ago

Merge branch for magnetic dipole force & trapping into master. Includes trapping in a quadrupole and time orbiting potential (TOP) trap.

ElliotB256 commented 3 years ago

@damienBloch would also be good to see this -

ElliotB256 commented 3 years ago

Looks like there are still some sections marked 'todo' in the TOP System. Could you remove the direction of rotation support if it is not implemented?

ElliotB256 commented 3 years ago

For the top module, can you add a bit more text to the module doc string at the top? Perhaps a link to one of the original TOP papers?

ElliotB256 commented 3 years ago

it isn't letting me delete line 111 on the web - but there is an empty line after the comment block

ElliotB256 commented 3 years ago

Thanks for the changes @DavidGarrick !

Can we discuss some other things more generally:

pub struct MagneticDipole {
    /// Product of Zeeman state mF & lande g-factor
    pub mFgF: f64,
}

Name of this struct - I'm still not sure if there is a better name for it. My fear is that if there are too many magnetic components then it is unclear what each does. It's probably ok if the struct stays in force, so then force::MagneticDipole is clearly a component used for force calculations?

Scope - the proposed code is only valid in the low field limit where the Zeeman effect is linear. Could you update the doc for the relevant module (eg, magnetic/force) to reflect this assumption? I understand usage documentation may be a bit lacking elsewhere, perhaps you could add some details to the doc string of magnetic/force explaining how someone can use this system/feature?

d-garrick commented 3 years ago

I can certainly add the linear Zeeman effect point into the doc. About usage, do we have a general plan for documentation yet? Do we want to put usage documentation into the modules themselves, or have some integrated usage guide written up somewhere else?

ElliotB256 commented 3 years ago

I would like an improved manual at some point, but it would be good to have more detial in the module docs. I think the manual would be more like 'atomecs by example', and highlight how the different modules are used to create different simulations, with the detailed usage and documentation of each module contained in those modules themselves