当前位置:首页 期刊杂志

经典数学物理方程的可视化教学——以一维波动方程和一维热传导方程为例

时间:2024-08-31

韦德贤

(广西科技大学 理学院,广西 柳州)

一 引言

在日常中,我们知道舞动软丝绸的时候丝绸横位移的峰值可以从一端几乎完整地传递到另一端,而一端烧红的铁丝却很难将热峰值传递到另一端。这是我们生活当中经常看到的物理现象。这些日常的物理现象可以用数学物理方程来描述。在数学物理方程当中,我们知道软丝绸舞动是弦振动现象,弦振动现象所满足的方程是波动方程;烧红铁丝的热传递现象所满足的方程是热传导方程。这两类方程在空间中传播的性质是不同的[1]。

数学物理方程是物理学在其他自然科学或工程技术科学中的应用,即指在其他相应科学中满足物理学规律的偏微分方程。例如,描述海洋流动和大气运动的内维——斯托克斯流体力学方程,描述钢板弹性变化的弹性力学[2],以及前文中我们所说的描述弦振动现象的波动方程、描述热传递现象的热传导方程。数学物理方程是高校理工类专业的重要课程。传统数学物理方程的教学是面对一堆繁冗的数学公式及推导,这在今天的现代化教学当中显得有些枯燥。尽管有学者尝试提出精选教学内容、利用多媒体创新教学方法等理念[3]。但这些教学理念还是停留在传统的数学公式和解方程这样的教学模式上。在学习数学物理方程的过程中,繁杂的数学形式和数学描述在无形中削弱了物理规律及物理图像的意义。尤其是普通高校的理工类学生,他们的数学物理基础相对于重点院校的学生要薄弱一些。这就会使得普通高校学生在数学物理方程的学习上更加费力而且效果不显著。因此,我们应该对数学物理方程的教学做出一些探索。特别是计算机迅猛发展的今天,现代的数学物理方程教学更应该结合先进的信息与网络资源来发展。在这样的信息化背景下,可视化是现代高校教学中一个强有力的工具。目前,数学物理方程的可视化教学方面,基于MATLAB 仿真软件已经有一些探讨[4-8]。这些基于MATLAB 仿真软件的教学,充分利用了多媒体和计算机的资源,在教学上实现了一定的可视化功能,教学的效果也有一定的积极性。但是有必要指出的是,基于MATLAB 软件是封装指令集软件,学生们在进行仿真时,往往只需要几个简单的指令就能实现可视化,这种底层的封装性会让学生的动手操作性受到一定程度上的折扣。所以,我们认为基于MATLAB 软件的仿真教学模式在培养学生的动手能力、分析问题及解决问题能力方面是有所欠缺的。

因此,对于数学物理方程课程,我们有必要对教学方法进行深入的探讨。我们的目标是既要保证理论学习的质量,同时也要继续探索可视化教学。我们从课程所学的振动方程和热传导方程理论出发,结合基本的Fortran 编程语言进行数值计算,来实现方程其解的可视化功能。由于Fortran 编程语言是面向过程的高级编程语言,它简单易学而且可操作性强。通过Fortran 编程语言进行数值计算并实现方程其解的可视化功能,以此提高学生的动手能力、分析及解决问题相关方面的能力是有很大的帮助。本文主要是对数学物理方程的可视化教学方法进行探索与改革,以期得到更形象、更直观、更加清晰明了的物理图像,进一步加深学生对数学物理方程的理解,达到深刻理解知识并能够灵活应用的教学目的。

二 理论模型

我们知道,经典数学物理方程一般分为双曲线型方程、抛物线型方程、椭圆型方程。弦振动方程是属于双曲线型方程,而热传导方程是属于抛物线型方程。当物体的运动模型满足一定的边界和初始条件(边界条件与初始条件一般合称为边值条件)时,方程与边值条件构成数学物理偏微分方程的定解问题。因此,数学物理方程的模型所面临的具体问题是解决满足一定边值条件的数学物理方程。在一些不是特别复杂的边值问题上,数学物理方程的定解问题是可以进行解析求解的,常用的一些方法有如分离变量法、傅里叶变换法、拉普拉斯变换法等[9]。当然,在一些复杂的边值问题上,数学物理方程的定解问题是很难进行解析求解的,那么就需要引入数值求解的方法了。数值求解偏微分数学物理方程常用的如差分法[10,11]。

