-
Notifications
You must be signed in to change notification settings - Fork 128
Style Guide
Conforming to a set of style guidelines is crucial for maintaining code clarity. A consistent style makes it easier for others to understand the implementation when reading the source code, and it may prevent bugs from being introduced into the codebase. Style is very personal, and there is no one "correct" style for all codes. However, in Athena++, all developers should make a best faith effort to conform to the following style guidelines:
Athena++ is designed to be used with linters for static analysis of the source code to catch style issues, syntax errors, and questionable usage of language constructs. User instructions for operating the recommended C++ and Python linter scripts are provided in each subpage. However, most editors can be configured to automatically invoke these linters.
The Athena++ repository also includes Bash scripts, athinput.
input files, Markdown documentation, YAML configurations, and other miscellaneous file formats. No specific style guidelines are enforced for these files, but it is recommended that users consult the style of existing examples of each file format in the repository before working with them.
Getting Started
User Guide
- Configuring
- Compiling
- The Input File
- Problem Generators
- Boundary Conditions
- Coordinate Systems and Meshes
- Running the Code
- Outputs
- Using MPI and OpenMP
- Static Mesh Refinement
- Adaptive Mesh Refinement
- Load Balancing
- Special Relativity
- General Relativity
- Passive Scalars
- Shearing Box
- Diffusion Processes
- General Equation of State
- FFT
- Multigrid
- High-Order Methods
- Super-Time-Stepping
- Orbital Advection
- Rotating System
- Reading Data from External Files
- Non-relativistic Radiation Transport
- Cosmic Ray Transport
- Units and Constants
Programmer Guide