练习包
GalDynPsr的Python项目详细描述
Galdynpsr包装
galdynpr是计算脉冲星周期导数在银河系中的动力学贡献的软件包。它可以计算分数贡献或超额项,例如点{p}/p u超额,其中p是轨道周期或自旋周期。可以计算各种动力学贡献,包括shklovskii效应(由适当运动引起的贡献)或由星系引力势引起的脉冲星加速度。包中提供了执行这些任务的各种方法或模型。利用周期和周期导数的测量值,galdynpr甚至可以计算周期导数的"固有"值,前提是不存在其他额外贡献。
关于各种动力学效应和各种模型的详细信息,可在Pathak和Bagchi中找到(arxiv:1712.06590)。
galdynpr的使用概述如下。
问题和疑问可以发送到Gmail.com上的dhruv pathak pathakdhruv9786
1)成功安装numpy、scipy和galpy后,安装galdynpr
pip3安装galdynpr
如果愿意,可以在galdynpr(已安装目录)中找到的parameters.in文件中更改rs(太阳的银河中心圆柱半径)、vs(太阳的转速)等的值。
但请记住galpy在文件'$home/.galpyrc'中也定义了这些值。原则上可以更改这些值。
然而,Galpy的银河系电位与Rs=8.0 kPC和Vs=220.0 Galpy拟合
2)在代码中导入galdynpr作为
导入galdynpr
3)在以下所有模块中,函数参数的顺序非常重要。
4)计算ModelX的多余项**非常重要,型号名称区分大小写!
galdynpr.modelx.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)和galdynpr.modelx.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)
expl()函数计算脉冲星平行于银河平面的相对加速度引起的超额项,exz()函数计算脉冲星垂直于银河平面的相对加速度引起的超额项。总的动力贡献是上述两项的总和。上述两个函数的参数都是以度表示的银河经度(称为ldeg)、以度表示的银河经度的不确定性(称为sigl)、以度表示的银河经度(称为bdeg)、以度表示的银河经度的不确定性(称为sigb)、脉冲星与太阳系重心在kpc(称为dkpc),距离的不确定性在kpc(称为sigd);严格按照这个顺序。在调用上述函数之前,需要分配ldeg、sigl、bdeg、sigb、dkpc和sigd的值。
不涉及galpy的模型可以按照标准误差传播方法返回多余项中的不确定性,如
模型x.errpl(ldeg,sigl,bdeg,sigb,dkpc,sigd)和模型x.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)
其中函数errpl()返回由于脉冲星平行于银河平面的相对加速度而导致的超额项不确定性,errz()返回由于脉冲星垂直于银河平面的相对加速度而导致的超额项不确定性。参数与以前相同,在使用这些函数之前需要进行赋值。
请记住用要使用的模型(如ModelA、ModelLA等)替换ModelX。模型名称区分大小写!
5)计算shklovskii项
shklovskii项可以计算为galdynpr.shk.exshk(dkpc,sigd,mu廑alpha,sigmua,mu廑delta,sigmud),shklovskii项中的误差可以计算为galdynpr.shk.errshk(dkpc,sigd,mu廑alpha,sigmua,mu廑delta,sigmud)
其中mu_alpha是正确的运动i在右上升方向(mas/yr)上,mu嫒delta是赤纬方向的正确运动(mas/yr),sigmua是mu嫒alpha的不确定性,sigmud是mu嫒delta的不确定性。在kpc中,脉冲星与太阳系重心的距离通常是kpc,sigd是dkpc中的不确定性。首先需要指定这些参数的值。
6)打印脉冲星的基本参数
galdynpr.read_parameters.rskpc返回太阳的银河中心圆柱半径。
galdynpr.read_parameters.vs返回太阳的转速。
galdynpr.read_parameters.rpkpc(ldeg,sigl,bdeg,sigb,dkpc,sigd)返回脉冲星银河系中心圆柱半径的kpc和galdynpr值。read_parameters.z(ldeg,sigl,bdeg,sigb,dkpc,sigd)返回脉冲星距银河系平面的实际高度。参数的含义与往常一样:
我们可以用galdynpr.read掼参数得到kpc中脉冲星的银河中心圆柱半径的不确定度。errrpkpc(ldeg,sigl,bdeg,sigb,dkpc,sigd)和galdynpr.read掼参数的不确定度。errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)。
显然,首先需要指定ldeg、sigl、bdeg、sigb、dkpc和sigd的值。
7)对于球状星团中的脉冲星,可以读取星团参数,例如银河经度、纬度和距harric星表的距离(gc_harris.txt随galdynpr提供),并计算动力学项的粗略值
首先需要导入模块才能将harris目录读取为:
将galdynpr.readgc导入为readgc
然后可以输入集群的名称,例如readgc.gcinput("47tuc")
然后,使用modelx的超额项可以计算为
西格尔=0.000001 sigb=0.000001 sigd=0.000001
galdynpr.modelx.expl(readgc.ldeg,sigl,readgc.bdeg,sigb,readgc.dkpc,sigd)并行组件 galdynpr.modelx.exz(readgc.ldeg,sigl,readgc.bdeg,sigb,readgc.dkpc,sig)垂直分量
注意,哈里斯目录没有提供ldeg、bdeg和dkpc中的不确定性。这就是为什么我们需要在计算超额项之前定义它们。由于脉冲星参数与harris星表中的星团参数不同,计算不确定性是没有意义的。因此,只需将上述函数调用为:
galdynpr.modelx.expl(readgc.ldeg,0.0,readgc.bdeg,0.0,readgc.dkpc,0.0)并行组件 galdynpr.modelx.exz(readgc.ldeg,0.0,readgc.bdeg,0.0,readgc.dkpc,0.0)垂直分量
8)涉及galpy的模型不返回错误。不过,这可以通过模拟来实现。参见下面的示例2。
9)内洗周期的计算。参数的排序很重要。
首先赋值ldeg,sigl,bdeg,sigb,dkpc,sigd(参数的含义与往常一样),并按惯例计算多余项:
ex_pl=galdynpr.modela.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)平行于银河平面的多余项
ex_z=galdynpr.modela.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)垂直于银河平面的过量项
errpl=galdynpr.modela.errpl(ldeg,sigl,bdeg,sigb,dkpc,sigd)平行项的不确定性
errz=galdynpr.modela.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)平行项的不确定性
ex_shk=galdynpr.shk.exshk(dkpc,sigd,mu_alpha,sigmua,mu_delta,sigmud)由于shklovskii效应引起的超额期限
errshk=galdynpr.shk.errshk(dkpc、sigd、mu_alpha、sigmua、mu_delta、sigmud)shklovskii项的不确定性
现在,以秒为单位分配周期"p"的值,以秒为单位分配周期"sigp"的不确定性,以秒/秒为单位分配周期导数"pdot obs"的测量值,以秒/秒为单位分配周期导数"sigpdo"的测量值的不确定性,并计算动态周期导数的ly值(秒/秒)为:
galdynpr.pdotint.pdotexpl(ex_pl,p)由于加速度的平行分量
galdynpr.pdotint.pdotexz(ex_z,p)由于加速度的垂直分量
galdynpr.pdottin.pdotskk(不包括shk,p)由于shklovskii效应
pdot的总动态引起值是上述三项的相加。周期导数的固有值可以通过从周期导数的测量值中减去该和来计算。Galdynpsr可以通过以下方式为我们执行此任务:
galdynpr.pdottin.pdottin(不包括,不包括z,不包括shk,不包括obs,p)
周期导数中的总动力贡献,即galdynpr.pdotint.pdotexpl(ex_pl,p)和galdynpr.pdotint.pdotexpl(ex_z,p)之和可以打印为: galdynpr.pdottin.pdotgal(ex_pl,ex_z,p)
可以将上述时期的不确定性计算为:
galdynpr.pdotint.errpdotexpl(ex_pl,errpl,p,sigp)周期导数平面贡献的不确定性
galdynpr.pdotint.errpdotexz(ex_z,errz,p,sigp)对周期导数垂直贡献的不确定度
galdynpr.pdottin.errpdotgal(ex_pl,errpl,ex_z,errz,p,sigp)周期导数的平面和垂直贡献之和的不确定度
galdynpr.pdottin.errpdotshk(不包括shk、errshk、p、sigp)shklovskii期限对期限衍生品贡献的不确定性
galdynpr.pdottin.errpdottin(ex_pl,errpl,ex_z,errz,ex_shk,errshk,pdot_obs,sigpdot_obs,p,sigp)内周期导数的不确定性
- 记住,galdynpr以秒为单位读取周期值。眼眶周期通常以天为单位(有时以小时为单位)。在调用galdynpr模块之前,需要在几秒钟内转换这些值。
从下面的示例中可以更清楚地看到以上各点
使用galdynpr的说明
将galdynpr调用为:-
导入galdynpr
在代码中提供以下值
ldeg=星系纬度(度),bdeg=星系纬度(度),dkpc=到脉冲星的距离(kpc),sigl=ldeg中的误差,sigb=bdeg中的误差,sigd=dkpc中的误差
###########示例-1################# LDEG=20 sigl=2.0
溴化二苯醚=45.0 sigb=0.2
dKPC=1.2 sigd=0.3
#############提取重要参数,例如rp(以kpc为单位)和z(以kpc为单位)的值以及其中的错误
rpkpc=galdynpr.read_parameters.rpkpc(ldeg,sigl,bdeg,sigb,dkpc,sigd)
zkpc=galdynpr.read_parameters.z(ldeg,sigl,bdeg,sigb,dkpc,sigd)
errrp=galdynpr.read_parameters.errrp(ldeg,sigl,bdeg,sigb,dkpc,sigd)
errz=galdynpr.read_parameters.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)
#################计算多余的shklovskii项。Here Exshk() calculates the dynamical contribution (or the excess term) due to Shklovskii effect and errShk() calculates the error in that #################################
我们需要提供正确上升方向的正确运动(有相应的误差)和倾斜方向的正确运动(有相应的误差)的值
##mu_alpha=右上升方向的正确运动(mas/yr),mu_delta=下降方向的正确运动(mas/yr),sigmua=mu_alpha中的错误,sigmud=mu_delta中的错误
穆阿尔法=22.0 sigmua=0.2
μδ=1.2 sigmud=0.3
excesssh=galdynpr.shk.exshk(dkpc、sigd、mu嫒alpha、sigmua、mu嫒delta、sigmud)
sigmaexcessh=galdynpr.shk.errshk(dkpc、sigd、mu_alpha、sigmua、mu_delta、sigmud)
示例1.1
模型A(可传播误差)
apl=galdynpr.modela.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算过量项的平面贡献
az=galdynpr.modela.exz(ldeg、sigl、bdeg、sigb、dkpc、sigd)计算对超额项的垂直贡献
aplsigma=galdynpr.modela.errpl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算平面对超额项贡献的误差
azsigma=galdynpr.modela.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算垂直于超额项的误差
总计=APL+AZ
sigmotatala=math.sqrt(aplsgmaaplsgma+azsigmaazsigma)假设超额利润与超额利润之间没有相关性
示例-1.2
B型(可传播误差)
bpl=galdynpr.modelb.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算平面对超额项的贡献
bz=galdynpr.modelb.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
bplsigma=galdynpr.modelb.errpl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算平面对超额项贡献的误差
bzsigma=galdynpr.modelb.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算垂直于超额项的误差
总B=bpl+bz
sigmotatalb=数学sqrt(bplsigmabplsigma+bzsigmabzsigma)假设异常pl与过量z之间没有相关性
示例1.3
C型(可传播误差)
cpl=galdynpr.modelc.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算过量项的平面贡献
cz=galdynpr.modelc.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
cplsigma=galdynpr.modelc.errpl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算平面对超额项贡献的误差
czsigma=galdynpr.modelc.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算垂直于超额项的误差
总C=CPL+CZ
sigmotalc=math.sqrt(cplsgmacplsgma+czsigmaczsigma)假设超额利润与超额利润之间没有相关性
示例-1.4
D型(可传播误差)
dpl=galdynpr.modeld.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算超出项的平面贡献
dz=galdynpr.modeld.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
dplsigma=galdynpr.modeld.errpl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算平面对超额项贡献的误差
dzsigma=galdynpr.modeld.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算垂直方向对超额项贡献的误差
总计=dpl+dz
sigmotatald=math.sqrt(dplsigmadplsigma+dzsigmadzsigma)假设超额利润与超额利润之间没有相关性
示例-1.5
############型号EA(仅在并行组件中出错)
eapl=galdynpr.modelea.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算超出项的平面贡献
sigmaeapl=galdynpr.modelea.errpl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算平面对超额项贡献的误差
eaz=galdynpr.modelea.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
总ea=eapl+eaz
示例-1.6
############EB型(仅在并行组件中出错)
ebpl=galdynpr.modeleb.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算超出项的平面贡献
sigmaebpl=galdynpr.modeleb.errpl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算平面对超额项贡献的误差
ebz=galdynpr.modeleb.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
总eb=ebpl+ebz
示例-1.7
############模型fa(仅在并行组件中出错)###############
fapl=galdynpr.modelfa.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算超出项的平面贡献
sigmafapl=galdynpr.modelfa.errpl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算平面对超额项贡献的误差
faz=galdynpr.modelfa.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
总fa=fapl+faz
示例-1.8
############FB型(仅在并联元件中出错)
fbpl=galdynpr.modelfb.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算超出项的平面贡献
sigmafbpl=galdynpr.modelfb.errpl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算平面对超额项贡献的误差
fbz=galdynpr.modelfb.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
总fb=fbpl+fbz
示例-1.9
############GA型(垂直分量误差)
gapl=galdynpr.modelga.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算过量项的平面贡献
gaz=galdynpr.modelga.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
sigmagaz=galdynpr.modelga.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算垂直于超额项的误差
总伽马=伽马+伽马
示例-1.10
############GB型(垂直分量误差)
gbpl=galdynpr.modelgb.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算超出项的平面贡献
gbz=galdynpr.modelgb.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
sigmagbz=galdynpr.modelgb.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算垂直于超额项的误差
总GB=GBPL+GBZ
示例-1.11
############模型ha(垂直分量误差)
hapl=galdynpr.modelha.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算过量项的平面贡献
haz=galdynpr.modelha.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
sigmahaz=galdynpr.modelha.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算垂直于超额项的误差
总ha=hapl+haz
示例-1.12
############HB型(垂直分量误差)
hbpl=galdynpr.modelhb.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算超出项的平面贡献
hbz=galdynpr.modelhb.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
sigmahbz=galdynpr.modelhb.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算垂直于超额项的误差
总hb=hbpl+hbz
示例-1.13
############IA型(垂直分量误差)
iapl=galdynpr.modelia.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算超出项的平面贡献
iaz=galdynpr.modelia.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
sigmaiaz=galdynpr.modelia.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算垂直于超额项贡献的误差
总计=iapl+iaz
示例-1.14
############IB型(垂直分量误差)
ibpl=galdynpr.modelib.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算超出项的平面贡献
ibz=galdynpr.modelib.exz(ldeg、sigl、bdeg、sigb、dkpc,sigd)计算对超额项的垂直贡献
sigmaibz=galdynpr.modelib.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算垂直于超额项贡献的误差
totalib=ibpl+ibz
示例-1.15
############JA型(垂直分量误差)
japl=galdynpr.modelja.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算过量项的平面贡献
jaz=galdynpr.modelja.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
sigmajaz=galdynpr.modelja.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算垂直于超额项的误差
totalja=japl+jaz
示例-1.16
############JB型(垂直分量误差)
jbpl=galdynpr.modeljb.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算过量项的平面贡献
jbz=galdynpr.modeljb.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
sigmajbz=galdynpr.modeljb.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算垂直于超额项贡献的误差
总jb=jbpl+jbz
示例-1.17
############型号KA(全玻璃,无错误)
kapl=galdynpr.modella.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算过量项的平面贡献
kaz=galdynpr.modella.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
总kA=kapl+kaz
示例-1.18
############型号KB(全玻璃,无错误)
kbpl=galdynpr.modella.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算过量项的平面贡献
kbz=galdynpr.modella.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
总KB=kbpl+kbz
示例-1.19
############LA型(全玻璃,无错误)
lapl=galdynpr.modella.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算过量项的平面贡献
laz=galdynpr.modella.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
总计=lapl+laz
示例-1.20
############型号LB(全镀锌,无错误)
lbpl=galdynpr.modella.expl(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算超出项的平面贡献
lbz=galdynpr.modella.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)计算对超额项的垂直贡献
总计b=lbpl+lbz
示例2使用模型LA进行误差估计(全振镜,无误差)
将numpy导入为np 将统计数据导入为stat 以u的形式从天体导入单位 从astropy.coordinates导入skycoord 导入galdynpr
number=50000要模拟的实例数
mul,sigmal=定义L_度的平均值和标准偏差
mub,sigmab=定义b_度的平均值和标准偏差
mud,sigmad=定义d_kpc的平均值和标准偏差
现在模拟l、b和d的"number"实例
lsim=np.random.normal(mul,sigmal,number)
bsim=np.random.normal(mub,sigmab,number)
dsim=np.random.normal(mud,sigmad,number)
为excess_parallel、excess_z和excess_total声明数组
LAPL= LAZ= 总计=[]
现在运行galdynpr"number"次
计数=0 while(count<;number):
从模拟值中随机选择L、B、D
x=np.random.random_整数(低=1,高=1,大小=3)
L=LSIM[X[0]] B= BSIM〔X〔1〕〕 d=dsim[x[2]]
对于L、B、D的每个值,计算多余的平行、多余的Z和excess_总计
追加(galdynpr.modella.expl(l,sigmal,b,sigmab,d,sigmad)) laz.append(galdynpr.modella.exz(l,sigmal,b,sigmab,d,sigmad))
总计=np.add(lapl,laz)
count=count+1
现在计算多余的平行,多余的z和多余的总的平均和标准偏差
打印(stat.mean(lapl)、stat.stdev(lapl)、count) 打印(统计平均值(LAZ)、统计标准偏差(LAZ)、计数) 打印(stat.mean(totalla)、stat.stdev(totalla)、count)
############################# #########对于球状星团脉冲星############################# #从gc_harris.txt中检查球状星团的名称,并写入星团的名称。在这种情况下,我们不包括错误。
例3
#获取GC 47TUC型号A的超额损益: #galdynpr.readgc.gcinput("gc name")在gc_harris列表中查找gc,并计算相应的银河坐标和到gc的距离。将参数输入任何模型为:-(galdynpr.readgc.ldeg,0.,galdynpr.readgc.bdeg,0.,galdynpr.readgc.dkpc,0.)
galdynpr.readgc.gcinput("47tuc")
apl=galdynpr.modela.expl(galdynpr.readgc.ldeg,0.,galdynpr.readgc.bdeg,0.,galdynpr.readgc.dkpc,0.)
az=galdynpr.modela.exz(galdynpr.readgc.ldeg,0.,galdynpr.readgc.bdeg,0.,galdynpr.readgc.dkpc,0.)
其他型号也一样。
#############################
######################### For Intrinsic period derivative calculations ###############################
自旋周期导数计算所需的参数:-p=秒周期,sigp=秒中p的误差,pdot_obs=在ss^-1中测量的周期导数,sigpdo_obs=pdot_obs中的误差
#pdotexpl(excess_pl,p)计算周期导数的平面贡献
#pdotexz(过量z,p)计算对周期导数的垂直贡献
#pdotgal(excess_pl,excess_z,p)计算对周期导数的平面和垂直贡献之和
#PDOTSHK(超额,p)计算SHKLovskii对周期导数的贡献
#pdotint(excess_pl,excess_z,excess_shk,pdot_obs,p)计算内在周期导数
#errpdotexpl(excess_pl,error_excess_pl,p,sigp)计算平面对周期导数贡献的误差
#errpdotexz(excess_z,error_z excess_z,p,sigp)计算垂直于周期导数贡献的误差
#errpdotgal(excess_pl,error_excess_pl,excess_z,error_excess_z,p,sigp)计算对周期导数的平面和垂直贡献之和的误差
#errpdotskk(excess_shk,error_excess_shk,p,sigp)计算shklovskii对自旋周期导数贡献的误差
#errpdotint(excess_pl,error_excess_pl,excess_z,error_excess_z,excess_shk,error_excess_shk,pdot_obs,sigpdot_obs,p,sigp)计算内在周期导数中的误差
例4
使用la
ldeg=20.0 sigl=2.0
溴化二苯醚=45.0 sigb=0.2
dKPC=1.2 sigd=0.3
穆阿尔法=22.0 sigmua=0.2
μδ=1.2 sigmud=0.3
自旋周期及其导数示例:-
#P=0.003061844088094608 #sigp=0.0000000000000000 15
#Pdot_obs=0.959013E-20 #sigpdot_obs=0.000014e-20
#示例轨道周期及其导数(以秒为单位转换周期和相应的误差):-
p=1.19851257518424.03600.0
sigp=0.0000000000 1324.03600.0
PDOT_obs=4.8e-14 信号门OBS=1.1e-14
ex_pl=galdynpr.modela.expl(ldeg、sigl、bdeg、sigb、dkpc、sigd)
ex_z=galdynpr.modela.exz(ldeg,sigl,bdeg,sigb,dkpc,sigd)
errpl=galdynpr.modela.errpl(ldeg、sigl、bdeg、sigb、dkpc、sigd)
errz=galdynpr.modela.errz(ldeg,sigl,bdeg,sigb,dkpc,sigd)
ex_shk=galdynpr.shk.exshk(dkpc、sigd、mu_alpha、sigmua、mu_delta、sigmud)
errshk=galdynpr.shk.errshk(dkpc,sigd,mu_alpha、sigmua、mu_delta、sigmud)
pdotexpl=galdynpr.pdotint.pdotexpl(ex_pl,p)
pdotexz=galdynpr.pdotint.pdotexz(x_z,p)
pdotgal=galdynpr.pdottin.pdotgal(ex_pl,ex_z,p)
pdotskk=galdynpr.pdotint.pdotskk(不包括shk,p)
pdotint=galdynpr.pdottin.pdottin(ex_pl,ex_z,ex_shk,pdot_obs,p)
#自旋周期导数的误差:-
errpdotexpl=galdynpr.pdotint.errpdotexpl(例如pl、errpl、p、sigp)
errpdotexz=galdynpsr.pdotint.errpdotexz(例如z,errz,p,sigp)
errpdotgal=galdynpr.pdottin.errpdotgal(ex_pl,errpl,ex_z,errz,p,sigp)
errpdotskk=galdynpr.pdottin.errpdotskk(例如shk、errshk、p、sigp)
errpdottin=galdynpsr.pdottin.errpdottin(ex_pl,errpl,ex_z,errz,ex_shk,errshk,pdot_obs,sigpdot_obs,p,sigp)
#一、二、二、三、三、三、四、四、四、四、四、四、四、四、四、六、六、六、六、六、六、六、六、六、六、六、六
包装内容
数据文件:
parameters.in:输入文件包含不同常数的值,这些值随测量结果的改进而变化。如果需要,用户可以更改常数的值。
gc_harris.txt:球状星团的名称和星系坐标。
readme.txt:包中这个readme.md文件的内容以及代码文件。
不同代码的说明:
read_parameters.py:包含包中使用的参数(常量)
py:计算az/c,既有nice taylor(1995)表达式,也有我们对hf2004的拟合
py:计算apl/c。可以从参数文件中获取斜率参数dv/dr的任何值。b0=(vs/rs)*(dv/dr)=0为常规值。
模型a.py:模型a-计算apl_old/c(即b0=0;dt91)和az_nt95。
py模式:b模式-计算apl_old/c(即b0=0;dt91)和az_hf04。
py模型:c模型-计算apl_new/c(即dv/dr=-0.2;reid2014)和az_nt95。
py模型:d模型-计算apl_new/c(即dv/dr=-0.2;reid2014)和az_hf04。
modeleA.py:model ea-计算galpy中的apl_old/c(即b0=0;dt91)和'zforce'(不带bh) py模型:eb模型-计算galpy中的apl_old/c(即b0=0;dt91)和'zforce'(带bh)
py模型:fa模型-计算galpy中的apl_new/c(即dv/dr=-0.2;reid2014)和'zforce'(不带bh) py模型:fb模型-计算galpy中的apl_new/c(即dv/dr=-0.2;reid2014)和'zforce'(带bh)
model ga.py:modelga-使用galpy(不带bh)和az嫒nt95的vp'/vs计算apl/c py型号:gb型号-使用galpy(带bh)和az嫒nt95的vp'/vs计算apl/c
model ha.py:model ha-计算galpy(不带bh)和az_nt95中的"rforce" 模型hb.py:hb模型-计算galpy(带bh)和az-nt95中的"rforce"
model ia.py:model ia-使用galpy(不带bh)和az_hf04的vp'/vs计算apl/c py模型:ib模型-使用galpy(带bh)和az_hf04的vp'/vs计算apl/c
model ja.py:model ja-在galpy(不带bh)和az_hf04中计算"rforce" py模型:jb模型-计算galpy(带bh)和az_hf04中的"rforce"
model ka.py:model ka-使用galpy(不带bh)中的vp'/vs和galpy(不带bh)中的"zforce"计算apl/c model kb.py:model kb-使用galpy(带bh)中的vp'/vs和galpy(带bh)中的'zforce'计算apl/c
py模型:la模型-计算galpy中的"rforce"(不带bh)和galpy中的"zforce"(不带bh) 模型lb.py:模型lb-计算galpy中的"rforce"(带bh)和galpy中的"zforce"(带bh)
py:计算shklovskii项d(mu_t*mu_t)/c。获取用户在赤经和赤经中正确运动的输入。
galpymwpl.py:在galpy中使用vcirc函数得到vp'(不带bh)并最终得到apl/c
galpymwbhpl.py:在galpy中使用vcirc函数获取vp'(带bh)并最终得到apl/c
galpymwrfo.py:在galpy(不带bh)中使用evaluaterForces函数来获取apl/c
galpymwbhrfo.py:在g中使用evaluaterForces函数alpy(带bh)获得apl/c
err_excess pl_damour.py:计算超额损益的错误(DT91)
err_excess pl_reid.py:计算超额损益的错误(reid2014)
err_hfhigh.py:计算多余z的误差(我们对hf04数据的拟合)
err_hflow.py:计算多余z的误差(我们对hf04数据的拟合)
err_nt.py:计算超出z(nt95)的错误
err_shklovskii.py:计算超出值的错误
#一、二、二、三、三、三、三、三、三、三、四、四、四、四、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六、六
虽然本文提供了模型的描述,但为了完整起见,我们仍在这里提供这些模型。
型号说明:-
A型:Apl_Old/C(即b0=0;dt91)和Z_NT95 B型:Apl_Old/C(即b0=0;dt91)和z_HF04 型号C:APL U NEW/C(即DV/DR=-0.2;REID2014)和Z U NT95 D型:APL U NEW/C(即DV/DR=-0.2;REID2014)和Z U HF04
型号EA:APL_old/C(即b0=0;dt91)和‘zforce’in galpy(不带BH) 型号EB:APL_old/C(即b0=0;dt91)和‘zforce’in galpy(带BH)
FA型:APL U NEW/C(即DV/DR=-0.2;REID2014)和GALPY中的"Zforce"(无BH) 型号FB:APL U NEW/C(即DV/DR=-0.2;REID2014)和GALPY(带BH)中的"Zforce"
GA型:使用Galpy(无BH)和Z U NT95的VP'/VS GB型:使用Galpy(带BH)和Z U NT95的VP'/VS
型号HA:Galpy(无BH)和Z U NT95中的"rforce" 型号HB:Galpy(带BH)和Z_NT95中的"rforce"
IA型:使用Galpy(无BH)和Z_HF04的VP'/VS IB型:使用Galpy(带BH)和Z_HF04的VP'/VS
型号JA:Galpy(无BH)和Z_HF04中的"Rforce" JB型:Galpy(带BH)和Z_HF04中的"rforce"
ka型:使用galpy(无bh)中的vp/vs和galpy(无bh)中的zforce kb型:使用galpy(带bh)中的vp'/vs和galpy(带bh)中的"zforce"
型号LA:Galpy中的"rforce"(无BH)和Galpy中的"zforce"(无BH) 型号LB:Galpy中的"rforce"(带BH)和Galpy中的"zforce"(带BH)
REID2014:里德M.J.,曼滕K.M.,布伦泰勒A.,郑X.W.,达姆T.M.,2014年,APJ,783130。
DT91:Damour T.,Taylor J.H.,1991年,APJ,366,501。
NT95:Nice D.J.,Taylor J.H.,1995年,APJ,441429年。
HF04:Holmberg J.,弗林C.,2004年,MNRAS,352440。
############################################################