parthenon-hpc-lab / athenapk

AthenaPK: a performance portable version of Athena++ built on Parthenon and Kokkos
BSD 3-Clause "New" or "Revised" License
52 stars 13 forks source link

Why are you using problem/[id] for initial conditions? #47

Closed tbhaxor closed 1 year ago

tbhaxor commented 1 year ago

Hi, I am wondering why did you plan to use <problem/[id]> instead of <problem> like athena++ code?

Also are you planning to use different AMR solutions along with parthenon? If not, then why are you using <parthenon/....> in blocks?

pgrete commented 1 year ago

Hi, I am wondering why did you plan to use <problem/[id]> instead of <problem> like athena++ code?

In principle, this way you could use a single parameter file for all kind of simulation. It also makes the distinction easier (and may potentially reduce unintended copy paste errors) as every "full" parameter is now unique, e.g., <problem/blast/amp> versus <problem/wave/amp>`.

Also are you planning to use different AMR solutions along with parthenon? If not, then why are you using <parthenon/....> in blocks?

The main intention is to highlight options in the input file that are controlled by logic inside Parthenon versus logic controlled by a downstream code. In the long run (when the documentations will be more complete), it should be transparent that for <parthenon/....> blocks one would look at the joint Parthenon doc, whereas for other blocks the downstream doc is the first place to go.

tbhaxor commented 1 year ago

That makes sense. One example I can think of is both Rayleigh-Taylor and Kelvin-Helmholtz tests.