dfm / python-fsps

Python bindings to Charlie Conroy's Flexible Stellar Population Synthesis (FSPS) Fortran code
https://python-fsps.readthedocs.io
MIT License
65 stars 38 forks source link

Emission lines from post-AGB UV radiation #217

Open BabisDaoutis opened 1 year ago

BabisDaoutis commented 1 year ago

Hi,

I am running some models to test the UV contribution from the post-AGB stars to the emission lines of a galaxy. To test this, I use SSPs at the age of 3Gyrs (also tried for 0.1Gyrs and 5Gyrs). Models have no attenuation. The SSPs have solar metallicity. I test 3 separate instances which all have the same parameter values, except that each time I change the pAGB fraction to be 0, 0.5 and 1. I can see that I get ionizing radiation by turning on post-AGB stars.

The problem is that I get emission line fluxes that are all 0. Shouldn't this UV give emission lines forpAGB = 0.5 and pAGB = 1 ? Am I missing something obvious here?

From this tests I get the following plot: 3Gyr_SSP_no_att_add_neb_pAGB 0p1Gyr_SSP_no_att_add_neb_pAGB

The srcipt I run is the following:

import fsps
import matplotlib.pyplot as plt
import numpy as np

sp = fsps.StellarPopulation(zcontinuous=1)

sp.params['sfh'] = 0
sp.params['dust1'] = 0.0
sp.params['dust2'] = 0.0
sp.params['add_neb_emission'] = True
sp.params['add_dust_emission'] = True
sp.params['nebemlineinspec'] = True
sp.params['logzsol'] = 0.0
sp.params['gas_logz'] = sp.params['logzsol']

t = 3.0
for p in [0.0,0.5,1.0]:
    sp.params['pagb'] = p
    wave, flux = sp.get_spectrum(tage=t,peraa = True)
    plt.loglog(wave, flux,label='pAGB = ' + str(p))
    plt.xlabel('Wavelength (Angstroms)')
    plt.ylim([1e-7, 1e-2])
    plt.xlim([1e2, 1e5])
    plt.ylabel('Flux')
    plt.title('tage = ' + str(t)+'Gyr')
    plt.legend(fontsize=14)
plt.show()

Best, Babis