本文整理汇总了Python中hyperion.model.Model.add_map_source方法的典型用法代码示例。如果您正苦于以下问题:Python Model.add_map_source方法的具体用法?Python Model.add_map_source怎么用?Python Model.add_map_source使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类hyperion.model.Model
的用法示例。
在下文中一共展示了Model.add_map_source方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: setup_model
# 需要导入模块: from hyperion.model import Model [as 别名]
# 或者: from hyperion.model.Model import add_map_source [as 别名]
#.........这里部分代码省略.........
rho_dust = np.zeros(model.grid.shape)
for k in range(0, grid_Np):
for j in range(0, grid_Nz):
for i in range(0, grid_Nw):
R = model.grid.gw[k,j,i]
z = model.grid.gz[k,j,i]
m = math.sqrt(R*R + z*z/q/q)
rho_dust[k,j,i] = math.exp(- R/hR -abs(z)/hz_dust )
rho_oldstars[k,j,i] = math.exp(- R/hR -abs(z)/hz_oldstars )
rho_youngstars[k,j,i] = math.exp(- R/hR -abs(z)/hz_youngstars)
rho_bulge[k,j,i] = math.pow(m/reff, 0.5/n - 1.0) * math.exp(- bn * math.pow(m/reff, 1.0/n))
if(cli.case == 2):
phi = model.grid.gp[k,j,i]
perturb = math.sin(modes * (math.log(R/hR) / math.tan(pitchangle) - (phi - phi0_dust)))
rho_dust[k,j,i] *= (1.0 + w_dust * perturb)
perturb = math.sin(modes * (math.log(R/hR) / math.tan(pitchangle) - (phi - phi0_oldstars)))
rho_oldstars[k,j,i] *= (1.0 + w_oldstars * perturb)
perturb = math.sin(modes * (math.log(R/hR) / math.tan(pitchangle) - (phi - phi0_youngstars)))
rho_youngstars[k,j,i] *= (1.0 + w_youngstars * perturb)
rho_dust[model.grid.gw > grid_wmax] = 0
rho_dust[model.grid.gz < grid_zmin] = 0
rho_dust[model.grid.gz > grid_zmax] = 0
kappa_ref = dust_properties.optical_properties.interp_chi_wav(0.55693)
rho0 = cli.opticaldepth / (2.0 * hz_dust * kappa_ref)
rho_dust[:] *= rho0
model.add_density_grid(rho_dust, 'dust_properties.hdf5')
source_oldstars = model.add_map_source()
source_oldstars.luminosity = luminosity_oldstars
source_oldstars.temperature = temperature_oldstars
source_oldstars.map = rho_oldstars
source_youngstars = model.add_map_source()
source_youngstars.luminosity = luminosity_youngstars
source_youngstars.temperature = temperature_youngstars
source_youngstars.map = rho_youngstars
source_bulge = model.add_map_source()
source_bulge.luminosity = luminosity_bulge
source_bulge.temperature = temperature_bulge
source_bulge.map = rho_bulge
#
# Check face-on optical depth at 1.0 micron (per gram dust) through the dust disk:
#
tau = 0
k = 0
i = 0
for j in range(0, grid_Nz):
#print(model.grid.gz[k,j,i]/pc, rho_dust[k,j,i])
dz = model.grid.widths[1,k,j,i]
dtau = dz * rho_dust[k,j,i] * kappa_ref
tau += dtau
deviation = 100.0 * abs(cli.opticaldepth - tau) / cli.opticaldepth
if(cli.verbose):
print("Check optical depth of dust density setup:")