工作中,为了避免数学物理方程复杂的边值问题,同时又要重点突出可视化的教学思想,我们是以简单的一维振动方程和一维热传导方程为例子进行分析。

例1,一根弦的振动所满足的一维波动方程:

在此模型中,弦的两端是固定的,在弦当中某处给一个初始的扰动(微小的振动),扰动通过弦本身的介质向两端传递波和能量。为了方便,此模型中波形的传播速度已经取为单位速度。此一维波动方程的定解问题可以用分离变量法来求解[9],其通解为:

从解的形式上看,弦的横向位移u(x,t)满足正弦波的耦合形式。两端固定的弦在其中某处产生的振动,经过一段时间后,振动会以波的形式传播到两端并从两端反射回来,前进波的波形与反射波的波形经过叠加之后形成驻波。

例2,一根弦受热所满足的一维热传导方程:

在此模型中,弦的两端绝热,在弦当中某处给一个初始的热源,热源通过弦本身的介质向两端传递热量。为了方便,此模型中热量的传播速度同样取为单位速度。一维热传导方程的定解问题同样可以用分离变量法求解[9],其通解为:

从解的形式上看,热源在弦介质中的温度u(x,t)满足指数与正弦波的耦合形式。两端绝热的弦在其中某处给定初始热源,热量会以梯度的方式向外(向弦的两个端点方向)扩散并衰减掉。

在本文中,我们并不是数值求解偏微分方程。而是从偏微分方程及其定解问题出发,用分离变量法给出解析解,然后对数学物理方程其解进行可视化处理,这样是为了给数理方程的学习者对数理方程的解的性质有更加直观的理解,同时也能在教学过程中突出可视化功能的重要性。

三 数值计算及可视化结果

从一维波动方程的解(公式(2)) 和一维热传导方程的解(公式(4))两个解的形式来看分别是不同的耦合形式。这种抽象、冗长的数学形式让学生理解起来比较费力,学生对这种形式的理解也很难深入。相比于文字和符号形式的认知,学生们对图像和动画的认识更容易接受。因此,我们有必要将一维波动方程的解(公式(2))和一维热传导方程的解(公式(4))进行可视化,然后以图像的形式呈现给学生。

本文所进行的数值计算及图像描述所采用的软件分别为:Fortran 和Origin(理工类学生可以结合并利用自己所学的编程语言,如C 语言,进行编程)。有关于一维波动方程的解(公式(2))和一维热传导方程的解(公式(4))的Fortran 源代码如下所示:

基于Fortran 编程语言,本文分别对一维振动方程的解(公式(2))和一维热传导方程的解(公式(4))进行数值模拟。在本例中,我们取弦的长度L为1 m,演化时间t 为 5 s,解的级数展开到100000阶。数值结果则是输出时间依赖、位置依赖的位移函数(或者温度函数),然后利用Origin 软件将位移函数(或者温度函数)展示成时间、位置的三维图像,结果如图1-4 所示。

图1 和图2 给出的是一维振动方程解的数值结果,横平面坐标分别为时间刻度t、位置刻度x,纵坐标为位移函数u(t,x)。其中图1 给出的是一维波动方程解的时空分布等势图。从图1 我们可以看到,在x=0 m 和x=1 m 附近的横向位移u(t,x)基本上不随着时间发生变化。这是因为x=0 m 和x=1 m 是端点固定的,波形在端点处无法形成横向位移。但是波形可以沿着端点反射回去,所以我们可以在弦中间某处如x=0.4 m 处看到波形随着时间演化而呈正弦波形形状。为了更加形象地给出波动的时空分布,在图2 中给出了一维波动方程解的3 维时空分布图。从图2 我们可以更加清晰地看到,越远离端点的位置,波形的横向位移越大,换句话说,边界决定了振动只能在边界内部传递,而往返的传递形成了波形的叠加效应,即驻波现象。这就说明了舞动软丝绸的时候丝绸横位移的峰值可以从一端几乎完整地传递到另一端,从而形成一个个周期性的波形。图1 和图2 都说明了波动方程在时空演化下会形成驻波现象。

