Skip to content
Snippets Groups Projects

Experiments

Repository to collect parameter files and analysis scripts for DG experiments conducted with dg1d.jl.

The phdthesis folder contains the experiments presented in my thesis.

  • advection_sine
  • burgers_sine
  • eulereq_blast_wave
  • eulereq_sod_shock_tube
  • experiments_grhd_tov
  • grhd_bondi
  • grhd_bondi_infall
  • grhd_tov
  • srhd_simple_wave

Instructions on how to reproduce results

  1. Install Julia
    • curl -fsSL https://install.julialang.org | sh
    • Install version 1.10
      • juliaup add 1.10
      • juliaup default 1.10
  2. Setup dg1d.jl
    • git clone git@git.tpi.uni-jena.de:fatteneder/dg1d.jl.git
  3. Prepare dg1d.jl to run the experiments
    • In theory the latest version should be able to reproduce the results, because dg1d.jl employs integration tests to catch regressions in development. However, such tests cannot cover all possiblities, hence, it can easily occur that things do not work on main. If that's the case, it is recommened to restore the state of the project as it was used to generate the results.
    • Restore project state:
      1. Pick the expirement you want to repeat and navigate to that folder. In that folder you find subfolders, one for each run of the experiment, which contain three files.
        • A foldername.toml file with the parameters.
        • A Manifest.toml file with package versions.
        • A dirty file with the git commit and potential uncommited changes. (In theory, Manifest.toml and dirty should be the same for all subfolders, because all experiments are typically run at the same time. But just double check in case I forgot to commit something.)
      2. Restore the git commit.
        • Go to dg1d.jl and git checkout the commit listed at the top of the dirty file.
        • If dirty contains uncommited changes, then copy dirty to dg1d.jl, remove the first two lines with the git commit hash, and run git apply dirty. (in general dirty should not contain changes, and I haven't really tested the patching yet)
        • Replace the current Manifest.toml in dg1d.jl with the one from the experiment.
        • Run
          $ julia --project # inside the dg1d.jl directory
          julia> using Pkg
          julia> Pkg.instantiate() # should restore versions as used when the experiments were run
  4. Run experiments
$ julia --project --threads 8 # only affects GRHD and SRHD projects where the c2p is threaded
julia> using dg1d
julia> main("/path/to/parameter/file")