本文整理汇总了Python中hyperion.model.Model.use_sources方法的典型用法代码示例。如果您正苦于以下问题:Python Model.use_sources方法的具体用法?Python Model.use_sources怎么用?Python Model.use_sources使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类hyperion.model.Model
的用法示例。
在下文中一共展示了Model.use_sources方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: temp_hyperion
# 需要导入模块: from hyperion.model import Model [as 别名]
# 或者: from hyperion.model.Model import use_sources [as 别名]
#.........这里部分代码省略.........
thetac_exp = np.hstack((thetac-np.pi/2, thetac+np.pi/2, thetac[0]-np.pi/2))
mag = 1
fig = plt.figure(figsize=(mag*8,mag*6))
ax = fig.add_subplot(111, projection='polar')
# cmap = sns.cubehelix_palette(light=1, as_cmap=True)
cmap = plt.cm.CMRmap
im = ax.pcolormesh(thetac_exp, rc/AU, temp2d_exp, cmap=cmap, norm=LogNorm(vmin=5, vmax=100))
#
# cmap = plt.cm.RdBu_r
# im = ax.pcolormesh(thetac_exp, np.log10(rc/AU), temp2d_exp/10, cmap=cmap, norm=LogNorm(vmin=0.1, vmax=10))
#
print temp2d_exp.min(), temp2d_exp.max()
im.set_edgecolor('face')
ax.set_xlabel(r'$\rm{Polar\,angle\,(Degree)}$',fontsize=20)
# ax.set_ylabel(r'$\rm{Radius\,(AU)}$',fontsize=20, labelpad=-140, color='grey')
# ax.set_ylabel('',fontsize=20, labelpad=-140, color='grey')
ax.tick_params(labelsize=16)
ax.tick_params(axis='y', colors='grey')
ax.set_yticks(np.hstack((np.arange(0,(int(max(rc)/AU/10000.)+1)*10000, 10000),max(rc)/AU)))
#
# ax.set_yticks(np.log10(np.array([1, 10, 100, 1000, 10000, max(rc)/AU])))
#
ax.set_yticklabels([])
ax.grid(True, color='LightGray', linewidth=1.5)
# ax.grid(True, color='k', linewidth=1)
ax.set_xticklabels([r'$\rm{90^{\circ}}$',r'$\rm{45^{\circ}}$',r'$\rm{0^{\circ}}$',r'$\rm{-45^{\circ}}$',\
r'$\rm{-90^{\circ}}$',r'$\rm{-135^{\circ}}$',r'$\rm{180^{\circ}}$',r'$\rm{135^{\circ}}$'])
cb = fig.colorbar(im, pad=0.1)
cb.ax.set_ylabel(r'$\rm{Averaged\,Temperature\,(K)}$',fontsize=20)
cb.set_ticks([5,10,20,30,40,50,60,70,80,90,100])
cb.set_ticklabels([r'$\rm{5}$',r'$\rm{10}$',r'$\rm{20}$',r'$\rm{30}$',r'$\rm{40}$',r'$\rm{50}$',r'$\rm{60}$',r'$\rm{70}$',r'$\rm{80}$',r'$\rm{90}$',r'$\rm{>100}$'])
#
# cb.ax.set_ylabel(r'$\rm{log(T/10)}$',fontsize=20)
# cb.set_ticks([0.1, 10**-0.5, 1, 10**0.5, 10])
# cb.set_ticklabels([r'$\rm{-1}$',r'$\rm{-0.5}$',r'$\rm{0}$',r'$\rm{0.5}$',r'$\rm{\geq 1}$'])
#
cb_obj = plt.getp(cb.ax.axes, 'yticklabels')
plt.setp(cb_obj,fontsize=20)
# fix the tick label font
ticks_font = mpl.font_manager.FontProperties(family='STIXGeneral',size=20)
for label in ax.get_yticklabels():
label.set_fontproperties(ticks_font)
fig.savefig(outdir+print_name+'_temperature.png', format='png', dpi=300, bbox_inches='tight')
fig.clf()
# Plot the radial temperature profile
fig = plt.figure(figsize=(12,9))
ax = fig.add_subplot(111)
plot_grid = [0,99,199]
label_grid = [r'$\rm{outflow}$', r'$\rm{45^{\circ}}$', r'$\rm{midplane}$']
alpha = np.linspace(0.3,1.0,len(plot_grid))
color_list = [[0.8507598215729224, 0.6322174528970308, 0.6702243543099417],\
[0.5687505862870377, 0.3322661256969763, 0.516976691731939],\
[0.1750865648952205, 0.11840023306916837, 0.24215989137836502]]
for i in plot_grid:
temp_rad, = ax.plot(np.log10(rc/AU), np.log10(temp2d[:,i]),'-',color=color_list[plot_grid.index(i)],\
linewidth=2, markersize=3,label=label_grid[plot_grid.index(i)])
# plot the theoretical prediction for black body dust without considering the extinction
if bb_dust == True:
from hyperion.model import Model
sigma = const.sigma_sb.cgs.value
lsun = const.L_sun.cgs.value
dum = Model()
dum.use_sources(rtout)
L_cen = dum.sources[0].luminosity/lsun
t_bbdust = (L_cen*lsun/(16*np.pi*sigma*rc**2))**(0.25)
temp_bbdust, = ax.plot(np.log10(rc/AU), np.log10(t_bbdust), '--', color='r', linewidth=2.5,label=r'$\rm{blackbody\,dust}$')
ax.legend(loc='upper right', numpoints=1, fontsize=24)
ax.set_xlabel(r'$\rm{log\,R\,(AU)}$',fontsize=24)
ax.set_ylabel(r'$\rm{log\,T\,(K)}$',fontsize=24)
[ax.spines[axis].set_linewidth(2) for axis in ['top','bottom','left','right']]
ax.minorticks_on()
ax.tick_params('both',labelsize=24,width=2,which='major',pad=15,length=5)
ax.tick_params('both',labelsize=24,width=2,which='minor',pad=15,length=2.5)
# fix the tick label font
ticks_font = mpl.font_manager.FontProperties(family='STIXGeneral',size=24)
for label in ax.get_xticklabels():
label.set_fontproperties(ticks_font)
for label in ax.get_yticklabels():
label.set_fontproperties(ticks_font)
ax.set_ylim([0,4])
fig.gca().set_xlim(left=np.log10(0.05))
# ax.set_xlim([np.log10(0.8),np.log10(10000)])
fig.savefig(outdir+print_name+'_temp_radial.pdf',format='pdf',dpi=300,bbox_inches='tight')
fig.clf()
示例2: extract_hyperion
# 需要导入模块: from hyperion.model import Model [as 别名]
# 或者: from hyperion.model.Model import use_sources [as 别名]
#.........这里部分代码省略.........
aper = ax_sed.errorbar(np.log10(wl_aper),flux_aper*wl_aper, yerr=unc_aper*wl_aper,\
fmt='o', mec='Blue', mfc='None', color='b',markersize=12, markeredgewidth=2.5, linewidth=1.7, ecolor='Blue', elinewidth=3, barsabove=True)
ax_sed.set_xlim([0,3.2])
# calculate the bolometric luminosity of the aperture
# print flux_aper
l_bol_sim = l_bol(wl_aper, flux_aper*wl_aper/(c/np.array(wl_aper)*1e4)*1e23, dstar)
print 'Bolometric luminosity of simulated spectrum: %5.2f lsun' % l_bol_sim
# print out the sed into ascii file for reading in later
if save == True:
# unapertured SED
foo = open(outdir+print_name+'_sed_inf.txt','w')
foo.write('%12s \t %12s \t %12s \n' % ('wave','vSv','sigma_vSv'))
for i in range(0, len(sed_inf.wav)):
foo.write('%12g \t %12g \t %12g \n' % (sed_inf.wav[i], sed_inf.val[i], sed_inf.unc[i]))
foo.close()
# SED with convolution of aperture sizes
foo = open(outdir+print_name+'_sed_w_aperture.txt','w')
foo.write('%12s \t %12s \t %12s \n' % ('wave','vSv','sigma_vSv'))
for i in range(0, len(wl_aper)):
foo.write('%12g \t %12g \t %12g \n' % (wl_aper[i], flux_aper[i]*wl_aper[i], unc_aper[i]*wl_aper[i]))
foo.close()
# print out the aperture-convolved fluxex from observations
if print_data_w_aper:
foo = open(outdir+print_name+'_obs_w_aperture.txt','w')
foo.write('%12s \t %12s \t %12s \n' % ('wave','Jy','sigma_Jy'))
for i in range(0, len(obs_aper_wl)):
foo.write('%12g \t %12g \t %12g \n' % (obs_aper_wl[i], obs_aper_flux[i]*obs_aper_wl[i]/(c/obs_aper_wl[i]*1e4)*1e23, obs_aper_unc[i]*obs_aper_wl[i]/(c/obs_aper_wl[i]*1e4)*1e23))
foo.close()
# read the input central luminosity by reading in the source information from output file
dum = Model()
dum.use_sources(filename)
L_cen = dum.sources[0].luminosity/lsun
# legend
lg_data = ax_sed.legend([irs, photometry, aper, aper_obs],
[r'$\rm{observation}$',
r'$\rm{photometry}$',r'$\rm{F_{aper,sim}}$',r'$\rm{F_{aper,obs}}$'],
loc='upper left',fontsize=14*mag,numpoints=1,framealpha=0.3)
if clean == False:
lg_sim = ax_sed.legend([sim],[r'$\rm{L_{bol,sim}=%5.2f\,L_{\odot},\,L_{center}=%5.2f\,L_{\odot}}$' % (l_bol_sim, L_cen)], \
loc='lower right',fontsize=mag*16)
plt.gca().add_artist(lg_data)
# plot setting
ax_sed.set_xlabel(r'$\rm{log\,\lambda\,[{\mu}m]}$',fontsize=mag*20)
ax_sed.set_ylabel(r'$\rm{log\,\nu S_{\nu}\,[erg\,s^{-1}\,cm^{-2}]}$',fontsize=mag*20)
[ax_sed.spines[axis].set_linewidth(1.5*mag) for axis in ['top','bottom','left','right']]
ax_sed.minorticks_on()
ax_sed.tick_params('both',labelsize=mag*18,width=1.5*mag,which='major',pad=15,length=5*mag)
ax_sed.tick_params('both',labelsize=mag*18,width=1.5*mag,which='minor',pad=15,length=2.5*mag)
# fix the tick label font
ticks_font = mpl.font_manager.FontProperties(family='STIXGeneral',size=mag*18)
for label in ax_sed.get_xticklabels():
label.set_fontproperties(ticks_font)
for label in ax_sed.get_yticklabels():
label.set_fontproperties(ticks_font)
# Write out the plot
fig.savefig(outdir+print_name+'_sed.pdf',format='pdf',dpi=300,bbox_inches='tight')
fig.clf()
# option for suppress image plotting (for speed)
示例3: setup_model
# 需要导入模块: from hyperion.model import Model [as 别名]
# 或者: from hyperion.model.Model import use_sources [as 别名]
#.........这里部分代码省略.........
else:
rho_setup = 2.60915e-3 * msun/pc/pc/pc
deviation = 100.0 * abs(rho_setup - rho_max) / rho_setup
if(cli.verbose):
print("Check value of central dust density:")
print(" rho_max = ", rho_max, "g cm^-3")
print(" This corresponds to a deviation to the chosen setup value of", deviation, "percent")
#
# To compute total photon numbers:
#
grid_N = grid_Nw * grid_Nz * grid_Np
if(cli.verbose):
print("Radiation setup:")
print(" photons_temperature / cell =", cli.photons_temperature)
print(" photons_temperature total =", grid_N * cli.photons_temperature)
file = filename(cli, "temperature")
file += ".rtin"
else:
file = filename(cli, "temperature")
file += ".rtout"
try:
with open(file):
if(cli.verbose):
print("Using the specific energy distribution from file", file)
model.use_geometry(file)
model.use_quantities(file, only_initial=False, copy=False)
model.use_sources(file)
except IOError:
print("ERROR: File '", file, "' cannot be found. \nERROR: This file, containing the specific energy density, has to be computed first via calling hyperion.")
exit(2)
#
# To compute total photon numbers:
#
grid_Nw = len(model.grid.gw[0,0,:])
grid_Nz = len(model.grid.gw[0,:,0])
grid_Np = len(model.grid.gw[:,0,0])
grid_N = grid_Nw * grid_Nz * grid_Np
if(cli.verbose):
print("Grid setup:")
print(" grid_Nw =",grid_Nw)
print(" grid_Nz =",grid_Nz)
print(" grid_Np =",grid_Np)
print("Radiation setup:")
print(" photons_temperature / cell =", cli.photons_temperature)
print(" photons_temperature total =", grid_N * cli.photons_temperature)
print(" photons_raytracing / cell =", cli.photons_raytracing)
print(" photons_raytracing total =", grid_N * cli.photons_raytracing)
print(" photons_imaging / cell =", cli.photons_imaging)
print(" photons_imaging total =", grid_N * cli.photons_imaging)
file = filename(cli, "")
file += ".rtin"
##
## Temperature, Images, and SEDs:
##
示例4: extract_hyperion
# 需要导入模块: from hyperion.model import Model [as 别名]
# 或者: from hyperion.model.Model import use_sources [as 别名]
#.........这里部分代码省略.........
# print l_bol(sed_dum.wav, sed_dum.val/(c/sed_dum.wav*1e4)*1e23)
aper, = ax_sed.plot(np.log10(wl_aper),np.log10(flux_aper),'o-', mec='Blue', mfc='None', color='b',markersize=12, markeredgewidth=3, linewidth=1.7)
# calculate the bolometric luminosity of the aperture
l_bol_sim = l_bol(wl_aper, flux_aper/(c/np.array(wl_aper)*1e4)*1e23)
print 'Bolometric luminosity of simulated spectrum: %5.2f lsun' % l_bol_sim
# print out the sed into ascii file for reading in later
if save == True:
# unapertured SED
foo = open(outdir+print_name+'_sed_inf.txt','w')
foo.write('%12s \t %12s \n' % ('wave','vSv'))
for i in range(0, len(sed_inf.wav)):
foo.write('%12g \t %12g \n' % (sed_inf.wav[i], sed_inf.val[i]))
foo.close()
# SED with convolution of aperture sizes
foo = open(outdir+print_name+'_sed_w_aperture.txt','w')
foo.write('%12s \t %12s \n' % ('wave','vSv'))
for i in range(0, len(wl_aper)):
foo.write('%12g \t %12g \n' % (wl_aper[i], flux_aper[i]))
foo.close()
# Read in and plot the simulated SED produced by RADMC-3D using the same parameters
# [wl,fit] = np.genfromtxt(indir+'hyperion/radmc_comparison/spectrum.out',dtype='float',skip_header=3).T
# l_bol_radmc = l_bol(wl,fit*1e23/dstar**2)
# radmc, = ax_sed.plot(np.log10(wl),np.log10(c/(wl*1e-4)*fit/dstar**2),'-',color='DimGray', linewidth=1.5*mag, alpha=0.5)
# print the L bol of the simulated SED (both Hyperion and RADMC-3D)
# lg_sim = ax_sed.legend([sim,radmc],[r'$\rm{L_{bol,sim}=%5.2f~L_{\odot},~L_{center}=9.18~L_{\odot}}$' % l_bol_sim, \
# r'$\rm{L_{bol,radmc3d}=%5.2f~L_{\odot},~L_{center}=9.18~L_{\odot}}$' % l_bol_radmc],\
# loc='lower right',fontsize=mag*16)
# read the input central luminosity by reading in the source information from output file
dum = Model()
dum.use_sources(filename)
L_cen = dum.sources[0].luminosity/lsun
# lg_sim = ax_sed.legend([sim],[r'$\rm{L_{bol,sim}=%5.2f~L_{\odot},~L_{center}=%5.2f~L_{\odot}}$' % (l_bol_sim, L_cen)], \
# loc='lower right',fontsize=mag*16)
# lg_sim = ax_sed.legend([sim],[r'$\rm{L_{bol,sim}=%5.2f~L_{\odot},~L_{bol,obs}=%5.2f~L_{\odot}}$' % (l_bol_sim, l_bol_obs)], \
# loc='lower right',fontsize=mag*16)
# text = ax_sed.text(0.2 ,0.05 ,r'$\rm{L_{bol,simulation}=%5.2f~L_{\odot},~L_{bol,observation}=%5.2f~L_{\odot}}$' % (l_bol_sim, l_bol_obs),fontsize=mag*16,transform=ax_sed.transAxes)
# text.set_bbox(dict( edgecolor='k',facecolor='None',alpha=0.3,pad=10.0))
# plot setting
ax_sed.set_xlabel(r'$\rm{log\,\lambda\,({\mu}m)}$',fontsize=mag*20)
ax_sed.set_ylabel(r'$\rm{log\,\nu S_{\nu}\,(erg\,cm^{-2}\,s^{-1})}$',fontsize=mag*20)
[ax_sed.spines[axis].set_linewidth(1.5*mag) for axis in ['top','bottom','left','right']]
ax_sed.minorticks_on()
ax_sed.tick_params('both',labelsize=mag*18,width=1.5*mag,which='major',pad=15,length=5*mag)
ax_sed.tick_params('both',labelsize=mag*18,width=1.5*mag,which='minor',pad=15,length=2.5*mag)
ax_sed.set_ylim([-13,-7.5])
ax_sed.set_xlim([0,3])
# lg_data = ax_sed.legend([sim, aper], [r'$\rm{w/o~aperture}$', r'$\rm{w/~aperture}$'], \
# loc='upper left', fontsize=14*mag, framealpha=0.3, numpoints=1)
lg_data = ax_sed.legend([irs, photometry, aper, aper_obs],\
[r'$\rm{observation}$',\
r'$\rm{photometry}$',r'$\rm{F_{aper,sim}}$',r'$\rm{F_{aper,obs}}$'],\
loc='upper left',fontsize=14*mag,numpoints=1,framealpha=0.3)
# plt.gca().add_artist(lg_sim)
# Write out the plot
fig.savefig(outdir+print_name+'_sed.pdf',format='pdf',dpi=300,bbox_inches='tight')
fig.clf()