当前位置:文档之家› 1哈密顿原理

1哈密顿原理

牛顿质点动力学1 牛顿第二定律 dtd p f 从三个方面来应用:全局性研究:对称性、守恒律、稳定性;局部研究:平均值、动量定理、动能定理;瞬时研究:极限求导、奇异性、突变性;2 重点研究非惯性、矢量性、连续性、相对性的问题;3 从动力学观点上升到能量的观点。

哈密顿原理、保守力及其势4 五大类典型模型概括:一个原理:哈密顿原理(稳定性与对称性原理); 哈密顿原理的文字表述如下:二种建模方法:动力学方法、能量法;三类研究方法:对称性方法(全局)、平均值方法(局部) 求极限、求导、突变及奇异性研究方法(瞬时);四大重点问题:矢量性(矢量空间法)、连续性(微元动力学法)、相对性(相对速度公式法)、非惯性(等效性法); 五项典型模型:准粒子模型、碰撞模型、势模型、相空间模型、简谐振动与波模型。

(科学计算技术与研究式的学习模式)哈密顿原理、对称性和稳定性1.拉格朗日函数和哈密顿量拉格朗日函数L对于一个物理系统,可用一个称为拉格朗日函数的量),,(t q q L i i &来描述,其中i q 是广义坐标,=i q &dt dq i /是广义速度;广义坐标与通常所说的坐标区别在于,广义坐标是针对系统的自由度确定的,譬如一个质点限制在半径R 的球面上运动,其坐标显然有x 、y 、z 三个,但广义坐标只有φθ,两个,其中ϕθcos sin R x =,θϕθcos ,sin sin R z b R y ==;一般由于运动受到约束,坐标与广义坐标的数量是不相等的,仅在无约束条件下,坐标与广义坐标的数目才是一样的,与坐标一样广义坐标的选取也不是唯一的。

在保守力作用下,系统的拉格朗日量L 定义为动能与势能之差;U T L -=哈密顿量H物理系统还可以用一个称之为哈密顿量的函数描述,在保守力作用下,哈密顿量定义为系统的动能与势能之和),,(t p q H i i =U T +(i=1,2…s )其中)(/i i q L p &∂∂=是广义动量,哈密顿量是广义坐标和广义动量的函数,在直角坐标下对于质点运动的广义动量可写成v p m =。

作用量I 定义为⎰=21t t Ldt I 其中,积分上下限是质点初末态I q 、F q 对应的时间。

2.哈密顿原理及轨道稳定性哈密顿原理指出:当系统由I q 演化到F q ,其真实的轨道总是满足作用量I 取极值的条件。

具体来讲,当给予广义坐标和速度一个无穷小扰动i q δ、)/(dt dq i δ,而作用量十分稳定,不受扰动,即δI =0。

因此哈密顿原理的实质就是轨道的稳定性原理,质点从I q 运动到F q 总是选择一条最稳定的轨道。

其次,I 在扰动下是不变量,所以哈密顿原理也是一个对称性原理;总之哈密顿原理是物理学的最高原理。

考察空间平移的对称性,设一个系统由两个粒子组成,它们只限于在具有空间平移对称性的x 轴上运动,设两粒子坐标为x1和x2,系统的势能),(21x x E E P P =,当体系发生一平移x ∆时,两粒子坐标变为:x x x x x x ∆+='∆+='2211,,但两粒子的相对距离未变,即x x x x x x =-='-'='1212,空间平移对称性意味着势能与x ∆无关。

此外,两粒子在相互作用势能下,所受的力xE x x x E x E f P P P ∂∂=∂∂∂∂-=∂∂=111 xE x x x E x E f P P P ∂∂-=∂∂∂∂-=∂∂-=222 所以021=+f f ,即作用力等于反作用力的牛顿第三定律成立,故有动量守恒。

一般可以表述为:系统的哈密顿量在空间坐标平移下保持不变,称系统具有空间平移对称性,它对应着动量守恒律。

3.哈密顿正则方程当以变数),(i i p q 为参数时,由哈密顿原理可以得到一组哈密顿正则方程:i i q H dt dp ∂-∂=// i i p H dt dq ∂∂=// 例如一个一维弹簧振子的哈密顿量2/2/22kx m p H +=正则方程为:kx x H dt dp -=∂-∂=// m p p H dt dx ///=∂∂= 其中m p dt dx //=即动量的定义,而kx dt dp -=/是一维简谐振子的牛顿方程;一般情况下,哈密顿正则方程组的第一个方程是牛顿方程,第二个方程是动量的定义。

例1、弹簧连接体:如右图所示,用轻弹簧联接的两个质量同为m 的滑块放置在光滑的水平桌面上,试用能量法建立动力学方程。

解:系统的动能 m P m P T 2/2/2221+=11x m P &=、22x m P &=分别为两滑块的动量 系统的弹性势能 212)(21l x x k U --= ,其中k 是弹簧的劲度系数,l 是弹簧的原长;哈密顿量 正则方程引力势模型质量为m 的粒子在中心引力势r B /-作用下如何运动,其中GMm B =,G 是万有引力常数,M 为中心天体的质量。

⎪⎪⎩⎪⎪⎨⎧=∂∂=---=∂∂-==∂∂=--=∂∂-=m P P H dt dx l x x k x H dt dP m P P H dt dx l x x k x H dt dP 22212221111211),(,)(2122221)(2122l x x k m P m P H --++=图2-3-10Java 学件弹簧连接体 图2-3-11Java 学件行星运动在平面极坐标下粒子的哈密顿量rB m p mr L r B m H r -+=-=2222222p 径向动能2222)(21)(212θωd dr m dt dr m m p r ==242)(21θd dr r m L = 其中4242222mr L r m I m m ==ωω; 2221mr L 是横向动能,2222222221/2121mr L r I I m mr ==ωω。

由总能量守恒和角动量守恒22222r L r mB mE p r -+= 22222rm L mr B m E dt dr -+= 又 dtd θmr L 2= 即 L d mr dt /2θ= 于是22222)/(2122rL r B E m L r LBmr mEr r d dr -+=-+=θ 22)/(2L r B E mr r Ldr d -+=θφθ++-=22222arcsinmEL m B r L Bmr)sin(211)/(222φθ-+-=mB EL Bm L r 取2/πφ=, θφθcos )sin(-=-则 θεθcos 1cos 211)/(222+=++=p m B EL Bm L r讨论:1)0,0>>εE双曲线轨道; 2)1,0==εE 抛物线轨道;3)1,0<<εE 椭圆轨道,其中,)2/(22L m B E ->;4))2/(22L m B E -=,0=ε 圆轨道;开普勒定律参考源程序static Point3f p0,p,p1,p2[3200],p3,S[2],m_path[50]; Orient direct = {0.0f, 90};static Color4f color = {1.0f, 1.0f, 1.0f,1.0f},color1 = {0.0f, 0.0f, 1.0f, 0.9f};static float a,b,c,T,s,e,r0,ll;static float m_sita,t,dt,st,sita,dsita;void demoApp::RenderScene(int sceneIndex){int i,j;a=P_radius; b=P_omega; T=V;title.Show(30.0f, 0.0f, 60.0f);title1.Show(55.0f, 0.0f, 45.0f);c=2*3.14*a*b/T; //单位时间扫过面积e=pow((1-b*b/a/a),0.5); //偏心率r0=pow(b,2)/a;s=pow(a*a-b*b,0.5);ll=c/500.0; //角动量守恒量p0.x=0; p0.y=0; p0.z=-30;p.x=0; p.y=-s/2; p.z=-30; //太阳在焦点p3.x=0; p3.y=-s/2; p3.z=ll;S[0].x=p.x; S[0].y=p.y; S[0].z=p.z;glt::EnableLight();draw::Arrow3D(p, p3, 0.0, 0.5, 10, 2, color, color, false,0,0,0);tex.EnableTexture(); //贴图glt::BeginTransform();glt::ZTransform(S[0], direct, step); // 中心center,轴向direct,旋进角0draw::Sphere(8, color, 32, 31); // 太阳球体,半径r,经线分段数32,纬线分段数31glt::EndTransform();t=0;sita=0;for(i=0;i<step+1;i++){dt=0.01;dsita=c/pow(r0/(1-0.5*e*cos(sita)),2)*dt;sita=sita+dsita; // dsita/dt=c/mr2t=t+dt;p2[i].x=p0.x+b*cos(1.57+sita);//初始出发点p2[i].y=p0.y+a*sin(1.57+sita);p2[i].z=-30;S[1].x=p2[i].x; S[1].y=p2[i].y; S[1].z=p2[i].z; glt::SetLineWidth(3);if(i>0)draw::Line(p2[i-1],p2[i],cRED);glt::SetLineWidth(6);if((i>step-30)&&(step>30))draw::Line(p,p2[i],color1);}tex.DisableTexture();glt::BeginTransform();glt::ZTransform(S[1], direct, 0); // 中心center,轴向direct,旋进角0draw::Sphere(4, color1, 11, 11); // 球体,半径r,经线分段数32,纬线分段数31glt::EndTransform();}。

相关主题