图1 一维波动方程解的时空分布等势图

图2 一维波动方程解的3 维时空分布图

图3 和图4 给出的是一维热传导方程解的数值结果,横平面坐标分别为时间刻度t、位置刻度x,纵坐标为温度函数u(t,x)。图3 给出的是一维热传导方程解的时空分布等势图。从图3 我们可以看到,在x=0 m 和x=1 m 附近的温度基本上不随着时间发生变化。这是因为x=0 m 和x=1 m 是端点绝热的,热量无法在端点处传递。在图1 中振动的波形可以传递到端点并沿着端点反射回去,与振动模型有所不同的是,图3 中热量传递到端点却无法沿着端点反射回去,这是由于两种不同物理性质的传播规律所决定的[1]。所以我们可以在弦中间某处如xL=0.4 m 处看到温度随着时间增大而呈指数形式快速地衰减掉。为了更加形象地给出热量传递的时空分布,在图4 中 给出了一维热传导方程解的3 维时空分布图。从图4 我们可以更加清晰地看到,越远离端点的位置,温度值越大,换句话说,边界决定了温度只能在边界内部传递,而传递满足梯度形式,即离热源越远,温度衰减得越快。在时间t > 0.2 s 的弦上,几乎看不到温度的分布。这也就是为什么日常生活中我们看到烧红的铁丝不继续受热的话就会快速冷却掉,同时很难将热峰值传递到另一端。图3 和图4 同时指出热量在时空演化下是以梯度的方式向外迅速衰减掉的。

图3 一维热传导方程解的时空分布等势图

图4 维热传导方程解的3 维时空分布图

四 讨论

本工作是根据数学物理方程理论,结合数值计算方法,将数学物理方程中的两类经典方程:一维振动方程和一维热传导方程进行分析,并实施可视化教学。

(一)课程难度适合普通高等院校的学生

我们选取的一维振动方程和一维热传导方程难度适合普通高校的学生的水平。既要让学生们能够学到数学物理方程的基本思想和基本方法,同时又要保证他们对学习的内容有兴趣和积极性。从课程内容的选材来说,一方面易于理解,一方面也易于实现可视化,操作性也很强,学生是相对容易接受的。

(二)可视化的方法简单易行但对动手能力有要求

与基于MATLAB 仿真软件的教学有所不同,本文是基于Fortran+Origin 的仿真教学。Fortran 是属于底层的高级编程语言,在可视化教学的实施当中,它能够让学生看到数值过程的每一个细节,它的动手操作性比较强,同时Fortran 语言和Origin 软件还容易学习上手,在教学上对学生更有吸引力。因此,在数学物理方程的可视化教学中,可以鼓励学生参与可视化处理,这对于提高学生的动手能力、分析或解决问题能力有重要意义。

五 结语

本文的工作是在大学理工类的数学物理方程课程教学方法改革中,根据数学物理方程理论,结合数值计算方法,将数学物理方程中的两类经典方程——一维振动方程和一维热传导方程这两类方程的解进行可视化处理。可视化结果可以清晰地看到波动方程和热传导方程的时空传播性质存在明显的差异性。可视化将数学物理方程繁杂的解形象直观化,在教学上更加吸引学生的兴趣,更能加深学生对数学物理方程的理解,还可以鼓励学生积极参与可视化处理过程(可视化的操作简易,对动手能力有更基本的锻炼),这对于提高学生的动手能力、分析或解决问题能力有重要意义。因此,基于Fortran编程语言的可视化处理在大学理工类数学物理方程教学方法改革的探索上具有非常积极的意义。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!