PHOEBE 2.0 Documentation

2.0 Docs

  • 1.0
  • 2.0a
  • ver: 2.0


IPython Notebook | Python Script

Intensity Weighting

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:astropy:Constant u'Gravitational constant' is already has a definition in the u'si' system
WARNING: Constant u'Solar mass' is already has a definition in the u'si' system [astropy.constants.constant]
WARNING:astropy:Constant u'Solar mass' is already has a definition in the u'si' system
WARNING: Constant u'Solar radius' is already has a definition in the u'si' system [astropy.constants.constant]
WARNING:astropy:Constant u'Solar radius' is already has a definition in the u'si' system
WARNING: Constant u'Solar luminosity' is already has a definition in the u'si' system [astropy.constants.constant]
WARNING:astropy:Constant u'Solar luminosity' is already has a definition in the u'si' system
/usr/local/lib/python2.7/dist-packages/astropy/units/quantity.py:732: FutureWarning: comparison to None will result in an elementwise object comparison in the future.
  return super(Quantity, self).__eq__(other)
b.add_dataset('lc', times=np.linspace(0,1,101))
<ParameterSet: 15 parameters | contexts: compute, dataset>
b.add_dataset('mesh', times=[0])
<ParameterSet: 2 parameters | contexts: compute, dataset>

Relevant Parameters

b['intens_weighting']
<Parameter: intens_weighting=energy | keys: description, choices, value, visible_if, copy_for>
print b['intens_weighting']
Parameter: intens_weighting@lc01@dataset
                       Qualifier: intens_weighting
                     Description: Whether passband intensities are weighted by energy of photons
                           Value: energy
                         Choices: energy, photon

Influence on Light Curves (fluxes)

for teff_primary in [5000,7500,10000,12500,15000]:
    b['teff@primary'] = teff_primary
    b['teff@secondary'] = 0.9 * teff_primary

    for weighting in ['energy', 'photon']:
        b['intens_weighting'] = weighting
        b.run_compute(irrad_method='none', model='{}_{}'.format(teff_primary, weighting))
WARNING:PARAMETERS:'primary' probably has a radiative atm (teff=10000K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:PARAMETERS:'primary' probably has a radiative atm (teff=10000K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:PARAMETERS:'primary' probably has a radiative atm (teff=10000K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:BUNDLE:'primary' probably has a radiative atm (teff=10000K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:PARAMETERS:'primary' probably has a radiative atm (teff=10000K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:BUNDLE:'primary' probably has a radiative atm (teff=10000K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:PARAMETERS:'primary' probably has a radiative atm (teff=12500K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:PARAMETERS:'primary' probably has a radiative atm (teff=12500K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:PARAMETERS:'primary' probably has a radiative atm (teff=12500K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:BUNDLE:'primary' probably has a radiative atm (teff=12500K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:PARAMETERS:'primary' probably has a radiative atm (teff=12500K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:BUNDLE:'primary' probably has a radiative atm (teff=12500K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:PARAMETERS:'primary' probably has a radiative atm (teff=15000K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:PARAMETERS:'primary' probably has a radiative atm (teff=15000K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:PARAMETERS:'primary' probably has a radiative atm (teff=15000K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:BUNDLE:'primary' probably has a radiative atm (teff=15000K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:PARAMETERS:'primary' probably has a radiative atm (teff=15000K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
WARNING:BUNDLE:'primary' probably has a radiative atm (teff=15000K>8000K), for which gravb_bol=1.00 might be a better approx than gravb_bol=0.32
teff_colormap = {5000: 'm', 7500: 'r', 10000: 'g', 12500: 'c', 15000: 'b'}

fig = plt.figure()
ax1, ax2 = fig.add_subplot(211), fig.add_subplot(212)

for teff, color in teff_colormap.items():
    fluxes_energy = b.get_value('fluxes@{}_energy'.format(teff))
    fluxes_photon = b.get_value('fluxes@{}_photon'.format(teff))
    phases = b.to_phase('times@lc@dataset')

    # alias data from -0.6 to 0.6
    fluxes_energy = np.append(fluxes_energy, fluxes_energy[abs(phases) > 0.4])
    fluxes_photon = np.append(fluxes_photon, fluxes_photon[abs(phases) > 0.4])
    phases = np.append(phases, phases[abs(phases)>0.4]+1.0)
    phases[phases > 1.0] = phases[phases > 1.0] - 2.0

    sort = phases.argsort()
    phases = phases[sort]
    fluxes_energy = fluxes_energy[sort]
    fluxes_photon = fluxes_photon[sort]

    ax1.plot(phases, fluxes_energy, color=color)
    ax2.plot(phases, fluxes_photon-fluxes_energy, color=color)

lbl = ax1.set_xlabel('')
lbl = ax1.set_ylabel('flux')
lbl = ax2.set_xlabel('phase')
lbl = ax2.set_ylabel('flux diff')
../../_images/intens_weighting_12_0.png
Prev: Eclipse Detection Next: Sun (single rotating star)
.
Last update: 06/07/2017 11:30 a.m. (CET)