在python上为星系形成创建旋臂时出错

问题描述

我已经写了这段代码,但在我的代码中有错误,我如何通过下面使用的轮廓从这段代码中制作螺旋臂我想使用星系的螺旋臂创建表面密度轮廓

import numpy as np
import matplotlib.pyplot as plt
from math import*
#r,theta = meshgrid(np.arange(0,200,1),np.arange(0,360,1))

t = 1
c = 100
alpha = 12 #degree
m = 2
rd = 5
sigd = 35
omegap = 8.4
r,theta = np.meshgrid(np.arange(1,np.arange(1,1))
def k(m,r):
    k1 = (m/r)*(1/0.212)
    #print(k1)
    return k1
def sig0(sigd,r,rd):
    sig_0 = sigd*np.exp(-r/rd)
    return sig_0
def phi (m,r):
    phi_1 = m*(1/0.212)*np.log(r)
    return phi_1
def omega (r):
    omega_1 = (200/r)+1.37
    return omega_1
def kappa (r):
    kppa= (400*sqrt(0.5))/r
    return kppa
def xt(c,m,r):
    x_t = ((k(m,r)**2)*(c**2))/((kappa(r))**2)
    return x_t
def v(m,omegap,r):
    v_1 = (m/kappa(r))*(omegap-omega(r))
    return v_1
def del_12 (c,omegap):
    de1 = (1-((4*xt(c,r))*((1-v(m,r)**2))))**(1/2)
    return de1

def sig(r,t,theta,c,sigd,rd,omegap):
    r,1))

    sig1 = sig0(sigd,rd)+(((abs(k(m,r)))/r**(1/2))*(1/(abs(del_12(c,omegap))**(1/2)))*(np.cos(omegaP*m*t-m*theta+phi(m,r))))
    #+ ((abs(k(m,r)))/r**(1/2))*(1/abs(del_12(c,omegap))**(1/2))*np.cos(omegaP*m*t-m*theta+phi)
    return sig1

model = sig(r,omegap)
print(model)
fig=plt.figure()
ax1=fig.add_subplot(121)
ax1.imshow(model)
#plt.contour(x,y,galaxy_model_1)
#pf.writeto('gal_1.fits',galaxy_model_1,clobber=1)  
#ax2=fig.add_subplot(122,axisbg='white')
#ax2.imshow((abs(galaxy_model_2))**0.2)
plt.show()

有关此代码的更多信息由此参考提供 旋臂对表面亮度分布的贡献 盘状星系 http://articles.adsabs.harvard.edu/pdf/1997A%26A...318..741S

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)