mathematica密度图是什么(基于它的天体运动模拟)
mathematica密度图是什么(基于它的天体运动模拟)模拟这些天体运动时,本文采取的一般步骤如下:首先,使用Graphics(绘制二维图形)等函数绘制一张天体运动的静态图;然后,借助 Table(表格)函数生成一系列循序渐进的静态图;最后,通过Export(导出)函数将该系列静态图按顺序合成并输出为一个动态图。上述这些强大的Mathematica内置函数的运用,极大地便利了本文研究过程的实施和研究目标的实现。具体而言,本文先模拟行星和周期彗星的运动,然后在此基础上进一步模拟双星系统的运动。 在前一部分中,先模拟以太阳为参考系的行星和周期彗星的运动,然后将其拓展到以地球为参考系的情形。 在后一部分中,先模拟质心系中的双星系统的运动,然后将其拓展到一般惯性参考系中的情形。然而,在教学过程中发现不少同学对天体运动,包括其中较为简单的行星、周期彗星和双星系统的运动,还缺乏足够广泛和深入的认识与理解。 例如,绝大多数同学对双星系统的认知仅停留在圆形轨道
在阅读此文前,诚邀您请点点右上方的“关注”,既方便您进行讨论与分享,还能及时阅读最新内容,感谢您的支持。近四十年来,随着计算机硬件和软件的飞速发展,以及计算方法和技术的不断进步,计算物理在物理学各大分支学科的研究中均发挥了重要作用,已经与理论物理、实验物理并列为物理学的三大支柱。
鉴于其重要地位,计算物理已经逐步发展成为大学物理专业的核心课程之一。 近年来,为了促进大学生更加积极主动地学习和研究计算物理,全国大学生物理实验竞赛在自选类题目中增设了一种新的物理教学资源开发题目,其中要求参赛者“自主开发一个仿真/模拟程序,允许操作者改变参数,可视化地输出仿真/模拟结果”。
在此背景下,物理学专业的大学生结合自己的学习实际,利用计算机软件进行一些仿真模拟方面的可视化研究,必将对其专业成长产生十分积极的促进作用。
天文学是一门古老的科学,从哥白尼日心说到开普勒三大行星运动定律,再到牛顿三大运动定律和万有引力定律,16-17世纪的天文观测有力地促进了经典力学的发展。 天体运动是物理学习者最常接触的一种运动,从高中物理课程到大学力学和理论力学课程,对其学习层层深入。
然而,在教学过程中发现不少同学对天体运动,包括其中较为简单的行星、周期彗星和双星系统的运动,还缺乏足够广泛和深入的认识与理解。 例如,绝大多数同学对双星系统的认知仅停留在圆形轨道上,很少有同学能够清晰地描述出双星系统的椭圆轨道运动。
因此,使用计算机软件模拟行星、周期彗星和双星系统的运动,做出直观形象的动画,帮助学习者更好地认识和理解天体运动,是一个很有意义且适合大学生实施的可视化研究课题。
Mathematica是一款通用数学软件,其基础功能包括数值计算、符号计算、图形绘制,因功能强大、用法简单、语法优雅,它是进行物理教学资源开发最理想的平台软件之一,在计算物理特别是其中的仿真、模拟和可视化研究方面具有广阔的应用空间。 本文将充分利用Mathematica软件强大的图形绘制功能和便捷的动画合成功能来精确地模拟行星、周期彗星和双星系统的运动。
具体而言,本文先模拟行星和周期彗星的运动,然后在此基础上进一步模拟双星系统的运动。 在前一部分中,先模拟以太阳为参考系的行星和周期彗星的运动,然后将其拓展到以地球为参考系的情形。 在后一部分中,先模拟质心系中的双星系统的运动,然后将其拓展到一般惯性参考系中的情形。
模拟这些天体运动时,本文采取的一般步骤如下:首先,使用Graphics(绘制二维图形)等函数绘制一张天体运动的静态图;然后,借助 Table(表格)函数生成一系列循序渐进的静态图;最后,通过Export(导出)函数将该系列静态图按顺序合成并输出为一个动态图。上述这些强大的Mathematica内置函数的运用,极大地便利了本文研究过程的实施和研究目标的实现。
行星和周期彗星的运动
理论分析
开普勒三大定律以极其简洁地方式统一描述了太阳系中各大行星、小行星和周期彗星的公转运动。从实验可以看到,除水星之外,其它行星偏心率都小于0.1,因此,这些行星的公转轨道都是非常接近于圆的椭圆,可用圆来近似代替,只是在精度要求较高的场合下,仍须按照椭圆来处理。 此外,水星的公转轨道偏心率大于0.2,已经显著地具备了椭圆轨道的特征。 除八大行星外,太阳系中还有数十万颗小行星,其中不乏公转轨道偏心率较大的小行星。
哈雷彗星和恩克彗星分别是第一、二颗按人类预言回归的彗星,紫金山一、二号彗星是我国科学家发现的第一、二颗彗星。 从该表可以看到,这些彗星的公转轨道偏心率通常较大,是较扁的椭圆。
因此,要想全面了解太阳系天体的公转运动,必须对它们的椭圆轨道运动有足够的认识,特别地,可以借助形象的动画来增加对它们的感性认识。 创作这类动画的难点在于如何使模拟的天体运动也遵循开普勒第二定律,该定律要求天体与太阳之间的连线在相等的时间内扫过相等的面积,该定律可用微分方程表达为
12[r(t)]2θ˙(t)=πabT(1)
结合初值条件有
θ(0)=0(2)
以及椭圆的极坐标方程为
r=d1 ecosθ(3)
可以求解极角θ随时间t变化的关系,这是精确模拟天体椭圆轨道运动的关键。 在上面三个公式中r是极径,T是公转周期,a、b、e和d分别是椭圆轨道的半长轴、半短轴、偏心率和半正焦弦。
仿真程序
根据前面的理论分析,本文编写的模拟行星和周期彗星运动的Mathematica程序如下所示。
a=1.000;
e=0.017;
T=1;
c=a*e;
b=a2−c2−−−−−−√;
d=b1−c2a2−−−−−√;
s=NDSolve[{12(d1 ecos[Θ[t]])2Θ'[t]==πabT
Θ[0]==0} Θ {t 0 T}];
θ[t_]≔First[Θ[t]/.s];
image[t_]:=Graphics[{Green Thick Circle[{−c 0} {a b}]
Red Disk[{0 0} b*0.1]
Blue Disk[{d1 ecos[θ[t]]cos[θ[t]]
d1 ecos[θ[t]]sin[θ[t]]} b*0.05]}
PlotRange→{{−1.5a−c 1.5−c}
{−1.5b 1.5b}}];
images=Table[image[t] {t 0 T T/180}];
Export["地球公转.gif" images
DisplayDurations→0.05
ImageSize→{Round[360*a/b] 360}
"AnimationRepetitions"→6]
其中,前6行语句先对轨道半长轴a、离心率e和公转周期T进行赋值,然后利用a和e计算了轨道的半焦距c、半短轴b和半正焦弦d。 第7-9行语句利用NDSolve(数值求解微分方程)函数精确求解了极角θ随时间t变化的函数关系,根据前面的理论分析,这3行语句是精确模拟天体椭圆轨道运动的关键。
第10行及其后面的语句是这段程序的主体部分,该部分代码可分为三个步骤。 第一步借助Graphics函数定义了image函数,用来生成天体椭圆轨道运动在t时刻的静态图。 此处的Graphics函数包含以下两个参数:
(1)囊括11-14行的列表,其中包括三个绘图元素,分别用黑圈、大圆点和小圆点绘制了椭圆轨道、太阳和绕日公转的天体;
(2)PlotRange→{{−1.5a−c 1.5−c} {−1.5b 1.5b}}指定绘图的横纵坐标范围分别是{−1.5a−c 1.5−c}和{−1.5b 1.5b}.
第二步利用Table函数生成一系列循序渐进的静态图(images)。 其中,Table函数有两个参数:image[t];{t 0 T T/180}用来指定Graphics函数中时间变量t的取值列表,其起始值为0,终止值为T,步长为T/180。
第三步运用Export函数将系列静态图images按顺序合成并输出为一个动态图。 这里的Export函数有五个参数:(1)“地球绕日公转.gif”是输出文件的名字;(2)images;(3)DisplayDurations→0.05指定动态图中每帧图像的显示时间为0.05秒;(4)ImageSize→{Round[360*a/b] 360}指定动态图中每帧图像的横、纵轴像素数分别为Round[360*a/b]和360,其中Round[360*a/b]是360*a/b四舍五入后的整数值;(5)”AnimationRepetitions”→6指定动画重复播放次数为6。
模拟结果
作为示例,上面的程序将地球公转的轨道半长轴、偏心率和周期赋给变量a、e和T,所得动态效果图展现的是地球的椭圆轨道运动,改变a、e和T的数值,可以模拟不同天体的椭圆轨道运动。 本文又模拟了水星、紫金山二号彗星和恩克彗星的椭圆轨道运动,因文章中不能展示彩色动态图,本文仅在实验中展示以上四个动态图在t=0时刻的黑白静态图。
上述模拟结果清晰地展示了相应天体绕日公转运动。 从实验可以看出:(1)地球的公转轨道是一个椭圆,但它非常接近于正圆,很难通过肉眼将其与正圆区分开来;(2)水星的公转轨道也近似于正圆,但太阳明显偏离轨道的中心,可以通过肉眼将其与正圆区分开来;(3)紫金山二号彗星的公转轨道是一个典型的椭圆;(4)恩克彗星的公转轨道也是一个典型的椭圆,但它更扁。
拓展研究
上述天体的椭圆轨道运动是以太阳作为参考系的。 然而,通常情况下,我们是在地球上观测这些天体的运动。 由于日心说的成功及其在教材中的普及,不少同学在学习时忽略了行星和周期彗星相对于地球的运动情况,对此,他们或者不甚清楚,或者误以为人们在地球上直接观测到的就是它们绕日公转的椭圆轨道。
为了让学习者更清楚地了解人们在地球上观测到的行星和周期彗星的运动情况,作为示例,本文在此模拟了火星在地球参考系中的运动。 由于火星公转轨道平面与地球公转轨道平面之间的夹角很小,只有1.85∘,在模拟过程中将其近似为0∘,认为这两个轨道平面相互重合。
火星相对于地球的运动可以由火星相对于太阳的运动叠加太阳相对于地球的运动而成。 当以太阳为参考系时,太阳的位置坐标始终为(0 0),地球和火星的位置坐标可以分别表达为
(d11 e1cosθ1cosθ1,d11 e1cosθ1sinθ1)(4)和(d21 e2cosθ2cosθ2,d21 e2cosθ2sinθ2)(5)
其中,d1(d2)、e1(e2)和θ1(θ2)分别代表地球(火星)公转轨道的半长轴、偏心率和它所处位置的极角。而在地球参考系中,地球的位置坐标始终为(0 0),根据坐标变换法则,可以得到太阳和火星的位置坐标分别为
(−d11 e1cosθ1cosθ1,−d11 e1cosθ1sinθ1)(6)和(−d11 e1cosθ1cosθ1 d21 e2cosθ2cosθ2,−d11 e1cosθ1sinθ1 d21 e2cosθ2sinθ2)(7)
在前述天体椭圆轨道运动的程序基础上,根据位置坐标公式(6)和(7),结合地球和火星绕日公转的数据,编写并运行新的程序,可模拟火星在地球参考系中的运动。
从中可见,火星相对于地球的运动轨迹要比它相对于太阳的运行轨道复杂得多,由此可见,日心说在描述行星运动时比地心说简洁得多。 哥白尼提出的日心说实现了天文学的根本变革,后经布鲁诺的宣扬、第谷的观测和开普勒的推演,终成三大行星运动定律,并引导牛顿最终建立了万有引力定律,推动了物理学的巨大进步。
双星系统的运动
理论分析
以行星和周期彗星运动的模拟为基础,可以进一步模拟双星系统的运动。双星系统由两颗恒星组成,它们在彼此万有引力的作用下,在各自的轨道上绕着它们的质心运动。天文观测表明,银河系中存在大量的双星系统,研究它们,对于理解恒星和银河系的形成与演化都具有十分重要的意义。
关于双星运动,最简单的情形是,两星均绕着它们的质心做匀速圆周运动,这是物理学习者自高中阶段以来就熟知的一种情形。 然而,这只是一种特殊情形,普遍的情形则是,两星均绕着它们的质心做椭圆轨道运动,绝大多数同学对这种情形并不熟悉。下面直接给出对此普遍情形的理论分析。
设两星的质量分别为m1和m2,位矢分别为r1和r2,两星质心的位矢为r0,第二颗恒星相对于第一颗恒星的位矢为∆r,根据质心定义和矢量运算法则,有
(m1 m2)r0=m1r1 m2r2(8)
∆r=r2−r1(9)
在质心系中,r0=0,结合上面两式,可得
r1=−m2m1 m2∆r(10)
r2=m1m1 m2∆r(11)
综合上面两式,有r1=−m2m1r2(12)
由此式可知,在质心系中,r1与r2反向,且二者大小之比与两星质量之比互为倒数。
根据牛顿第二定律和万有引力定律,有m1r¨1=Gm1m2∆r3∆r(13) m2r¨2=−Gm2m1∆r3∆r(14)
结合公式(10)和(13)、公式(11)和(14),分别可得
m1r¨1=−Gm1m2(m2m1 m2)2r13r1(15)
m2r¨2=−Gm2m1(m1m1 m2)2r23r2(16)
这两个公式具有重要意义,它们提供了看待双星运动的新视角:在质心系中,双星系统的第一、二颗恒星分别在静止于质心处且质量分别为m2(m2m1 m2)2、m1(m1m1 m2)2的虚拟等效恒星的万有引力作用下运动。 根据理论力学教材中有关中心力场的相关论述可知,在质心系中,两星均绕着它们的质心做椭圆轨道运动。
综合分析公式(12)、(15)和(16)的结论,可进一步得知,在质心系中:(1)两星轨道共面且相似,长轴共线,短轴平行,相似比为两星质量比的倒数;(2)两星运动同频且同步,例如它们同时达到远质心点和近质心点。 考虑到两星位于质心两侧,它们的极坐标方程形式略有不同,如下面两式所示。
r1=d11 e1cosθ1(17)
r2=d21−e2cosθ2(18)
且θ1和θ2有如下关系:
θ2=θ1 π(19)
这里,r1(r2)、θ1(θ2)、e1(e2)和d1(d2)分别是第一(二)颗恒星的极径、极角、轨道偏心率和轨道半正焦弦。
仿真程序
根据前面的理论分析,本文编写了下面这段Mathematica程序来模拟双星系统的运动。
m1=1;m2=1;
a1=1;
e1=0.6;
T1=1;
c1=a1*e1;
b1=a12−c12−−−−−−−−√;
d1=b11−c12a12−−−−−−√;
a2=a1*m1m2;
e2=e1;
c2=c1*m1m2;
b2=b1*m1m2;
d2=d1*m1m2;
xmin=If[−(a1 c1)<−(a2−c2)
−(a1 c1) −(a2−c2)];
xmax=If[a2 c2>a1−c1
a2 c2 a1−c1];
Δx=xmax−xmin;
r1=Max[b1 b2]20*If[m1>m2 1 (m1m2)13];
r2=Max[b1 b2]20*If[m1<m2 1 (m2m1)13];
s=NDSolve[{12(d11 e1cos[Θ[t]])2Θ'[t]
==πa1b1T1 Θ[0]==0} Θ {t 0 T1}];
θ[t_]≔First[Θ[t]/.s];
image[t_]:=Graphics[{Blue Disk[{d11 e1cos[θ[t]]cos[θ[t]]
d11 e1cos[θ[t]]sin[θ[t]]} r1]
Blue Thick Circle[{−c1 0} {a1 b1}]
Green Disk[{d21−e2cos[θ[t] π]cos[θ[t] π]
d21−e2cos[θ[t] π]sin[θ[t] π]} r2]
Green Thick Circle[{c2 0} {a2 b2}]
Red Thick Dashed Line[{{d11 e1cos[θ[t]]cos[θ[t]] d11 e1cos[θ[t]]sin[θ[t]]}
{d21−e2cos[θ[t] π]cos[θ[t] π]
d21−e2cos[θ[t] π]sin[θ[t] π]}}]}
PlotRange→{{xmin−Δx4 xmax Δx4}
{−1.5Max[b1 b2] 1.5Max[b1 b2]}}];
images=Table[image[t] {t 0 T1 T1180}];
Export["双星系统的运动_质量比为1比1_
偏心率为0.6.gif" images
DisplayDurations→0.05 ImageSize→
{Round[360*Δx2Max[b1 b2]] 360}
"AnimationRepetitions"→6]
其中,前12行语句先把具体数值赋给两星质量m1和m2以及第一颗恒星的轨道半长轴a1、离心率e1和周期T1,然后利用a1、e1、m1和m2计算了第一颗恒星的轨道半焦距c1、半短轴b1和半正焦弦d1以及第二颗恒星的轨道半长轴a2、离心率e2、半焦距c2、半短轴b2和半正焦弦d2。 第13-19行语句计算了两星轨道上所有点横坐标的最小值、最大值以及它们的差值,并在密度相同(半径与质量的1/3次方成正比)的假设下,设定了两星在图上的显示半径。
第23行及其后面的语句是这段程序的主体部分,该部分代码也可分为三个步骤。 第一步借助Graphics函数定义了image函数,用来生成双星系统椭圆轨道运动在t时刻的静态图。 此处Graphics函数的第一个参数是一个囊括24-35行的列表,其中包括五个绘图元素:(1)第一、二个元素绘制了第一颗恒星及其运动轨道;(2)第三、四个元素分别用绘制了第二颗恒星及其运动轨道;(3)第五个元素绘制了两星之间的连线。
模拟结果
利用上面的程序,只要在前4行语句中设定了两星的质量m1和m2以及其中第一颗恒星的轨道半长轴a1、离心率e1和周期T1,就可以模拟相应双星系统在其质心系中的运动。 由于计算机模拟和真实情况之间存在时空缩放因子,a1和T1不是影响仿真效果的核心要素,本文将它们设定为1,以聚焦于考察不同m1:m2和e1对应的双星系统运动情况。 作为示例,本文首先模拟了m1:m2=1:1,e1=e2=0.6、0.4、0.2和0四种情形下的双星系统运动。
实验展示了m1:m2=1:1时不同偏心率下的双星系统运动,可以看出:(1)当偏心率大于0时,两星轨道相交且全等;(2)随着偏心率的减小,两星轨道逐渐变圆且趋向于重合;(3)当偏心率等于0时,两星沿着同一轨道做匀速圆周运动。
然后,本文又模拟了e1=e2=0.6,m1:m2=1:2、1:4、1:10和1:100四种情形下的双星系统运动,在图4中展示这四个动态图在t=0时刻的黑白静态图。
从实验可以看出:(1)随着质量比的减小,两星轨道半长轴之比增大,其中质量大的恒星轨道半长轴小,质量小的恒星轨道半长轴大;(2)随着质量比的减小,两星轨道之间的关系,会发生从相交到相切再到相含的变化,仔细分析可知,(1−e1)(1 m2/m1)=2是相切情形对应的临界条件;(3)当质量比为1:100时,可近似认为,质量大的恒星是静止的,而质量小的恒星则绕着质量大的恒星做椭圆轨道运动。
拓展研究
以上所述为双星系统在其质心系中的运动。然而,实际观测时,我们并不处在双星系统的质心位置。考虑到双星系统一般远离其他天体,可将其近似为一个理想的孤立系统,因不受外力,系统质心静止或者做匀速直线运动,其中静止是在质心系中独有的特殊情况,匀速直线运动是在一般惯性参考系中观察到的普遍情况。因此,在双星系统椭圆轨道运动的基础上,叠加一个匀速直线运动,即可得到其在一般惯性参考系中的运动。
更改程序中所有图形对象的坐标,在横坐标和纵坐标的基础上分别叠加一个增量vxt和vyt,并绘出两星的运动轨迹,即可模拟双星系统在一般惯性参考系中的运动(这里未考虑垂直于双星系统椭圆轨道平面方向的质心平移运动分量vzt)。
作为示例,在此仅考察m1:m2=1:2,e1=e2=0.6的双星系统在vx=1,vy=0情况下的运动,图5中展示该双星系统运动三个周期后的黑白静态图,其中黑线代表两星在一般惯性参考系中的运动轨迹,而灰线则代表它们在质心系中的运行轨道以及它们之间的连线。
其相应的动态图清晰地展示了双星系统在一般惯性参考系中的运动,虽然其中的双星运动轨迹看似比较复杂,但实际上它们仅是在其相应的动态图所示的质心系中椭圆轨道运动的基础上,叠加了一个整体水平向右的匀速直线运动而形成的。 考虑到一般情况下质心也有沿着双星系统椭圆轨道平面法线方向的运动分量,双星运动轨迹会更加复杂,但无论如何,它们都可分解为质心的平移运动和在质心系中两星各自的椭圆轨道运动。
本文利用Mathematica软件强大的数值计算功能、图形绘制功能、动画合成功能和程序设计功能,基于经典力学公式和定律,结合天文学相关数据,对行星、周期彗星和双星系统的运动进行了精确地动态模拟,做出了多种天体运动的动态效果图,其中涵盖:(1)以太阳为参考系的行星和周期彗星的运动;(2)以地球为参考系的行星和周期彗星的运动;(3)质心系中的双星系统的运动;(4)一般惯性参考系中的双星系统的运动。 这些动态效果图形象生动,非常有助于学习者建立清晰的物理图像,增加对行星、周期彗星和双星系统的直观认识,增进对天体运动规律的深入理解。
本文以天体运动的模拟为例介绍了基于Mathematica的物理教学资源开发。 就研究内容而言,行星和周期彗星的绕日公转运动属于一体运动问题,双星系统的运动是两体运动问题。 这两类问题都有普适的解析解 理论上简洁明确,因而相应的运动易于模拟。
三体及其以上的多体运动问题不存在普适的解析解,具体问题的研究需要用到天体力学中的高阶理论和方法,相对来说要困难很多,可以作为将来进行物理教学资源开发的一个拓展方向。 天体力学在科学发展史上留下了浓墨重彩的一笔,其成就为人类深入理解宇宙垫定了基础,同时也为人类的航海和航天事业提供了帮助,在此方向开发教学资源,可以进一步拓展和激发物理学习者的视野和兴趣。
物理学是研究物质基本组成单元、相互作用和运动规律的科学分支,运动和变化是物理学研究的核心主题。 运用计算机软件将物理学中的运动和变化过程可视化为形象直观的动画,可以帮助学习者增加感性认识,建立物理图像,摆脱数学枷锁,养成物理直觉。
因此,物理学专业的同学尽早接触计算物理学,在普通物理和四大力学等课程的学习过程中,进行一些仿真模拟方面的可视化研究,是一件非常有益的事情。 正如本文研究内容所展现的,Mathematica作为一款功能强大、用法简单、语法优雅的数学软件,是进行这类研究最为便捷和有力的工具之一。
《中国学科发展战略·计算物理学》
《第八届全国大学生物理实验竞赛(创新)第一轮通知》
《计算软件在计算物理课程中的地位与作用》