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
- Install Julia
curl -fsSL https://install.julialang.org | sh
- Install version 1.10
juliaup add 1.10
juliaup default 1.10
- Setup
dg1d.jl
git clone git@git.tpi.uni-jena.de:fatteneder/dg1d.jl.git
- 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:
- 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
anddirty
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.)
- A
- Restore the git commit.
- Go to
dg1d.jl
andgit checkout
the commit listed at the top of thedirty
file. - If
dirty
contains uncommited changes, then copydirty
todg1d.jl
, remove the first two lines with the git commit hash, and rungit apply dirty
. (in generaldirty
should not contain changes, and I haven't really tested the patching yet) - Replace the current
Manifest.toml
indg1d.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
- Go to
- 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.
- In theory the latest version should be able to reproduce the results,
because
- 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")