李楠松
摘要水声学主要研究声波在水下的辐射、传播与接收,用以解决与水下目标探测和信息传输过程有关的各种声学问题。但是,并不是所有声学问题都有解析解,大部分声学问题需要利用数值计算方法求近似的数值解,现代科学研究和高新技术的发展越来越需要借助计算机进行数值计算,水声领域也不例外。目前,工科类专业的“计算方法”课程教学过程中存在课程内容与专业联系不紧密、学生动手编程能力不足等问题。针对这些问题,本文对计算方法与水声学相结合的教学方式进行了讨论与分析,提高学生学习该课程的主动性,增强学生的科研意识,使学生具备应用现代计算工具解决工程实际问题的能力。
关键词 计算方法 水声学原理 教学研究
中图分类号:G424文献标识码:ADOI:10.16400/j.cnki.kjdk.2021.20.043
Research on the Teaching of Calculation Method Combined with Underwater Acoustic Theory
LI Nansong
(CollegeofUnderwaterAcousticEngineering,HarbinEngineeringUniversity,Harbin,Heilongjiang150001)
AbstractUnderwater acoustics mainly studies the radiation, propagation and reception of sound waves under water to solve various acoustic problems related to underwater target detection and information transmission. However, not all acoustic problems have analytical solutions. Most acoustic problems need to be solved by numerical methods. With the development of modern scientific research and high technology, it is more and more necessary to use computers for numerical calculation, and the underwater acoustic field is no exception. At present, there are some problems in the teaching process of "calculation method" course for engineering majors, such as the course content is not closely related to the major, students’ lack of hands-on programming ability and so on. In view of these problems, this paper discusses and analyzes the teaching method of the combination of calculation method and underwater acoustics, so as to improve the students’ initiative in learning the course, enhance their awareness of scientific research, and enable them to have the ability to apply modern calculation tools to solve practical engineering problems.
Keywordscomputational course; underwater Acoustic; teaching research
0前言
隨着计算机技术与计算数学的发展,在计算机上用数值计算方法进行科学与工程计算已成为与理论分析、科学实验同样重要的科学研究方法。[1]对于当今时代的大学生而言,则更应当具备这方面的知识与能力。事实上,在众多科技与工程领域中,如果没有科学计算,就不会产生一流的研究成果。由此可见科学计算在科技发展中的重要性。正因如此,许多理工科大学都已将“计算方法”列为本科生与研究生的必修课程,以便学生将来能为众多科学与工程技术问题提供准确、有效、可靠、科学的数值计算方法。[2-3]
但是,笔者在计算方法教学过程中经常会遇到以下问题:(1)课程对数学的理论基础要求高,涉及代数、数列、微积分、微分方程等的数值解问题,需要学生同时掌握以上知识;(2)课程教学过程与所学专业联系不紧密,工程应用背景融合度低,学生不能将所学知识用于水声工程实际应用中去;(3)学生程序编写能力严重不足,无法熟练运用计算机语编写程序实现数值仿真计算;(4)学生学习目标不明确,对未来感到迷茫,不知为谁而学,在某些时段学习劲头不足。
由以上分析可知,“计算方法”在理工科课程体系中发挥着举足轻重的作用,但是又存在着很多问题。[4]本文首先分析问题产生的原因,然后根据“数值计算”的特点,结合声学理论,实施具有专业特色的教学改革,并将教改方案编写进教学大纲。最后,通过对误差分析、函数插值、方程求根、微分方程求解、数值微积分、方程组求解、曲线拟合等内容的讲解,使学生了解声学理论与工程研究中常用的数值计算方法,结合上机实验,培养学生运用数学知识和计算机技术解决科学研究中手工所不能解算的问题,具备应用现代计算工具解决工程实际问题的能力。
1当前计算方法教学中存在的问题
海洋在地球表层中的占比大于70%,海洋中的资源极为丰富,各种类型的海洋资源都有着无与伦比的开发潜力,表现出很高的开采利用价值。而声音是目前已知唯一能在水中远距离传播的能量形式,水声研究的发展,是基于人类对海洋探测与海洋开发的需要。目前新工科建设的大环境下,产业需求和技术发展对“计算方法”课程有着重要影响。[5]与此同时,学生在教学过程中的主体作用也越来越受到重视。针对这一变化,笔者总结了在计算方法教学过程中遇到的诸如课程对数学的理论基础要求高、教学过程与所学专业联系不紧密、学生编程能力不足等问题进行分析与研究。
1.1计算方法对数学的理论要求高,容易产生学习困难
计算方法是研究科学与工程技术中数学问题的数值解及其理论的一个数学分支,它的涉及面非常广泛,如涉及代数、微积分、微分方程、数列等的数值解问题。笔者从事本科生二年级数值计算方法的教学工作,虽然学生在大学一年级学习了高等数学、线性代数等课程,但是不可避免地会对某些知识点和概念产生遗忘,甚至有些计算方法中需要用到的知识点并不在高等数学、线性代数等的教学范围内。
例如,判断求解线性方程组中“雅克比”和“高斯-赛德尔”迭代法是否收敛,需要求解相应矩阵的特征值,但是很多学生对线性代数中矩阵特征值求解的概念产生遗忘,尤其是超过三阶的矩阵。再比如,进行插值法中牛顿插值法的教学过程中,需要用到差商这个概念,笔者认为高等数学中应该对此概念进行教授,但是从学生的课堂反馈笔者发现学生差商这个概念并不理解,通过交流发现,差商这个概念并不在高等数学的教学内容中。以上会对教学效果产生影响。
1.2计算方法课程教学与所学专业的关联度还需增强
水声学主要研究声波在水下的辐射、传播与接收,用以解决与水下目标探测和信息传输过程有关的各种声学问题。因此作为信息载体的声波,在海洋中所形成的声场时空结构,就成为近代水声学的基本研究内容,而提取海洋中声场信息的结构是我们用来进行水下探测、识别、通信及环境监测等的手段。
因此,对于水声专业的学生而言,学习计算方法的目的是掌握一项工具,用以解决在专业学习中遇到的问题。但是在实际教学过程中发现,一些专业课例如水声学原理、声呐技术等需要在大三开始学习,这就对计算方法与所学专业进行结合上提出了更高的要求,即如何深入浅出的让学生对专业知识有基本的了解。
1.3上机实验课上学生编程能力还需增强
计算方法是一门理论结合实际的课程,各种算法最终都是通过计算机语言编程实现。由于数值计算方法研究的对象以及解决问题方法的广泛适用性,现在流行的数学工具软件如MATLAB、Python、Maple等,已将其绝大多数内容设计成简单函数,经简单调用,便可得到运行结果.但由于实际问题具体特性的复杂性以及算法自身的适用范围决定了应用中必须选择、设计适合于自己所要解决的特定问题的算法,因而掌握计算方法思想和内容是必须的。需要让学生通过实际上机计算掌握计算方法的思想。
但是,通过对几届学生上机实验课上的观察与了解,发现学生编程能力不强,即使已经完全掌握数值计算方法的理论,编写的程序一软较混乱且容易出现低级错误。原因是在计算方法课程之前,绝大部分学生没有系统学习和接触利用Matlab等软件进行程序编写,造成有些学生上机课时无所事事,达不到上机实验的教学目的。
2针对以上问题的几点建议
针对在教学过程中发现的以上问题,笔者提出几点建议,并已将其应用于实际教学中,收到较好的教学效果。
2.1提前布置预习内容,并在课堂上讲解所涉及学科的知识点
针对1.1节中的问题,笔者的措施是在讲授需要用到相关学科知识点的章节之前,明确指出需要用到的知识点并提前让学生预习。例如前边提到的矩阵的特征值求解问题,在前一节课的课堂或者与学生建立的交流群(QQ、微信)等,要求学生对此知识点进行回顾和预习。对于计算方法用到其他课程中没有学到的知识点,要在课堂上对此知识点再次进行讲解。两者相结合,教学效果获得极大提升。
2.2在课堂上建立学生水声学的基本概念,并通过实际水声学问题进行引导
针对需要与所学专业课紧密结合这个问题,笔者的解决方案是在绪论的教学过程中,引入水声学中一些基本概念,例如波动方程的由来与求解。
波动方程是声学量在声场中满足的基本关系式,反映了波动特征,也是进行声场计算的基本关系式。在导出波动方程前,为了使问题简化,需要对介质和声波做一些假设:(1)介质是均匀连续的,即在波长数量级距离内,介质的声学性质保持不变;(2)介质是理想流体介质,声波在其中传播时没有能量损耗,即忽略介质的黏滞性和热传导性;(3)研究小振幅波的传播规律,所谓小振幅波是指各声学量都是一级小量。
波动方程是描述波动运动的数学表达式,它由连续性方程、状态方程和运动方程推导得到。
在建立了能够反映海洋环境因素对声场的制约关系的声场物理模型(波动方程+定解条件)的基础上,根据可测海洋环境参数的测定值或预报值,编写程序完成数值计算,给出相应海洋环境条件下的有关场值。近年来,由于计算机的快速发展,数值计算声场是一个快速发展的领域。海洋声场的数值预报方法主要有射线算法、簡正波算法、抛物方程(PE)算法、快速场(FFP)算法等,各自有不同的适应范围。
让同学对水声专业知识是产生兴趣,并在以后每章的教学中,分别与水声学的某些应用相结合,不断给学生灌输水声学概念和原理,例如将数值积分时,引入声线轨迹计算这个知识(图1)。
图1位课上讲解的用数值积分法对射线声学模型进行求解的结果,通过这个例子,可以让学生了解射线声学的概念,然后引出射线声学的原理、适用条件等,利用数值计算方法可以计算任何声线的轨迹,这是手算无法达到的。通过实际应用与分析将所学专业与课程紧密的联系到一起。
2.3分阶段按部就班提升学生的编程能力
按照教学计划,计算方法一共40学时,其中理论课32学时,上机课8学时,上机课分三次进行。为了保证上机课效果,我的方法是在第一次上机课前的理论课上,讲解上机实验的程序,目的是让学生对Matlab有初步的了解以及掌握程序流程。并在上机实验课中,演示Matlab软件的操作过程以及编写程序中需要注意到的问题。第二、三次上机课需要编写的程序在理论课上不做讲解,需要学生在上机课上独立完成。并且鼓励学生对程序进行改进与创新。在每次的实验报告中需要总结程序编写过程中的心得与体会,最后形成实验报告。通过几年教学的摸索与实践,证明了该方法是行之有效的。
3结论
本文针对目前“计算方法”的课程教学中存在的不足,提出了一些在教学过程中有效的建议,积极响应“三全育人”与“立德树人”政策方针,同时提高学生学习的积极性。目的是对学生进行与声学理论相结合的计算方法教学,使学生具备专业特色,能够动手解决实际问题,提高科学研究能力。
参考文献
[1]马东升,雷勇军.数值计算方法[M].北京:机械工业出版社,2014.
[2]李东野.以工程应用为导向的数值计算方法教学改革探讨[J].科技视界,2020,35(08):21-22.
[3]王静.在计算方法教学中培养学生的科研创新能力[J].科教文汇, 2021,2:82-83.
[4]黄政阁,崔静静.计算方法课程教学中融入思政教育的探索与思考[J].科技风,2021(1):44-47.
[5]杜金龙,饶秋华,刘静.新工科背景下材料力学教学改革与实践[J].科教导刊(上旬刊),2021(4):88-90.