AMReX-Astro / AMReX-Astro/Castro

create an API for updating runtime parameters

Open
#2,701 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

clean-up
Dominant language
C++
Stars
340
Forks
105
Avg merge
3d 8h
Merged PRs (30d)
8

Description

For most runtime parameters, we read them at initialization and they never change. But we have a few cases where depending on the values of other parameters, we change some. This should be done explicitly through a setter function so we can catch changes when we transition to structs for the runtime parameters.

Here's a partial list of runtime parameters that we override:

  • do_reflux (in Castro.cpp, read_params())
  • rot_axis (in Castro.cpp, read_params())
  • sdc_iters (in Castro_advance_ctu.cpp)
  • small_temp, small_dens, small_pres, small_ener (all in Castro_setup.cpp)
  • rotational_period (in Castro_io.cpp, scf_relax.cpp)
  • point_mass (in Castro_io.cpp, Castro_pointmass.cpp)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the runtime-parameter initialization and override paths in Castro.cpp/read_params(), Castro_advance_ctu.cpp, Castro_setup.cpp, Castro_io.cpp, scf_relax.cpp, and Castro_pointmass.cpp. Define the setter API around the listed parameters and update those override sites so changes are explicit and ready for the transition to structs; verify every listed parameter uses the API.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
hpc
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.