paveloom-university / Computer-Simulation-S10-2022

Building computer models of physical processes

Home Page:https://paveloom-university.github.io/Computer-Simulation-S10-2022

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Notices

Mirrors

Repository:

References:

  • sitnikov [GH] [GL]: Simulating the Sitnikov problem
    • integrators [GH] [GL]: Providing an interface for integrating a system of 1st-order ODEs
  • harmonics [GH] [GL]: Testing the simulated annealing algorithm on a linear combination of spherical harmonics
    • annealing [GH] [GL]: Providing an interface for global optimization using simulated annealing

Rust

This project provides Rust crates. To build them, use Cargo.

CLI

This project provides binaries with command-line interfaces. To see the usage examples, run cargo run -- --help.

Tests

To run tests, consider using nextest.

KaTeX

To build a crate's documentation with KaTeX support, run:

cargo doc
RUSTDOCFLAGS="--html-in-header assets/katex-header.html" cargo doc --no-deps --open

Julia

This project provides Julia scripts. Make sure to use the project files (Project.toml) when running them:

julia --project=. -e "using Pkg; Pkg.instantiate()"
julia --project=. scripts/script.jl

Alternatively, you can use the julia.bash script, which starts a daemon and runs scripts through it:

julia --project=. -e "using Pkg; Pkg.instantiate()"
./julia.bash scripts/script.jl

To kill the daemon run

./julia.bash kill

Pluto

This project provides Pluto notebooks. You can interact with them in the web interface:

julia --project=. -e "using Pkg; Pkg.instantiate()"
julia --project=.
using Pluto
Pluto.run()

Alternatively, you can run them as scripts:

julia --project=. -e "using Pkg; Pkg.instantiate()"
julia --project=. notebooks/pluto/notebook.jl

About

Building computer models of physical processes

https://paveloom-university.github.io/Computer-Simulation-S10-2022

License:MIT License


Languages

Language:Rust 70.6%Language:Julia 25.1%Language:HTML 2.2%Language:Shell 2.1%