Skip to content

Repository files navigation

GeometricExamples.jl

Documentation CI Documentation build

This package collects simulation results of GeometricIntegrators.jl belonging to various publications. The example problems come from GeometricProblems.jl, the Poincaré integral invariants from PoincareInvariants.jl, and all figures are produced with CairoMakie.

The results are the documentation: juliagni.github.io/GeometricExamples.jl/dev. Each of its 65 pages runs one family of integration methods over one problem and collects, per run, the trajectory, its time traces, and the errors of the conserved quantities. Runs that diverge are reported on their page together with the trajectory up to the point of failure: comparing methods that do and do not preserve the geometric structure is the point of these examples, so failures are shown rather than hidden.

Problems covered:

Only dev is published: the package carries no release tags, so Documenter builds nothing under stable.

Reproducing the Figures

Weave all pages into docs/src/<problem>/ and build the documentation into docs/build/ (-j8 runs eight pages in parallel; -k keeps going if one of them fails):

cd docs
make -j8 -k weave
make documenter

make -j8 point-vortices weaves all pages of a single problem, and

julia --project=.. weave.jl point-vortices vprk-gauss

a single page. From the repository root, make weave, make documenter and make test forward to the same targets.

Run the test suite, which integrates every method of every family for a single time step and checks the standard map against its closed form:

julia --project -e 'using Pkg; Pkg.test()'

julia --project test/test_scripts.jl additionally exercises the whole weave path — the run drivers, the crash reporting and the CairoMakie stack — in a temporary directory.

Status

Every family of the pre-0.2 gallery has been migrated to src/ + weave/ except the 3d charged particle, which was already broken before the modernization. The pre-0.2 scripts themselves have been removed; the [Unreleased] section of CHANGELOG.md records how they map onto the current structure, which of them never ran, and the one study that did not come across, and the git history holds the originals. The Known Gaps section of the documentation covers the integrators, outputs and run lengths that the modernization to GeometricIntegrators 0.16 left behind.

References

  • Michael Kraus. Hamilton-Pontryagin-Galerkin Integrators.
  • Michael Kraus. Discontinuous Galerkin Variational Integrators for Degenerate Lagrangians.
  • Michael Kraus. Discontinuous Galerkin Variational Integrators for Hamiltonian Systems with Dirac Constraints.
  • Michael Kraus. Projected Variational Integrators for Degenerate Lagrangian Systems.
  • Michael Kraus. Variational Integrators for Noncanonical Hamiltonian Systems.
  • Michael Kraus, Joshua Burby. Conservation of Poincaré Integral Invariants in Numerical Simulations.

License

The GeometricExamples.jl package is licensed under the MIT "Expat" License. All figures are licensed under the Creative Commons CC BY-NC-SA 4.0 License.

About

Documentation of numerical examples for GeometricIntegrators.jl

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages