Basics
Essential Concepts Before You Start
Section titled “Essential Concepts Before You Start”A quick overview of the ideas that underpin every simulation code in this guide. Knowing these will make setting up your first run much easier.
What you’ll gain
Section titled “What you’ll gain”- A working mental model of what a simulation actually does under the hood.
- Clarity on which settings matter most for a first attempt.
- Awareness of common beginner mistakes — wrong units, overly ambitious runs, skipping validation.
Core Concepts
Section titled “Core Concepts”- Hydrodynamics + Gravity: Most cosmological simulations compute how gas flows and pulls on itself through gravity at the same time.
- Discretization: Computers cannot model a continuous universe directly, so the domain is broken into grid cells or particles.
- Resolution: Finer detail demands more memory and compute time — often by a large factor.
- Timestep Control: The simulation advances in small time increments. Rules like the CFL condition keep those steps small enough for numerical stability.
- Initial Conditions: Even a flawless code will produce nonsense if the starting data is wrong.
- Boundary Conditions: Is the simulation volume periodic (repeating) or isolated (a single object in empty space)? The choice fundamentally changes the physics.
- Subgrid Models: Approximate recipes for processes that happen below the resolution limit — star formation, radiative cooling, feedback, etc.
- Convergence Testing: A single run is never enough. Results should be compared across different resolutions to confirm they are trustworthy.
Pre-Run Checklist
Section titled “Pre-Run Checklist”- Set a clear, limited goal: For example — “Run the provided test case and confirm the check script reports Pass.”
- Start small: Use the simplest official example. Don’t attempt a full galaxy simulation on day one.
- Check the outputs: Make sure files actually appear where they should.
- Read the logs: Look beyond crash messages — warnings often contain useful hints.
- Validate: If the code ships a check script, run it.
- Change one thing at a time: Modify a single parameter per re-run so you can isolate effects.
How to Read Documentation Efficiently
Section titled “How to Read Documentation Efficiently”- Jump to the Getting Started or Running section first.
- Locate the example folder you plan to run.
- Only look up parameters that your chosen example actually uses.
- Save the detailed method papers for after you have a test run working.
Following this order will keep you from getting lost in documentation overload.