JuliaGNI / GeometricIntegrators.jl

Geometric Numerical Integration in Julia
MIT License
47 stars 9 forks source link

Improve docstrings #107

Open ranocha opened 3 years ago

ranocha commented 3 years ago

Some docstrings are not really helpful, e.g.

julia> using GeometricIntegrators
help?> Integrator
search: Integrator Integrators IntegratorRK IntegratorERK IntegratorIPRK IntegratorFLRK IntegratorFIRK

  Print error for integrators not implemented, yet.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for explicit Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for diagonally implicit Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for fully implicit Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for explicit partitioned Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for implicit partitioned Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for variational partitioned Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for formal Lagrangian Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for Projected Gauss-Legendre Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for variational partitioned additive Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for special partitioned additive Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for variational special partitioned additive Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for variational special partitioned additive Runge-Kutta tableau with projection on primary
  constraint.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for variational special partitioned additive Runge-Kutta tableau with projection on
  secondary constraint.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for Hamiltonian partitioned additive Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for Hamiltonian special partitioned additive Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for Hamiltonian special partitioned additive Runge-Kutta tableau with projection on primary
  constraint.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for splitting tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for stochastic explicit Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for weak explicit Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for stochastic fully implicit Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for stochastic fully implicit partitioned Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for stochastic fully implicit split partitioned Runge-Kutta tableau.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Create integrator for weak fully implicit Runge-Kutta tableau.

help?> integrate
search: integrate integrate! integrate_step! IntegratorERK IntegratorEPRK IntegratorExactODE

  Apply integrator for ntime time steps and return solution.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Integrate given equation with given tableau for ntime time steps and return solution.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Integrate ODE specified by vector field and initial condition with given tableau for ntime time steps and
  return solution.

  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Integrate PODE specified by two vector fields and initial conditions with given tableau for ntime time steps
  and return solution.

help?> TableauExplicitEuler
search: TableauExplicitEuler TableauExplicitMidpoint

  Tableau for explicit Euler method

I still don't know how to call the corresponding methods.

michakraus commented 3 years ago

I updated the docstrings for

Equations
Solutions
AtomicSolutions
Integrator
integrate
integrate!

to make them somewhat more useful. There's still quite some room for improvement though...

michakraus commented 3 years ago

I also added constructor descriptions to the docstrings of the tableaus in RungeKutta.jl.