diff --git a/Lab 6/Lab 6.ipynb b/Lab 6/Lab 6.ipynb new file mode 100644 index 0000000..510b5f4 --- /dev/null +++ b/Lab 6/Lab 6.ipynb @@ -0,0 +1,357 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#
PHYS 134L Spring 2022 Lab 6
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Part 1: Stellar Evolutionary Tracks
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For a quick introduction to (or refresher on) many of the basic notions, see [here](http://www.tim-thompson.com/hr.html). \n", + "\n", + "For a more quantitative picture of stellar evolution, consider the files ```evol_M0.8.dat```, ```evol_M1.0.dat```, ```evol_M1.3.dat```,```evol_M1.8.dat```, and ```evol_M2.6.dat. These contain evolutionary tracks for stars with compositions similar to the Sun's and with masses of 0.8, 1.0, 1.3, 1.8, and 2.5 times the mass of the\n", + "Sun. The columns of the tables contain $\\log_{10}(Temperature~(K))$, $\\log_{10}(Luminosity~(solar~units)$), and Age (in Gyr). Notice (by opening one of the files in a text editor) that the range of ages in the various tables is fairly wide -- massive stars live for much shorter times than low-mass ones, though they are much more luminous. They burn brightly but burn out quickly." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Make a plot that shows the evolutionary tracks for all 5 stars overplotted on one graph. Use different colors to distinguish the different masses, and (for once) connect the points with straight lines, using no symbols. Make the x-axis log(Temperature), but make Temperature increase from right to left. (Because that’s the way astronomers do it. Don’t ask.) Make the y-axis log(Luminosity), increasing from bottom to top. On the track for the 1-solar-mass star mark the following points with text integers 1-5 the following locations: (1) Arrival on the main sequence. (2) Turnoff from the main sequence. (3) Beginning of the subgiant branch. (4) Base of the giant branch. (5) Tip of the giant branch.**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Now make the same plot again, only make all of the curves black, and do not provide any annotating integers. In each of the five data files, identify the point at which the age of the star is 10 million years old (0.01 Gyr). Create two arrays, giving log(Temperature) and log(Luminosity) for each of the stars at this age. Overplot this (jagged, because there are not very many points on it) curve, using a heavy green line. This is the 10-million-year isochrone (line of constant age). If you start with a group of stars (the members of a star cluster, say) that have the same initial composition and are formed at nearly the same time, then 10 million years later, you will see the stars of different masses strung out along this isochrone. In the same way, plot isochrones for ages of 0.1 Gyr, 0.6 Gyr, and 5.0 Gyr.**" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "#Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What do you think it means if the oldest age in a table is smaller than one of these isochrone ages?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Your answer here*" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Do a similar plot, but this time use only the data for the 1-solar-mass star (```evol_M1.0.dat```). Create an array that contains only the lines that lie as close as you can come to ages that are integer multiples of 1 Gyr, up to 12 Gyr. Overplot this table onto the original curve, using suitable symbols, but no lines connecting the points.**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Your Answer here*" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**About what fraction of this star’s life is spent on the main sequence? What fraction on the giant branch?**\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Your answer here*" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "##Part 2: Make you own HR Diagram
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we’re going to process some real data. We'll be using data on M67 found in the lab directory: ```M67_B.fits``` and ```M67_V.fits```. The files contain images of the Messier 67 object in the *B* and *V* filters, respectively. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Google around a bit to learn about the Messier catalog. **Describe it in your own words:**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Your answer here*" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**What kind of object is Messier 67?**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Your answer here*" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Use ```photutils``` like you did in Lab 4 to extract the photometry from the B and V-band images.**" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "#Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once you have extracted photometry for each of the images you now need to associate the stars between each image. The B and V-band images might be slightly offset from each other and may contain differential distortions between the filters. Open your final image in DS9 and pick 4 or 5 of the brightest stars. In the table below, for each image note their x and y positions and the difference." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "#Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Star| $B_x$ | $B_y$ | $V_x$ | $V_y$ | $\\Delta_{x}$ | $\\Delta_{y}$\n", + "---|---|---|--- |--- |--- |--- \n", + "1 |---|---|---|--- |--- |--- \n", + "2 |---|---|---|--- |--- |--- \n", + "3 |---|---|---|--- |--- |--- \n", + "4 |---|---|---|--- |--- |--- \n", + "5 |---|---|---|--- |--- |--- \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**What is the average $\\Delta_x$ and $\\Delta_y?**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Your answer here*" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Use this offset to match up stars from your two lists, much like you did before matching your stars to the Source Extractor Catalog, but not taking advantage of the average delta x and delta y you just measured.** Just as before, you may find that some stars don't exist in both catalogs. Set a maximum $r$ value as a threshold above which you can say there is no reasonable match. **Make a list of indices that match one magnitude list (B or V magnitude) to the other.**" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "#Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we need to calibrate our B and V magnitudes using the sky-map website. Use 5 stars in the field to do an absolute calibration of the $B$ and $V$ magnitudes (we did this in Lab 4!). **Please state which stars you used and what zero points (ZP) you obtained in the table below.**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Star| Star Name | $B_{mag}$ | $B_{skymap}$ | $B_{ZP}$ |$V_{mag}$ | $V_{skymap}$ | $V_{ZP}$ \n", + "---|---|---|--- |--- |--- |--- |--- \n", + "1 |---|---|---|--- |--- |--- |--- \n", + "2 |---|---|---|--- |--- |--- |--- \n", + "3 |---|---|---|--- |--- |--- |--- \n", + "4 |---|---|---|--- |--- |--- |--- \n", + "5 |---|---|---|--- |--- |--- |--- " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Make an HR Diagram with (calibrated) $B-V$ color plotted on the $x$-axis (make sure to follow astronomical convention on the direction of this axis!), and (calibrated) $V$ magnitude on the $y$-axis. Label the various important features of the HR Diagram in a plot in your notebook (see Part 1).**" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "#Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now download the solar metallicity (```lj98m01757.txt```) isochrones (recall isochrones from Part 1!) from [here](https://www.astronomy.ohio-state.edu/terndrup.1/iso/pl.html). Plot the solar metallicity isochrone that best fits your data on top of your HR diagram. You will have to manually adjust the V-magnitude by a certain offset to match the isochrone to your data. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What is the physical meaning of this offset? What does it tell you about the cluster (be quantitative)?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Your answer here*" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The age of this isochrone corresponds to your estimate of the age of the cluster. What is your estimate? How close is your estimate to the published value of age and distance (look this up)? What do you think are the largest sources of error in your estimate?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Your answers here*" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Lab 6/M67_B.fits b/Lab 6/M67_B.fits new file mode 100644 index 0000000..0184eec Binary files /dev/null and b/Lab 6/M67_B.fits differ diff --git a/Lab 6/M67_V.fits b/Lab 6/M67_V.fits new file mode 100644 index 0000000..4d0faaa Binary files /dev/null and b/Lab 6/M67_V.fits differ