Hackathon Menu

Stellar winds

Stellar winds are an important aspect of massive star evolution. As mass is lost from the outer layers of the star, they carry away angular momentum (see previous section). We are going to add some winds to our $15\mathrm{M_{\odot}}$ star, which will make it much more realistic.

This part of the hackathon is based heavily on the MESA down under day 2 minilab3. A lot of credit goes to Aldana Grichener, and Jared Goldberg for the content.

Tasks W.1

  1. Setting up your run:
    • We want to save our run in a separate folder again: change: log_directory = 'LOGS_winds'
    • Remove the Tayler Spruit dynamo that we added in the previous exercise, i.e. comment out or remove D_ST_factor = 1.0 and am_nu_ST_factor = 1.0.
    • Add some wind prescriptions to our model, by including the following in the controls section of our inlist_rotating_star:
      	
      ! wind
      	cool_wind_full_on_T = 1d4 ! cool wind scheme takes effect below this temperature
      	cool_wind_RGB_scheme = 'Dutch'
      	cool_wind_AGB_scheme = 'Dutch'
      	Dutch_scaling_factor = 0.8d0 ! scaling for the Dutch wind scheme (default = 0, so no mass loss)
      
      	hot_wind_full_on_T = 1.01d4 ! hot wind scheme takes effect above this temperature
      	hot_wind_scheme = 'Vink'
      	Vink_scaling_factor = 3d0 
      	
      
      where the top 4 lines set the wind schemes for cool stars (that is winds on the red giant branch and asymptotic giant branch), and the bottom 3 lines are for hot stars (i.e., main sequence, Hertzsprung-gap and Wolf-Rayet stars).
    • Run your model with ./rn !
  2. Plot the 'star_age' versus the log of the wind mass loss rate 'log_abs_mdot'. When is the star losing more mass, earlier or later in its evolution?
  3. Plot the j-profile, this time only at only at core-He exhaustion..
    • Surface effects: Does the wind carry away high or low specific-angular momentum?
      How will this affect the surface rotation? Check your expectation by printing out the surface rotation rate at the end of the simulation (e.g., histdata.surf_avg_v_rot[-1]).
    • What is happening to the core?
      Focus on the core-envelope boundary, is the core-envelope boundary at higher or lower mass? Now focus on the height of the specific angular momentum at that core-envelope boundary, is it higher or lower when winds are included?

Using the Other_wind hook

The 'bubble nebula' NGC_7635 caused by the winds of a $44 M_{\odot}$ star.
Credit: NASA, Hubble Space Telescope

The wind mass loss prescriptions that we use in MESA are based on observations. Unfortunately, massive stars are rare, and even when you manage to observe them, it is very difficult to measure their mass loss rates. Moreover the theoretical processes by which stars launch winds are also poorly-understood. Because of this, the wind mass loss rates are still very uncertain, and you might find yourself in a situation where you want to test the effect of your own custom wind prescription.

Because of the many uncertainties, we will take a parameterized approach: we will consider constant mass loss rates and their impact on the stellar structure and evolution of the star. To do this, we need to use the 'other_wind hook' in run_star_extras.f90 . The 'other' hooks in MESA are extremely useful as they allow us to implement different physical concepts through run_star_extras.f90 without changing the source-code of MESA.

Tasks W.2

  1. Open the file $MESA_DIR/star/other/other_wind.f90. From there, copy the subroutine "null_other_wind" to your run_star_extras.f90 file located at ~/rotating_star_proj/src/run_star_extras.f90
    This routine will set your stellar wind mass loss to a constant rate specified by w (in units of Msun/year).
  2. Rename this routine to "other_wind_routine" for clarity. Don't forget to rename both the beginning (declaration) and the end statement of the subroutine!
  3. Choose a constant mass loss rate between $5\cdot10^{-8}\,\mathrm{M_{\odot}/yr}$ and $8\cdot10^{-7}\,\mathrm{M_{\odot}/yr}$ which you would like to apply to the star, by writing your name next to the chosen rate in this google spreadsheet. In your run_star_extras.f90, change w=0 to your chosen rate.

    Note! Runs with higher values of w tend to take longer to run

  4. We need to tell MESA to actually use the wind routine we just created. Add a pointer your other_wind_routine in the subroutine 'extras_controls' by adding the line s% other_wind => other_wind_routine
  5. Finally, activate the 'other_wind_routine' in your simulation by replacing the previously added winds (e.g., by commenting them out), with a pointer to the new 'other_wind_routine'.
    Do this by adding use_other_wind = .true. as a line to the &controls section of inlist_rotating_star
    If you want to save this in a separate folder again (recommended), change: log_directory = 'LOGS_other_winds'
  6. Don’t forget to recompile the simulations by using the command ./clean ; ./mk from the terminal in your rotating star directory, before you ./rn!
  7. Write down the stellar mass (star_mass, Radius, and total angular momentum (log_total_angular_momentum) at the end of the simulation in the google spreadsheet. next to your name. When everyone has filled out their values: what happens to the stars radius when the star has a higher mass loss rate?