https://amrex-astro.github.io/Castro/
Castro (Compressible Astrophysics): An adaptive mesh, astrophysical compressible (radiation-, magneto-) hydrodynamics simulation code for massively parallel CPU and GPU architectures.
https://amrex-astro.github.io/Castro/
adaptive-mesh-refinement amr astrophysical-simulation astrophysics castro cfd gravity hydrodynamics pde radiation reactions
Last synced: about 1 month ago
JSON representation
Castro (Compressible Astrophysics): An adaptive mesh, astrophysical compressible (radiation-, magneto-) hydrodynamics simulation code for massively parallel CPU and GPU architectures.
- Host: GitHub
- URL: https://amrex-astro.github.io/Castro/
- Owner: AMReX-Astro
- License: other
- Created: 2015-01-21T20:10:37.000Z (about 10 years ago)
- Default Branch: main
- Last Pushed: 2025-03-05T00:54:51.000Z (about 2 months ago)
- Last Synced: 2025-03-05T01:32:02.866Z (about 2 months ago)
- Topics: adaptive-mesh-refinement, amr, astrophysical-simulation, astrophysics, castro, cfd, gravity, hydrodynamics, pde, radiation, reactions
- Language: C++
- Homepage: http://amrex-astro.github.io/Castro
- Size: 170 MB
- Stars: 306
- Watchers: 19
- Forks: 98
- Open Issues: 119
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: license.txt
- Code of conduct: code_of_conduct.md
- Citation: CITATION.md
Awesome Lists containing this project
README
[](https://doi.org/10.5281/zenodo.2301848)
[](https://doi.org/10.21105/joss.02513)
[](https://amrex-codes.github.io)
[](https://yt-project.org)
[](https://github.com/AMReX-Astro/Castro/actions?query=workflow%3A%22github+pages%22)
[](https://scan.coverity.com/projects/amrex-astro-castro)
*an adaptive mesh, astrophysical radiation hydrodynamics simulation code*
`Castro` is an adaptive-mesh compressible radiation / MHD / hydrodynamics
code for astrophysical flows. `Castro` supports a general equation of
state, full Poisson gravity, and reactive flows, and is parallelized
with MPI + OpenMP for CPUs and MPI + CUDA for NVIDIA GPUs and MPI + HIP for
AMD GPUs.More information on Castro can be found here:
http://amrex-astro.github.io/Castro/
## Getting Started
The "Getting Started" section of the User's Guide walks you
through running your first problem:https://amrex-astro.github.io/Castro/docs/getting_started.html
This will have you clone Castro and its dependencies (AMReX and
AMReX-Astro Microphysics),The User's Guide in written in re-structured text using Sphinx, with
the source in `Castro/Docs/`, and is built automatically
from the `development` branch.## Running at Supercomputer Centers
Documentation for running the AMReX Astrophysics codes at popular
supercomputing centers can be found at:
https://amrex-astro.github.io/workflow/## Development Model:
Development generally follows the following ideas:
* New features are committed to the `development` branch.
Nightly regression testing is used to ensure that no answers
change (or if they do, that the changes were expected).If a change is critical, we can cherry-pick the commit from
`development` to `main`.* Contributions are welcomed from anyone in the form of a pull
request from your fork of Castro, targeting the `development`
branch. (If you mistakenly target `main`, we can change it
for you.)Please add a line to `CHANGES.md` summarizing your change if it
is a bug fix or new feature. Reference the PR or issue as
appropriate. Additionally, if your change fixes a bug (or if
you find a bug but do not fix it), and there is no current
issue describing the bug, please file a separate issue describing
the bug, regardless of how significant the bug is. If possible,
in both the `CHANGES.md` file and the issue, please cite the pull
request numbers or git commit hashes where the problem was
introduced and fixed, respectively.We will squash commits upon merge to have a clean history.
*Please ensure that your PR title and and the PR summary field are
descriptive, since these will be used for a squashed commit message.** On the first workday of each month, we perform a merge of
`development` into `main`, in coordination with `AMReX`,
`Maestro`, and `Microphysics`. For this merge to take place, we
need to be passing the regression tests.To accommodate this need, we close the merge window into
`development` a few days before the merge day. While the merge
window is closed, only bug fixes should be pushed into
`development`. Once the merge from `development` -> `main` is
done, the merge window reopens.## Core Developers
People who make a number of substantive contributions will be named
"core developers" of Castro. The criteria for becoming a core
developer are flexible, but generally involve one of the following:* 10 non-merge commits to `Castro/Source/` or `Castro/Docs/`
or one of the problems that is not your own science problem *or** addition of a new algorithm / module *or*
* substantial input into the code design process or testing
Core developers will be recognized in the following ways:
* invited to the group's slack team
* listed in the User's Guide and website as a core developer
* listed in the author list on the Zenodo DOI for the project
(as given in the .zenodo.json file)* invited to co-author general code papers / proceedings describing
Castro, its performance, etc. (Note: science papers will always
be left to the science leads to determine authorship).If a core developer is inactive for 3 years, we may reassess their
status as a core developer.## Getting help
We use Github discussions for asking general questions about the code:
https://github.com/AMReX-Astro/Castro/discussions