Creating and Running Your Own Problem
This section covers how to set up your own problem and provides some of the many options for controlling the algorithm and simulation runs.
In IAMR, a combination of coded routines and inputs parameters provide the problem
setup. Inputs parameters can also alter the behavior of the algorithm and
provide controls over simulation runs.
Typically, the inputs parameters are collected into an inputs file, which is specified on
the commandline. Options can also be specified directly on the command line.
IAMR uses AMReX’s
infrastructure to read in the inputs parameters.
(See AMReX’s documentation on
ParmParse here: ParmParse.)
Before making any code changes, we highly reccomend creating a new git branch.
Extra points if the new branch’s name reflects the changes, e.g.
We do not reccomend making any changes within the
development branch because
doing so will make your local
development branch diverge from the matching branch
in the main IAMR repository. This can lead to difficulties pulling in updates and bug-fixes
from the main IAMR repo.
Here, we draw your attention to the option of creating a github “fork” of IAMR. A fork is a copy of a repository that you manage (see the github documentation for more details on forks). For more information on creating a fork of IAMR, see the Contributing Section (and yes, this is a reasonable option even if you don’t plan to contribute code changes to IAMR).
If you choose not to create a fork, you can create a new git branch in your local clone by
executing the following commands within the
git checkout development git checkout -b <branch_name>
To pull in any updates from the IAMR repo, execute:
git fetch git merge development
- Problem Setup
- Initial Conditions
- Problem Geometry
- Domain Boundary Conditions
- Tagging criteria for creating AMR Levels
- Constructing Embedded Boundaries
- Particles Initialization
- Physics Parameters
- Runtime Options
- Time Stepping
- Output Options
- Gridding and Load Balancing Inputs
- Multigrid Inputs
- Initializing the Calculation
- Checking Conservation
- Algortihm Options