PHOEBE 2.0 Documentation

2.0 Docs

  • 1.0
  • 2.0a
  • ver: 2.0


Prev: Limb Darkening Next: Reflection and Heating
.

IPython Notebook | Python Script

Gravitational Redshift (RVs)

Setup

As always, let’s do imports and initialize a logger and a new bundle. See Building a System for more details.

%matplotlib inline
import phoebe
from phoebe import u # units
import numpy as np
import matplotlib.pyplot as plt

logger = phoebe.logger()

b = phoebe.default_binary()
WARNING: Constant u'Gravitational constant' is already has a definition in the u'si' system [astropy.constants.constant]
WARNING: Constant u'Solar mass' is already has a definition in the u'si' system [astropy.constants.constant]
WARNING: Constant u'Solar radius' is already has a definition in the u'si' system [astropy.constants.constant]
WARNING: Constant u'Solar luminosity' is already has a definition in the u'si' system [astropy.constants.constant]
/usr/local/lib/python2.7/dist-packages/astropy/units/quantity.py:782: FutureWarning: comparison to None will result in an elementwise object comparison in the future.
  return super(Quantity, self).__eq__(other)
b.add_dataset('rv', times=np.linspace(0,1,101), dataset='rv01')
<ParameterSet: 15 parameters | contexts: compute, dataset>
b.set_value_all('ld_func', 'logarithmic')
b.set_value_all('ld_coeffs', [0.0, 0.0])
b.set_value_all('atm', 'blackbody')

Relevant Parameters

Gravitational redshifts are only accounted for flux-weighted RVs (dynamical RVs literally only return the z-component of the velocity of the center-of-mass of each star).

First let’s run a model with the default radii for our stars.

print b['value@rpole@primary@component'], b['value@rpole@secondary@component']
1.0 1.0

Note that gravitational redshift effects for RVs (rv_grav) are disabled by default. We could call add_compute and then set them to be true, or just temporarily override them by passing rv_grav to the run_compute call.

b.run_compute(rv_method='flux-weighted', rv_grav=True, irrad_method='none', model='defaultradii_true')
<ParameterSet: 4 parameters | components: primary, secondary>

Now let’s run another model but with much smaller stars (but with the same masses).

b['rpole@primary'] = 0.4
b['rpole@secondary'] = 0.4
b.run_compute(rv_method='flux-weighted', rv_grav=True, irrad_method='none', model='smallradii_true')
<ParameterSet: 4 parameters | components: primary, secondary>

Now let’s run another model, but with gravitational redshift effects disabled

b.run_compute(rv_method='flux-weighted', rv_grav=False, irrad_method='none', model='smallradii_false')
<ParameterSet: 4 parameters | components: primary, secondary>

Influence on Radial Velocities

fig = plt.figure(figsize=(10,6))
ax1, ax2 = fig.add_subplot(121), fig.add_subplot(122)

axs, artists = b['rv01@defaultradii_true'].plot(ax=ax1, ylim=(-150,150))
axs, artists = b['rv01@smallradii_true'].plot(ax=ax2, ylim=(-150,150))
../../_images/grav_redshift_17_0.png
fig = plt.figure(figsize=(10,6))
ax1, ax2 = fig.add_subplot(121), fig.add_subplot(122)

axs, artists = b['rv01@smallradii_true'].plot(ax=ax1, ylim=(-150,150))
axs, artists = b['rv01@smallradii_false'].plot(ax=ax2, ylim=(-150,150))
../../_images/grav_redshift_18_0.png

Besides the obvious change in the Rossiter-McLaughlin effect (not due to gravitational redshift), we can see that making the radii smaller shifts the entire RV curve up (the spectra are redshifted as they have to climb out of a steeper potential at the surface of the stars).

print b['rvs@rv01@primary@defaultradii_true'].get_value().min()
print b['rvs@rv01@primary@smallradii_true'].get_value().min()
print b['rvs@rv01@primary@smallradii_false'].get_value().min()
-130.677294491
-125.650115357
-134.071219753
print b['rvs@rv01@primary@defaultradii_true'].get_value().max()
print b['rvs@rv01@primary@smallradii_true'].get_value().max()
print b['rvs@rv01@primary@smallradii_false'].get_value().max()
137.414186452
142.492324189
134.071219793
Prev: Limb Darkening Next: Reflection and Heating
.
Last update: 06/07/2017 11:30 a.m. (CET)