Skip to content

Latest commit

 

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to the course on Simulation and Modeling in Astrophysics. This course consists of live lectures and lab assignments

All necessary information for the course can be found on this git repository. Familiarise yourself with the content. In understanding how to use AMUSE as a programming tools, tutorials are provided alongside the textbook which gives a deeper understanding of the codes, their techniques used, some free parameters influencing their integration and examples to show the capabilities. You are NOT required to complete them all, but they can help you when constructing your project.

Communication on any updates regarding course material will be provided on the Brightspace, email, git or Slack. You can also contact the teaching assistants via Slack. All further information is available on the wiki.

During this course, you will work on a research project using existing computational tools and state-of-the-art simulation codes. You will be using the AMUSE software. You will learn how to perform astronomical simulations and assess the results.

Your final score will reflect your ability to use the simulation environment, how to conduct scientific computations and research in general.

AMUSE-Tutorial

Here are a number of small AMUSE tutorials in the form of python notebooks. These tutorial will (in part) be used for the lecture series on Simulation and Modeling in astrophysics at Leiden Observatory of Leiden University, year 2026 September to December.

An early version of the book can be found in the directory `Book/'

The script to calculate the final verdict for this course in the directory `Verdict/'

An example student score matrix is filled in the directory `Score/'

Further course information can be found at the wiki

Responsibility --so-far-- is by Simon Portegies Zwart But anybody who would like to contribute is welcome.

The course is composed of 12 lectures with an equal number of assignments. Which can be found here: https://github.com/amusecode/Tutorial/

List of tutorials:

Check that all the codes are actually installed correctly by importing them all.

Exploring some of the capabilities of units in AMUSE

Learning objectives

  • How to import AMUSE modules.
  • Declare variable and parameters with units.
  • Perform simple mathematical operations on variables with units.
  • Printing results in your preferred units.

Handling particles

  • Initialize particle sets.
  • Assign values to particle-set attributes.
  • Use particle-set member functions.
  • Assign a new attribute to a particle set.
  • Manipulate particle sets.
  • Query particle sets and get help.
  • Select specific particles from a set.

Learn how to use modules and set up binary and multiple systems.

Learning objectives

  • Set-up a particle set.
  • Initialize planetary system.
  • Converting orbital elements to Cartesian coordinates.
  • Generate binary from orbital elements.

perform simple N-boyd simulation

Learning objectives

  • How to generate inital conditions using built-in functions:
    • How to generate a mass-function.
    • How to generate a point-symmetric density distribution of particles.
  • Initializing a direct gravitational N-body code.
  • Initialize and use channels for intra-code data transfer.
  • Detecting binaries.
  • Simple plotting using matplotlib and AMUSE-native overloads.
  • Making cumulative distributions

Perform simple stellar evolution calculation by setting up a stellar mass-function, declaring the stellar evolution code and run it to a certain moment in time.

Learning objectives

  • Generate stellar mass-function from internal AMUSE routine.
  • Plot the results.
  • Use channels from and to running modules.

Run a stellar evolution code as well as an N-body code and assure that the result is self consistent.

Learning objectives

  • Initiate multiple independent codes.
  • exchange information from one code to another.
  • Use Channels across modules.
  • Plot results.

Perform an N-body calculation that includes stellar evolution and collisions between stars.

Learning objectives

  • Channels
  • Generate initial conditions.
  • Initialize stellar and N-body codes.
  • More advanced channels for copying specific attributes.
  • Sstopping conditions.
  • Initiate collision detection.
  • Find a specific particle in another particle set.
  • Merge stars.
  • How to find an interacting subset of particles

Simulate a single star (and a cluster) in orbit around the Galactic center.

Learning objectives

  • Single-directional hierarchical code coupling strategy (i.e. classice bridge).
  • Bridge timesteps.
  • Constructing classes in Python
  • Incorporating an external potential to an N-body simulation
  • Appreciate the role of get_gravity_at_point function in bridge.
  • Appreciate the role of get_potential_at_point function in bridge.

Simulate several planetary system, each with their own N-body integrator, and the lot integrated in another N-body code. Note that here the interactions of one planet to the planets around another star are ignored in this implementation.

Learning objectives

  • use a cascade of bridges

Not yet documented Not yet working You simulate a debris disk around a moon, in orbit around a planet, in orbit around a star. This requires a higher order bridge, in order to assure that the orbital integration is performed with sufficient precision and accuracy.

Learning objectives

  • Initialize a two-way bridge
  • High-order bridge initalization
  • How to construct a disk around a celestial body.

Evolve a massive single star up to the moment it explodes in a supernova. After this we inject energy into the inner-region of the star and follow the hydrodynamics of the explosion by means of a smoothed-particle hydrodynamics code.

Learning objectives

  • Run another AMUSE module to generate initial conditions for yet another code.
  • How to recove the crash of a code and pick-up the result.
  • Store simulation data in the form if python pickel files, and recover from those.
  • plot the result of a hydrodynamical simulation.
  • make an animation of simulation results.
  • Run an AMUSE module as a parallel job.
  • learn how to construct a population of stars that did not co-evolve

running_radiative_transport.ipynb

Not yet constructed

License

MIT

About

No description, website, or topics provided.

Resources

Stars

28 stars

Watchers

10 watching

Forks

Releases

Packages

Contributors

Languages