ngedwin98 / ABCDBeamTrace.jl

ABCD formalism for linear optics in Julia: ray transfer matrices and Gaussian beam propagation
Other
9 stars 3 forks source link

lots of additions #9

Open ghost opened 5 years ago

ghost commented 5 years ago
  1. Doctests
  2. Examples of usage with two different, symbolic libraries (SymPy.jl and Symata.jl)
  3. Unitful integration
  4. Extension to non-Gaussian beams (deprecated Beam in favor of GaussianBeam, introduced AbstractBeam and GeometricBeam); split source files for these
  5. Deprecated RTM in favor of Base.Matrix
  6. Base.isapprox implementation
  7. More methods (beamparameter, waistradius, waistlocation, rayleighrange, ...); more constructor options
  8. More reference links in docs
  9. New build logic in docs/make.jl (necessary because the combination SymPy.jl and Symata.jl consistently breaks the first build attempt)
  10. Possibly some minor bugfixes (I'm not sure if I fixed anything that was broken before these changes, or if I only corrected work-in-progress within this squashed commit!)
  11. Changed required julia version to 1.0
ghost commented 5 years ago

This PR addresses most of the issues identified in https://github.com/ngedwin98/ABCDBeamTrace.jl/issues/6

EDIT: I just realized I submitted a PR with 15 commits in it—sorry! Is that still okay, or do we need some after-the-fact squashing?