时间:2023-05-30 09:38:47
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇数值计算方法,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
关键词:数值计算方法;教学改革;MATLAB;数学建模;作业改革
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2012)29-7023-03
随着教育部宽口径培养目标的实施,计算机技术的迅速发展以及社会需求的变化,《数值计算方法》课程在教学过程中出现很多不适应的地方。例如,课程内容偏重理论,轻应用,特别对于一般本科院校的学生来说,学习难度大,学习热情普遍不高;教学内容与实际需求脱节,课程缺少背景知识的介绍,缺少从算法到程序实现的训练,缺少借助计算软件解决实际问题的实践,从而造成学生学了不会用这一现象;作业题目内容和形式陈旧,学生抄袭敷衍现象严重等一系列问题。这些矛盾和问题使得《数值计算方法》课程改革迫在眉睫。
针对《数值计算方法》课程教学作了一些尝试和改革,主要包括优选教学内容,并做适当合理的补充,重点建设实验课程,熟练掌握使用MATLAB软件,强化数值方法与计算机技术的应用能力训练,彻底改革作业形式,养成学生动手又动脑的良好学习习惯,将数学建模思想贯穿整个教学过程中,激发学生学习兴趣等措施。
3 重点建设实验课程,熟练使用MATLAB软件
数值计算方法课程是一门实践性很强的课程,各种算法最终是为解决实际问题服务的,所以我们更看重的是算法在计算机上运行的效果,为此我们增设了16个课时的实验课程。另外,《数值计算方法》的许多内容在理论和实践中都非常成熟,很多算法都已经被开发并集成到专门的数学软件,这些软件具有强大的数值计算功能,易学且具有开放性,其中最具代表性的就是MATLAB软件。
在实验课程里,我们使用MATLAB软件实现理论课中所有的算法。包括插值,数值微分,数值积分,曲线拟合的最小二乘法,非线性方程求根,解线性方程组的直接法,解线性方程组的迭代法,计算矩阵的特征值和特征向量,常微分方程数值解法等。另外我们还补充介绍MATLAB强大的图形展示功能,曲线拟合工具箱丰富的GUI界面以及非线性方程组求零点。实验课不仅提高学生解决实际问题的能力还能帮助学生加深对理论知识的理解。例如,考虑估算山崖高度的问题,如图3所示。在考虑了空气阻力,反应时间,回声传播时间等因素之后,引导学生建立了如下数学模型,其中,,是未知数。
这是一个看似简单的三元非线性方程组,Newton迭代法数值求解它需要初值,有些同学虽然会使用MATLAB求解方程组零点,但因为初值选取不好,一直找不到解。从这个实验,加深了学生对Newton迭代法严重依赖初值的理解。
最重要的是我们将MATLAB软件介绍给学生,引导他们入门,激发他们自己学习的兴趣,鼓励他们自学MATLAB其他功能,熟练使用MATLAB解决各种计算问题。
4 改革作业模式,动手又动脑
作业是教学改革的重要部分,作业布置得不好会让学生更加讨厌这门课程,相反,作业布置得好可以激发学生更大的学习热情。《数值计算方法》教材和参考书都有很多题目可供学生练习,但是这些题目无论从形式上,还是从内容上都很陈旧,题目的答案也很容易找到,学生大多彼此抄袭,敷衍了事,根本达不到预期的作业效果。针对这一情况,我们设计了形式和内容都很新颖的作业题。
例如,数值积分部分的作业题是发给每个人一个形状不规则的卡片如图4所示,让他们分别用梯形公式,Simpson公式,复化梯形公式,复化Simpson公式计算其面积。作业最后以小论文的形式上交,作业内容包括设计算法,编写代码,图像展示数值结果,估计误差。由于每个人的卡片不同,坚决杜绝了作业抄袭的现象。另外由于形式新颖,且需要动手测量,极大的调动了学生的学习热情。
最小二乘拟合部分的作业是六个小组共享数据,每个学生用所有数据拟合三次多项式估计10:05的气温。
通过这样形式新颖的作业,极大调动了学生的学习热情,学生反响良好,得到了很好的教学和学习效果。
5 将数模思想贯穿整个教学,鼓励学生参加数模竞赛
《数值计算方法》课程理论性较强,背景知识较少,在授课过程中我们着重加强背景知识的介绍,精选教学实例,将数学建模思想贯穿到整个教学过程中,从提出问题,分析问题,建立模型,数值求解,结果展示,误差分析,力求完整的解决实际问题。另外,我们鼓励学生积极参加校内数学建模竞赛,网络挑战赛,全国大学生数学建模竞赛,美国大学生数学建模竞赛,建议每个学生毕业前都要至少参加一次数学建模竞赛。通过参加数学建模竞赛活动,学生更加认可了《数值计算方法》课程的重要地位,激发了学生的学习热情,有效地提高了学生解决问题的能力。
6 改革教学方法,更新教学模式
《数值计算方法》课程理论性较强,在教学过程中,我们采用启发式、讨论式等多种教学方法,营造良好的课堂气氛,加强师生之间的交流。由于《数值计算方法》课程涉及较多的概念、公式和定理,传统的教学方法,在算法推导、理论分析等方面能更好地引导学生去感受和思考数学逻辑的过程以及创造性的思维过程,加深对数学理论的理解和认识,培养学生的逻辑和思维能力。而在讲述背景知识,算法的应用,算法的程序实现的时候最好用多媒体课件进行演示。所以,我们认为需要将传统的教学方法和现代的教学手段结合起来,充分发挥各自的优势,在传统教学中穿插使用多媒体课件,根据教学内容选择合适的教学手段。
7 结束语
我们在《数值计算方法》课程教学改革方面作了以上的探索和尝试,但课程教学改革是一项艰巨的,长期的工程,我们仍然任重而道远。
参考文献:
[1] 张韵华,奚梅成,陈效群.数值计算方法与算法[M].北京:科学出版社,2006.
[2] 杨韧,张志让 《微分方程数值解》课程教学改革与实践[J].大学数学,2011,27(4):19-22.
[3] 张韵华,陈效群.数值计算方法课程改革初步[J].大学数学,2003,19(3) 23-26
关键词:暂态稳定性;数值积分方法;RungeKutta方法;RungeKuttNystrm方法;RKNd方法
中图分类号:TM744 文献标识码:A
Fast Numerical Simulation of Power System Transient Stability by RKNd Methods
ZHANG Lei,WANG Fangzong,HU jiayi
(Electrical Engineering & Renewable Energy School,China Three Gorges University,Yichang443002,China)
Abstract:The RKNd method is a new kind of numerical integration methods, of which the order is higher than that of the traditional RungeKutta methods and RungeKuttaNystrm methods for the same stage. In this paper, the RKNd method is introduced to the numerical simulation of power system transient stability, and then a fast numerical simulation method has been proposed. The proposed method has been compared to both the traditional numerical integration method and the symplectic Gauss method using IEEE145bus power system, and the tested results show that the implicit RKNd method has the advantages both in calculation accuracy and in computational efficiency respectively over the symplectic Gauss method and the implicit trapezoidal rule. Therefore the proposed methods should be more suitable to numerical analysis of transient stability and other likewise problems.
Key words:transient stability;numerical integration method;RungeKutta method;RungeKuttNystrm method;RKNd method
1引言
数值积分方法是电力系统暂态稳定性分析计算的基本方法。最常用的数值积分方法大致包括隐式梯形积分法以及RungeKutta方法(RK方法),前者是隐式积分类方法,后者是显式积分类方法。
近年来,研究人员又提出了不少新的数值积分算法。文献[1]和文献[2]将辛Runge—Kutta算法(辛RK方法)、文献[3]将可分Hamiltonian系统的显辛算法、文献[4]将辛代数动力学算法用于暂态稳定性的计算,并对这几种新的数值积分方法进行了测试和对比分析。文献[5]和文献[6]分别将多级高阶辛RK算法以及多级高阶辛RungeKuttaNystrm算法用于暂态稳定性的并行计算。
文献[7]利用一阶常微分方程导出的二阶方程,借鉴Nystrm方法,提出了一类新的数值积分方法,即RKNd方法。RKNd方法的最大优点是:在相同级数情况下,RKNd方法可达到的最高代数阶比传统的RK方法高。在传统的RK系列方法中,s级的显式RK方法可达到的最高阶数是s阶;s级的隐式RK方法可达到的最高阶数是2s阶。但RKNd方法不同,2级的显式RKNd方法可以达到4阶;2级的隐式RKNd方法可以达到5阶。因此,与同级的RK方法相比,RKNd方法具有更高的计算精度;与同阶或略低阶的RK方法相比,RKNd方法具有更高的计算效率。
本文将RKNd方法引入电力系统暂态稳定性的数值计算。以IEEE 145节点系统为例,分别将2级4阶显式RKNd方法与传统的4级4阶显式RK方法、2级5阶隐式RKNd方法与2级4阶隐式辛RK方法进行了对比测试。测试结果验证了RKNd方法在计算效率方面具有明显的优势,因而可以推广应用于电力系统暂态稳定性及其它领域的数值计算。
2RKNd方法简介
RKNd方法既不同于传统的RK方法,也与RKN方法有所不同。对给定的2阶常微分方程初值问题
=f(t,x)=g(t,x),x(t0)=x0 (1)
关键词:产品设计;计算方法组;解析参数;动态脚本
中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)31-0000-00
Research and Implementation of Computation Method Management System
SONG Jun, WANG Jian, LING Wei-qing
(CIMS Research Center of Tongji University, Shanghai 200092, China)
Abstract: This paper mainly research computation method management system, according to the requirement of executing joint multi computation methods and parameter mapping during product design process in power generation equipment manufacturing industry. Determine parameters according its row and column in file, map the resolved parameters and implement the transmission of parameters’ value between different files, descript logic rules with dynamic script based on analyzing the working principle of engineering computation methods and the format of its parameter files. Design and develop the computation method management system based on J2EE framework, relational database, dynamic script and other technologies, and validate it through executing an actual example under PADE system.
Key words: product design; computation method group; determine parameters; dynamic script
产品设计分析环境(PADE)系统[1]主要用于我国发电设备制造业的产品设计环节,它包括了工作流管理,分布式计算资源管理,数据管理以及知识管理等功能,使企业能够规范化产品设计流程,提高产品研发效率,节约成本。但是PADE的计算资源管理子系统只支持单个计算资源的执行,缺乏多个计算方法联合执行的能力。随着产品设计领域的竞争日趋激烈,企业对工程计算方法的需求也随之增加,不仅仅限于单个计算方法本身的执行情况,而是更加关注工程计算活动在产品设计过程中的影响,其中企业在进行新产品的开发设计活动中,对于产品的某一性能的设计工作,需要设计人员运用多个工程计算方法共同协作才能完成,而这些计算方法之间存在大量的耦合关系,设计人员需要进行繁琐的参数配置,包括输入文件之间的同名参数的映射及中间结果文件与输入文件之间的同名参数的映射。例如有n个计算方法组合成一个计算方法组,每当运行其中一个计算方法之前,设计人员都需要根据前一个执行完毕的计算方法所产生的中间结果文件,修改当前计算方法的输入文件中的参数值。由于一套计算方法组中的某些计算方法需要重复执行,这样导致设计人员的工作量猛增,要完成一套计算方法组的计算工作,设计人员至少要进行n次的修改参数工作以及至少n次的执行计算方法的工作。在现有的PADE系统中,没有计算方法组的概念,计算程序之间的参数数据传递完全依靠人工完成,效率低而且可靠性差。
企业若要提高在产品设计过程中的竞争力,就必须解决多个计算方法的联合执行的问题和计算文件之间的参数自动传递的问题,因此需要一种计算方法管理器,对产品设计过程中涉及的计算方法、计算文件中的参数以及参数间的关系进行管理,以提供多个方法联合执行和参数自动传递的功能。
当今主流的产品协同开发环境中都包含了多个计算方法联合执行和参数自动传递的功能,但是这些系统提供的功能并不能很好的满足我国发电设备制造业对联合计算的需求。以FIPER[2](Federated Intelligent Product EnviRonment)为例,它将工作流技术引入到计算方法的联合执行过程,将多个计算方法分别作为活动组建工作流模板,由工作流引擎驱动计算方法组的执行,并完成方法之间参数的传递。虽然工作流的引入令整个计算方法组合的创建过程更加灵活,但是它要求用户熟悉工作流建模技术,增加了用户的学习成本。我们通过对企业实际研发过程调研得知,企业真正需要的是多个计算方法的顺序执行,同时完成关联参数的值传递,完全不需要工作流技术的支撑。本文将针对能够完成多个计算方法的顺序执行和参数传递功能的计算方法管理器进行研究和实现。
1 关键技术
计算文件是与工程计算方法相关的参数文件,包括输入文件、输出文件和中间结果文件;计算方法根据输入文件的内容计算得到包含计算结果的输出文件和包含中间参数结果的中间结果文件。多个计算方法联合执行过程中的参数传递涉及到输入文件和中间结果文件,包括输入文件之间的参数值传递和中间结果文件到输入文件的参数值传递。经过分析可知,若要完成参数数值的传递,需要两个步骤,一是解析出输入文件中的参数和中间结果文件中的参数,二是建立参数之间的映射关系,其中第一步是关键。
1.1 参数解析
经过对发电设备制造行业的工程计算文件的分析,可以发现这些文件中的参数排列是存在规律的,参数之间是以逗号和空格作为分割符的,同一计算程序对应的计算文件中的参数个数与位置是固定的,只是数值存在差异,因此我们可以将参数在计算文件中的行号作为横坐标,然后根据分隔符解析该行的参数序列,以参数的列号作为纵坐标,如此记录下每个参数在相应文件中的行号和列号就可以准确定位到该参数。
1.2 参数映射
参数映射是建立在参数解析的基础上的,解析出来的参数作为数据信息保存在存储介质中后,我们就可以在它们之间建立对应关系,并且将这些关系记录下来,作为计算程序之间的关联关系。参数之间的关系可以是单向的也可以是双向的,如计算程序tgs3643的参数集合为{DATE,ETT,QS,…},计算程序tgs3601的参数集合为{DATE,BS,NVT,…},我们可以通过建立参数之间的关系集合来描述计算方法之间的关联关系。
1.3 规则描述
值得注意的是,一些输入文件内部的参数之间存在着一些逻辑规则(例如,IF A=0 THEN B,C=0),而且不同的计算文件往往对应着不同的约束规则,所以无法在系统开发过程中实现全部的规则,而必须在系统运行时调用相应规则描述,按照逻辑规则完成参数值的传递。本文采用了动态加载规则脚本的方法,来解决这一难题。目前流行的脚本引擎有很多,如大家熟知的微软VBA,网络动态脚本JavaScript,基于Java的BeanShell[3]引擎等,本文采用了BeanShell作为动态规则脚本的解释器。它负责加载规则脚本,根据参数的数据信息,动态解释规则脚本,并执行规则中的逻辑判断,最终返回受到约束的参数的数据信息。
2 系统架构与功能模块
2.1 系统架构
本文中的计算方法管理器遵从了“合理、有效的描述各种资源的信息结构及相互关系,...为用户提供统一的资源信息接口”[4]的原则,采用了C/S的系统架构。系统数据层采用关系数据库和Ftp服务,业务逻辑层和抽象数据访问层采用了Spring[5]加Hibernate[6]的组合框架,表示层采用了RCP[7]框架。
2.2 功能模块
本系统的功能模块包括参数解析模块,参数映射模块,计算文件的规则描述模块和计算方法组合执行模块。其功能分别为:参数解析模块,完成解析并定义计算文件中的各个参数的功能;参数映射模块,建立参数之间的映射关系;计算文件的规则描述模块,用脚本语言描述计算文件中的逻辑规则;计算方法组合执行模块,组建计算方法组合,调整执行顺序并完成批量的计算工作。
2.3 功能模块的实现
该系统中参数解析模块和参数映射模块是基础模块也是最重要的模块,本文将详述它们的实现工作。首先是数据库设计部分,需要参数表tbPara和参数映射关系表tbMap来存储参数及参数之间关系的信息,数据表设计如表1、表2所示。
在参数解析模块的用户界面设计方面,用户需要导入待解析的计算文件,然后利用鼠标光标选择参数,利用鼠标事件将参数的坐标信息传入系统,系统监听到此事件,并将坐标信息作为参数的行列信息存入数据库,如图1,之后就需要在参数映射的用户界面中建立这些参数之间的映射关系。
规则描述模块采用了BeanShell作为脚本解释器,它支持类似java语法的脚本语言,为应用程序提供了灵活的,动态的逻辑处理能力。例如,某一计算方法tgs3601,它的输入参数有para1,para2,para3,para4,...,逻辑规则为IF para1=0 THEN para3,para4=0,脚本文件tgs3601.bsh用来描述此规则,其内容为,
inputParaName;
inputParaValue;
String getResult(ParaName, ParaValue){
result;
if(ParaName.trim().equals("para1")){
if(ParaValue.trim().equals("0")){result="para3,0, para4,0";}
}else{result="";}
return result;
}
results=getResult(inputParaName,inputParaValue);
应用程序可以在运行时调用BeanShell解释器对该脚本文件进行解释执行,并读取其内容,动态的修改受约束的参数的数值。上述实例实现的功能是,当设计人员将参数para1的数值修改为0,则参数para3和para4的数值自动设置为0,并且在用户界面上禁止再对para3和para4进行修改。(下转第8828页)
(上接第8825页)
基于该动态脚本技术,所有计算文件中的逻辑规则都可以进行描述,并将这些脚本文件与相对应的计算方法管理起来,建立规则库,这样就可以保证在添加或修改逻辑规则的时候,系统源程序不需要修改,而只需添加或修改规则库中的脚本文件,增强了系统的通用性。
3 系统应用
本实例将执行包含两个计算方法的方法组,以此说明软件操作流程,并证明系统有效。两个计算方法分别为tgs3601和tgs3643,测试目标分为输入文件之间的参数联动和中间结果文件到输入文件的参数联动。测试的前提是这两个计算方法已经在系统中完成了参数解析和参数映射,测试的步骤为,
步骤一,进入tgs3601的计算界面,修改其中的Date参数值为12-Mar.-2002,保存并查看tgs3643的输入文件中的Date参数值,发现数值已经修改为12-Mar.-2002,由此证明输入文件间的参数联动功能已实现。如图2。
步骤二,调出计算方法管理器,添加tgs3601和tgs3643,成功运行之后,从Ftp服务器取得tgs3601的中间结果文件,其内容如图3,然后打开tgs3643的输入文件,内容如图4,可见计算方法tgs3601的中间参数已经传递到了tgs3643的输入文件中,由此证明中间结果文件与输入文件间的参数联动也实现了。
4 结束语
计算方法管理器是根据发电设备制造企业的实际计算需求而开发的,很好的满足了企业关于多个计算方法顺序执行和参数联动的需求,能够极大的提高员工完成计算工作的效率,为企业降低了研发成本。但是目前的系统仍有不足之处,由于每次计算都要占用大量的时间和资源,所以需要有一套知识管理体系,而不是单纯的结果存储,这样才能为日后的计算工作提供参考,提高计算的成功率,这些工作将在后续的研究中涉及。
参考文献:
[1] 陈城,王坚,凌卫青.发电设备产品设计分析管理系统[J].组合机床与自动化加工技术,2009(4).
[2] 赛特达(北京)科技有限公司.FIPER一体化CAX过程管理和设计协同的平台框架[J].航空制造技术,2005(11):98-99.
[3] 尼米尔,鲁德森.Java TM语言学习手册[M].北京:中国电力出版社,2004.
[4] 姬琳,杨岳湘,王韶红.分布式计算资源管理[J].通讯学报,2005,1(26):1A.
[5] 缪雪峰.Spring2.0核心技术与最佳实践[M].北京:电子工业出版社,2007.
关键词:计算方法;算法;计算机应用;教学水平;教学质量
中图分类号:G64 文献标识码:B
文章编号:1672-5913(2007)02-0007-03
计算方法也称为数值计算方法或数值分析,是计算机科学与技术、信息与计算科学专业的一门重要的专业基础课程,也是高等工科院校学生普及有关计算方法方面知识的基础课程。
通过该门课程的学习,旨在培养学生抽象思维和分析问题能力的同时,使学生熟悉并掌握利用计算机进行科学计算所必须的一些最基本、最常用的算法。但在一般情况下,由于该门课程具有理论性强,高度抽象,知识要素的分析过程复杂等特点,再加上一些学生的高等数学知识基础较差,计算机语言和编程方法的课程学习不够扎实,理论与实践衔接不紧密,致使学生对该门课程学习的兴趣不高,实际教学效果也不理想。因此,如何提高计算方法课程的教学水平和教学效果,对学生后续课程的学习和更好利用计算机解决实际问题均具有重要的意义。本人结合长期从事该课程教学工作的实际,从教学理念、教学内容、教学方法、教学手段等方面进行了一定的探讨。
1 引导学生明确课程要求
计算方法课程从表面看,属于应用数学类的课程,一些学生在开始学习该课程时,也感觉计算方法就是高等数学课程的延续。因此,让学生领会该课程的要求和教学的指导思想,对学好该门课程来说至关重要。高等数学重在讨论对问题的解决,而计算方法重在讨论和分析问题解决的方法。计算机要真正能够充分发挥作用离不开计算机软件,软件由计算机程序、文档和有关控制数据组成,而计算机程序的核心是计算机算法,一步一步解问题的过程称为算法。可见,如果没有有效的算法,就不可能开发出更新更先进的软件,也就不可能有计算机的广泛运用。因此,教学中要让学生明白算法的重要性,理解计算方法重在研究方法,重在研究适合计算机的算法,且让学生一开始就知道,计算机的运算速度虽然高,可以承担大运算量的工作,但并不意味着计算机的算法可以随意选择。在本课程的引入中,笔者选择了几个典型例子来说明研究计算方法的必要性和重要性。如:关于求解线性方程组的问题,在高等数学中一般通过分析可以容易得出使用行列式解法的克莱姆(Cramer)法则。但用这种方法求解一个n阶线性方程组,要计算n+1个n阶行列式的值,为此总共需要做n!(n-1)(n+1)次乘法,即使n=20,这项计算用运算速度为百万次每秒的计算机去做,也要连续工作千百万年才能完成,这样的求解方法当然完全没有实际意义。其实,计算方法就是要探讨类似很多问题的实用算法。同时,通过教学过程的各个环节,使学生不断感受到计算方法这门课程的作用和使用价值,激发学生学习该课程的积极性,并突出和加强学生理论联系实际的能力。
2整合课程内容
自计算机成为数值计算的主要工具以来,计算方法主要研究适合于在计算机上使用的数值计算方法及与此相关的理论,包括方法的收敛性、稳定性以及误差分析,还研究满足计算机特点且计算时间最短、占用计算机内存最少的计算方法。因此,首先必须根据计算机学科和专业培养要求制订切合实际的教学大纲,并深入分析计算方法课程和不同教材的特点,合理安排教学内容,使教学更有针对性。
由于我校的办学定位是培养应用型创业人才,所以,在制定本课程大纲时,做到教学要求符合实际,教学内容合理,突出具体的运用,使其能更好地指导本课程的教学。笔者在先后讲授计算方法这门课程时,使用过多种不同版本的教材和参考书,有《数值分析》(南开大学出版社,袁尉平等编著)、《计算方法与实习》(南开大学出版社,孙志忠等编著)、《数值分析简明教程》(高等教育出版社,王能超编著)、《计算方法》(西安交通大学出版社),《计算机算法设计》(电子工业出版社,苏德富等编著)等。这些教材或参考书各有特点,有不同的侧重和各自的内容体系。如何选择适合本专科学生实际及教学大纲要求的教材就显得很重要。实际上,要真正选择一种很适合的计算方法的教材是很困难的,因为这方面教材数量少且更新较慢,而计算机学科发展又较快。为了解决这些方面的问题,笔者在尊重学科特点,满足大纲要求的基础上,指定教材时以《计算方法与实习》(南开大学出版社,孙志忠等编著)为主,其他作为参考书,并在教学中将所要讲授的内容按照由简单到复杂、由浅入深、循序渐进、注重实用的原则进行重新组织,甚至在知识点的组合中打破章节界限,对部分内容做了合理的取舍。对一些内容复杂且今后可能会随着继续升造而进一步学习的内容进行了删减。如对偏微分方程的数值解、插值与逼近中周期函数的逼近与快速Fourier变换、振荡函数的积分、常微分方程数值求解中的边值问题的数值解法等做了大胆的删减。一方面节省了课时数,另一方面也使学生更集中精力抓住重点,同时也使讲授更适合学生的思维和知识结构,对一些理论性过强的内容,做到只讲解思路,重视分析及得出具体方法,对具体的推导过程只要求学生理解即可,从而使学生真正达到计算机学科的要求。
3改革传统教学方法
3.1 设立问题情景,引导和启发学生自主解决问题
对于计算方法这门课程的内容,让学生掌握的不是解决某一个或某一类问题的具体方法,而是要让学生理解和分析如何得到解决问题的方法。也就是说,在教学的整个过程中,把解决问题的思路、方法、步骤作为讲授的重点。对于每一个要讲授的内容,一般设计为四个阶段:(1)问题的提出;(2)问题的解决所用到的新旧知识;(3)解决问题的过程;(4)方法的提炼和有效性分析。如,在讲授非线性方程的数值解这一内容时,先依据“非线性方程的解在方程次数大于或等于5的情况下,它的根不能用方程系数的解析式表示”这一理论知识,提出:一般的非线性方程的数值解如何得到?紧接着,引导和启发学生建立新旧知识之间的联系,回忆已学过的知识(方程根的概念,数学分析中关于函数零点的知识)很容易得出求解的理论依据和步骤,并与学生一道利用其理论依据求解问题(过程),最后将这一解决问题的过程归纳并抽象化,就得到求方程近似根的最直观、最简单的方法――二分法。在分析二分法优缺点的基础上,就提出了下一个要讲授的内容。通过这样一个完整的过程,使学生在教师的启发和自己的主动思考中拓展知识结构和思维空间,逐渐学会和掌握解决类似未知问题的思维模式和方法要领。
3.2 典型分析、触类旁通
在教学中,由于该课程内容复杂,课时少,在课堂中如果要讲解所有的问题和多种类型的例题,时间是不允许的。因此,在讲授过程中必须对内容进行有效的处理,使学生在理解和掌握基本算法的基础上,抓住典型问题对一些内容和习题进行讲解、深入分析,要求学生掌握问题和方法的实质,并要求学生在课堂或课后做到对其他问题触类旁通。比如讲解复化求积公式时,考虑到为了提高计算积分的精度,复化求积公式其实就是对划分的若干个小区间上的积分应用梯形公式、辛卜生(Smpson)公式、柯特斯(Cotes)公式,因此在讲授时就可以重点讲授一个公式的推导和运用,然后引导学生课堂或课后理解掌握其他公式的推导和运用。通过对类似很多内容的处理,从而提高课堂教学和学生学习的效率。
3.3 激发求知,主动参与
在计算方法的教学中,可以说新的知识点一个个不断地出现,这就需要学生运用科学的思维方法去思考,从而来解决许多实际问题,最大限度地发挥学生的潜能。在教学中让学生在自主学习中学会思维、学会学习是非常重要的。因为,计算方法每一章节的内容都是在过去已解决了的问题基础上,从新的角度提出的另一个层面上的一个个新的问题,如:数值微分、数值积分、常微分方程的数值解、矩阵特征值与特征向量的计算等。因此,在教学中,结合大学生的智力特点,笔者立足于不断激发学生的求知欲,让学生积极主动的参与学习活动,并使学生在获取知识的同时,自觉完善和发展自己的认知结构,掌握独立获取和运用知识的能力,启发引导学生揭示已有知识、经验与新的学习任务之间的矛盾,引起学生的认识冲突。同时,深入了解学生探究新知识的知识基础及能力起点,预想学生解决问题的各种思考方法及会遇到的种种困难,提供有利于学生进行思维的信息,给予学生讨论、交流及展示思维过程的时间和场合,使学生积极主动地参与整堂课的学习活动,从而更好地激发学生的认知兴趣,培养学生的思维和分析的能力。
4 改革教学手段,优化教学过程
4.1 利用多媒体教学手段,提高课堂教学效率
由于计算方法课时少,知识信息容量要求大,在一些章节适当借助于多媒体教学,能有效地增大每一堂课的课容量,减轻教师板书的工作量,使教师能有精力讲深讲透所举例子,提高讲解效率。如,在讲授线性方程组的数值解法和及其例题时,笔者就是将一些表述的过程用多媒体进行演示。否则,使用板书表示问题,也会占去课堂很多宝贵的时间,更没有时间去分析和讲解具体的方法。另外在每次对课堂所学内容进行回顾和小结时,笔者一方面引导学生总结本堂课的内容,学习的重点和难点。另一方面,通过投影仪或多媒体课件,同步地将内容在瞬间放在屏幕上,使学生进一步理解和掌握本堂课的内容。
4.2 运用框图描述算法全貌,为学生编程和利用计算机演算奠定坚实基础
在教学中得出某一个问题的算法后,从计算方法课程要求来讲,任务似乎已经完成。但算法是抽象的,为了真正架起问题、软件、计算机之间的桥梁,在对每一个问题讲授后,不失时机地对所形成的算法用框图加以描述。对于利用框图描述一个算法,一般可分为:准备部分、计算部分、控制部分、反馈部分。这不仅可以使学生加深对算法基本特征的直观理解,也使学生真正把握计算公式在算法中核心作用,因为在计算机上使用的算法,其计算公式常采用递推的形式,递推的基本思想就是将一个复杂的计算过程归结为一个简单过程的多次重复,这种重复在算法上表现为循环,而这一点正是借助计算机解决实际问题的方便之处,从而也为学生利用编程语言写出运行程序进行演算和计算提供帮助。因此,让学生学会和掌握用框图描述算法也是必要的。
4.3 安排上机实习环节,使学生加深对算法的理解,增强解决实际问题的能力
计算方法虽说是理论性很强的课程,但该课程教学的最终目的是培养和训练学生编写程序,开发软件,或者说利用计算机解决实际问题奠定坚实的基础。因此,在教学过程中适时安排上机环节是十分必要的,特别是针对每章学习结束,学生可以利用已经得到的算法,编写出相应的程序,利用计算机来求解教材中的习题,从而帮助学生加深和强化对知识的理解,锻炼学生的实际动手能力和解决问题的能力,笔者也深深体会到这样的实践环节,对增强学生学习的自信心是有很大帮助的。
总之,要教好计算方法这门课程,并使学生学好这门课,需要教师在认真掌握教学规律的基础上,不断加强教学改革和探索,也需要学生具有一种主动探索的学习习惯,并掌握正确的学习方法,才能从根本上提高本课程的教学水平和教学质量。
参考文献:
[1]张基温.从语法体系走向问题体系――程序设计课程教学改革探索[J].计算机教育,2004,(7):29-31.
[2]王超.构建大学生自主学习教学模式, 培养大学生自主学习能力[J].中国冶金教育,2006,(4):51-54.
关键词:数学教学;数值计算;计算机专业
随着计算机行业飞速发展,数值计算法应用愈发普遍,在图形图像处理,金融衍生品定价,航空航天,企业风险管理等多个领域都有所涉及,通过编程手段实现数值计算也成为计算机学科在实践应用中很重要的一部分,数值计算正越来越多的融入到计算机相关领域的开发与研究当中。因此在计算机专业数学的教学中融入数值计算方法,对于学习计算机专业的学生来说,不论是从对于计算思维的开发,还是从未来就业角度看,都是很有意义的。
一、数值计算方法
数值计算是使用数字计算机求数学问题一种方法与过程,其主要内容偏重于计算,也就是对于数值上的处理,借助于计算机强大的运算能力,很多以往很难处理的数学问题,可以通过有限次运算进行精确的模拟与求解。因此对于很多现实中存在的以往无法处理的问题,今天的人们更多的倾向于通过数值计算方法借助计算机去处理。
数值计算方法在实际中应用广泛,其原因一方面是由于计算机的数据处理能力随着技术手段的进步越来越强大,对于通过人工手段无法找到技巧去求解的问题,计算机可以借助大量的运算从数值上进行还原。另一方面,很多现实中的问题其本质是建立在数值基础之上的,如关于图像的处理,其实际应用极其广泛,不仅见于气象、森立防火等自然环境图像处理,还常用于当今3D游戏设计,图片加工修饰等领域。而反观其本质,图像的每一个像素点实际都是用数字表示的,对于图像的处理,实际就是对于大量的数字进行运算。
在交叉学科日益发展的现实背景要求下,计算机行业对于从业者的数学背景要求越来越高,而高校对于计算机专业学生的数学教学要求却并不统一,其中大部分独立学院出于课时量及生源水平的考虑,对于计算机专业只是开设了最基本的高等数学课程,因此如果能在不影响教学进度的情况下,在高等数学教学中融入数值计算思想,可以弥足学生在这方面的空白,为以后学生的发展和就业都起到了非常关键的作用。
二、在高等数学教学中融入数值计算思想的意义
首先,从教学角度上看。高等数学对独立学院的学生来说比较难学,而目前单一的注入式教学模式,又使数学凸显枯燥,使学生在学习过程中产生一种恐惧心理。在最初学习高等数学课程时,由于不是本专业的专业课,学生往往很难予以重视,在学习过程中经常出现学习缺乏积极性的问题,学生常常抱有计算机专业为何开设数学类课程。与此同时,对于计算机专业的数学教学要求也比其他非数学专业普遍要高,不论从教学中还是考研要求上都是如此。因此,通过在数学教学中,融入数值计算方法,发掘数学与其本专业的联系,引起学生兴趣,对于提高教学质量,更好的达到教学目标有重要意义。作为教师,面对高等数学课时少、教学方式单一的现状,应充分认识对计算机专业的学生培养数值计算思想的意义,探索可以将数值计算思想融入高等数学教学中的具体方法,促进计算机专业的数学教学,培养更能适应计算机行业发展的专门人才。
其次,从就业角度上看。独立学院与传统研究型大学不同,我们期望培养的是适应社会就业的实践型人才。对于在计算机专业数学教学中融入计算数学思想的现实意义,需要通过真正的就业形势来说明。近年来,越来越多的软件企业倾向于从数学专业毕业生中招募人才,看重的就是其数学背景,很多企业也都新增了算法工程师一职,专门进行数值计算方面的研究。而所谓的程序员也成为了计算数学专业、信息与计算科学专业学生毕业的主要出路,这无疑是对计算机专业人才就业的一个冲击。对此,作为计算机专业的学生,在拥有更扎实的编程功底的同时,了解数值计算思想,不只能在就业之时提升自己的竞争力,在日后工作中,也能有更长远的发展。
最后,在近些年的计算机教学研讨中,计算思维这个词逐渐引起大家的注意,其概念是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。高等数学中的一些问题虽然简单,却能涉及到数值计算的求解,是引导学生利用计算机设计方法,求解问题的有利途径,对于培养学生的计算思维有一定的促进作用,而这样的思维对于学好计算机学科也起着关键的作用。
三、在高等数学教学中融入数值计算思想的方法
在实际教学中由于为了保证正常的教学进度,对于数值计算方法的引入不仅要合理,还要适度,根据独立学院的教学理念,应着重于介绍相关数值方法的应用,而对于具体的理论推导,可以简单的加以说明,避免过于枯燥,违背了引入数值计算思想的初衷。在高等数学课程中,主要介绍了极限、微分、积分的相关知识,下面对于可以融入数值计算思想的知识点给出简要介绍。
首先,在极限部分会介绍无穷大量与无穷小量的定义,而此时,学生对于计算机专业课的学习刚刚入门,对于无穷大量与无穷小量一方面可以通过极限的方式理解,还可以从算法角度考虑,对于一个算法,其运算量可表示成无穷大量,而其误差大小可以表示成无穷小量。
其次,在介绍导数部分时会涉及到导数的近似计算,对于给定一个函数导数形式,及某个初值,根据近似计算方法可以计算函数任意一点处的取值,这实际上也是数值计算中的差分法。而此时,学生的计算机专业课程刚好开始正式涉及编程,对于这样的微分方程给定初值求解问题,可以简单的给出相应的伪代码,使学生对于数值计算有初步的认识和理解。
最后,在积分部分,定积分的定义中求和的部分通过取剖分足够小,就可以模拟定积分的近似值,借助计算机,对于任意函数任意区域无论函数形式多复杂,都可以借助计算机求解,同时,此时的学生已经掌握了基本的编程语言,如果课时量允许,可以进行程序演示,让学生真正看到数值结果,对于数值计算思想有更深入的体会。
四、结论
本文主要介绍了在计算机专业的高等数学教学中融入数值计算思想的意义与具体教学改进方法。相信通过此类的改进,能有效丰富高等数学教学的现实背景,提高数学的趣味性。
数值计算方法是一门新兴的学科,它不只是简单地将一些计算方法进行罗列,而是一种是在计算机上使用的解决数学问题的方法,更是一种通过近似计算解决实际问题的思想。它可以让同学们真正的看到数学与计算机两门学科的融合,了解数学中的数值计算方法在借助计算机的运算能力下,可以解决什么样的问题,而不再是仅仅局限于抽象的数学符号和公式。在数学教学中融入数值计算思想,对于培养学生计算思维,帮助学生其他计算机科目的学习以及日后的就业也有积极的作用。作者日后也将继续深入研究在高等数学中融入数值计算思想的具体实践方法。(作者单位:天津师范大学津沽学院)
参考文献:
[1]邹洪侠,李胜,刘俞.基于算法思维的高职计算机专业数学教学改革探讨[J].菏泽学院学报,2014,05:107-109.
[2]张桂芸,裴伟东.试论计算机专业数学教学的现代性[J].天津师大学报(自然科学版),1999,02:58-62.
[3]梁文忠,谭伟明,覃学文.计算机专业应用型人才培养与数学教学改革[J].梧州学院学报,2012,02:93-96.
摘要:计算方法这门课程既有数学类课程理论的严谨性和抽象性,又有针对解决实际问题的实用性和实验性,是从事工程设计和科学研究工作的必备技能之一。文章针对作者所在学校计算机专业开设的计算方法课程教学中遇到的问题,根据学生实际情况,从教学内容、教学方法和学习方法三个方面探讨教学实践中的一些尝试。
关键词:数值计算方法;计算机专业;教学内容;教学方法;学习方法
一、引言
目前,理论、试验、计算是人类进行科学活动的三大方法,许多实际的科学与工程问题的解决都离不开科学计算,如:核武器的研制、导弹的发射、气象预报等。计算方法也称为数值计算方法或数值分析,是数学、计算机科学与其他学科交叉的产物,注重理论与实践紧密结合,应用范围广泛,如:计算物理、计算力学和计算化学等,是工程和科学技术工作者的必修课之一。计算方法作为笔者所在学校计算机专业的选修课,其教学目标是构建数学与计算机之间的桥梁,使学生掌握数值计算的基本方法,对算法进行程序设计及理论分析。在教学实践过程中出现了一些问题,如内容多学时少、学后容易忘、重理论轻实践、考核方式单一等,基于以上问题,笔者结合自身的教学经验和学生情况,对教学过程中所涉及的内容及问题进行一些探讨。
二、课程教学实践
1.教学内容。要想做一名优秀的教师,就需要不断地学习,树立终身学习的理念,这是教师发展和成长的必由之路。不断地加强专业知识的学习,熟悉教材及教学内容,掌握重点、难点,是对学生授业的前提,此外还要拓宽自己的知识面,了解专业最新的动态,授课时才能旁征博引。如果教师自身知识储备都不够的话,如何给学生讲授?学高方能为师。计算方法课程所涉及的内容较多,首先需要学习高等数学、线性代数、微分方程及泛函分析等基础课程。要根据计算机专业的培养目标选择合适的教材。作为笔者所在学校计算机专业的选修课,计算方法只有32学时,受学时所限,为了突出重点,着重讲解插值与拟合、数值积分与微分、线性方程组的直接解法和迭代解法、非线性方程数值求解和常微分方程数值解。快速傅里叶变换、矩阵特征值和特征向量的计算以及偏微分方程等是选学内容,可以对其做一些简要的介绍,让学有余力或感兴趣的同学课下探讨,还可以补充一些新的研究成果,如求解非线性方程的New-ton型迭代法[1]。计算方法这门课程有两条主线,一条是算法设计,一条是误差分析。这两条线除了概念的介绍和理论的推导,还应注重实践教学,在以后的教学过程中,要逐步地解决实验课问题,重点关注如何将数值解法的迭代公式及计算过程转化为计算机算法,进而编制程序,这样不仅能培养学生动手解决实际问题的能力,而且还能避免沉陷于纯数学理论的推导而使课程变得枯燥乏味。结合计算机专业的特点,除了理论课程的学习,还应该增加实验课,把学校的实验室资源充分利用起来,以培养学生的编程、上机操作能力。2.教学方法。随着高等教育从精英化迈向普及化以及学生自身多元化需求的增加,学生的基础及需求存在差异,如果想吸引学生,就要了解学生,做到“以学生为本”、“因材施教”,才能充分挖掘学生的潜能,促进学生的成长、成才[2]。教学中单纯地写板书或念PPT比较枯燥乏味,复杂的计算公式难以记忆,很难提起学生学习的兴趣,这会造成学生注意力分散,跟不上节奏,而数学类课程的逻辑性又很强,一步跟不上步步跟不上,容易造成“跟不上—听不懂—不想学”的恶性循环。如果想取得较好的教学效果,充分利用每个课时,教师就应掌握多种教学方法,如:启发式、讨论式、自主式和探讨式[3],利用灵活多样的教学形式,充分利用互联网资源,以激发学生学习的兴趣。例如,在插值法这一章开始,可以首先回忆高等数学课中的泰勒公式,比较泰勒公式与牛顿插值多项式,比较泰勒公式的余项与插值多项式的误差,用板书证明插值多项式的存在唯一性。例如,讲到数值积分时,可以用生动形象的图形来演示矩形公式、梯形公式和辛普森公式。例如,讲解线性方程组的迭代解法时,可以用Matlab软件演示设计的雅可比迭代法、高斯—塞德尔迭代法和逐次松弛迭代法,并对结果进行分析,比较这三种方法的收敛性及误差。可以鼓励学生参加全国大学生数学建模竞赛,将教学与数学建模结合起来,将课堂中所学的理论知识应用到实践中,加强课后的实践,让学生切身地体会计算方法的实用价值。课程的考核不是目的,而是教学方法,是为了引导、督促学生学习,以培养学习习惯,锻炼学习能力。笔者所在学校计算方法课程的考核方式单一且传统,只有平时考勤、课后作业以及期末考试,这种考核方式容易让学生形成为了考核而考核、上课人虽到而心未到、课后抄袭作业、期末盼老师画重点、考前临时抱佛脚等弊习。课程考核方式改革是教育教学改革的重要一环,可以尝试以“多元化—重过程—考能力”为指导思想[4],把基础理论知识的考核和知识的理解运用考核结合起来,加强对学生能力的考核,使学生重视平时理论的学习,还要重视培养自己的分析问题和解决问题的能力。例如,根据专业特色,精心设计大作业[5],一次作业中可以涵盖插值、拟合、解方程等多个内容,让学生写成小论文的形式,以培养学生对所学知识的综合运用能力。3.学习方法。学生在大学二年级课程比较多,也有很多的社团活动和社会实践,要想高效地利用课堂时间,学习方法就变得尤为重要,“授人以鱼,不如授之以渔”,可以建议学生合理规划自己的学习和生活,探索适合自己的学习方法,鼓励学生充分利用互联网资源,养成独立学习和研究的习惯,为以后的工作或进一步的学习打下坚实的基础。结合计算方法课程的特点,可以向学生介绍“从问题出发,以最优为导向,利用互联网”这样的思路来学习。例如,在插值法这一章中,利用问题教学法,从原始的问题出发,寻找解决的方法,发现方法的不足,以最优为导向,进一步地改进方法。问题是:通过实验或观测得到一组数据,用什么函数?怎么用函数来表示其内在的规律?根据节点及节点处的函数值可以直接写出拉格朗日插值多项式,但当节点个数增加时,拉格朗日插值多项式必须重新计算,这也是其不足之处。而牛顿插值多项式在节点个数增加时只需要在原多项式基础之上增加一项即可。牛顿插值多项式需要计算插商,在计算插商时可能会导致误差,为避免这种情况发生,得到了其改进形式即等距节点情况下的牛顿前插公式和牛顿后插公式。为了增加插值函数的光滑性,又进一步学习埃尔米特插值。而当节点个数较多时,这三种插值方法会出现龙格现象。为了避免这种情况发生,在插值时就应该选择低次插值,而低次插值的精度较低。为了提高计算精度,又进一步给出分段低次插值,为了增加分段插值时插值节点处插值函数的光滑性,又给出三次样条插值。最后,充分利用互联网资源,搜索与插值法相关的课件、视频以及这些算法的Matlab程序,进行阅读和上机操作实验,此外,还可以了解插值法在各个领域的应用,以激发学生的学习兴趣和拓宽其知识面。
三、结语
本文就计算方法作为计算机专业的选修课,结合教师和学生实际情况,讨论了一些教学实践过程中遇到的问题,结合培养应用创新型人才的要求,从教学内容、教学方法和学习方法三个方面对课程教学改革进行了初步的探究。教学实践表明,这些尝试有利于学生掌握科学计算的精髓,有利于提高学生运用理论知识分析和解决实际问题的综合能力,教学效果显著。但教与学的成功不是一蹴而就的,是一项长期的工程,需要老师们不断地努力,不断地尝试创新,还需要学生们积极地配合。
关键词:数值分析;教学方法;实践
作者简介:黄文芝(1978-),女,湖北武汉人,武汉工程大学计算机科学与工程学院,讲师;张蕾(1982-),女,湖北武汉人,武汉工程大学计算机科学与工程学院,讲师。(湖北 武汉 430073)
基金项目:本文系武汉工程大学青年科学基金项目(项目编号:Q201107)的研究成果。
中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2012)05-0039-02
“数值分析”也称计算方法,它与计算工具发展密切相关。计算方法是数学的一个组成部分,很多方法都与当时的数学家名字相联系,如牛顿插值公式,方程求根的牛顿法,解线性方程组的高斯消去法,多项式求值的秦九韶算法,计算积分的辛普森公式等,这表明计算方法就是数学的一部分,它没有形成单独的学科分支。而计算机出现以后,计算方法迅速发展并形成数学科学的一个独立分支――计算数学。这说明了计算方法与计算机的密切联系,以及在计算机研究领域的重要性。并且数值分析在计算机相关领域应用比较广泛,比如在数学建模中,在图像处理中,在信号处理中等都会用到数值分析中相关的一些知识。这些都说明“数值分析”是计算机专业学生的一门核心专业基础课程。
“数值分析”课程的教学内容主要包括三部分,一部分是插值拟合,一部分是方程和方程组求解,另外一部分是常微分方程初值问题数值解。而数值积分也是在插值的基础进行,故笔者把它归为插值拟合部分。这些内容看上去都是以前学过的知识,积分是在高等数学里学过的,而方程和方程组求解更是中学就重点讲解过的知识,学生刚开始接触这门课的时候会和以前所学的纯数学学习的思想结合起来。通过“数值分析”课程的教学,培养学生用计算机解决问题的能力,并且为后续阶段的专业课程打下基础。
笔者是计算机科学与技术专业的一名老师,使用的教材是清华大学出版的李庆扬等编的《数值分析》,本文就当前“数值分析”课程在计算机科学与技术专业教学中存在的一些问题和教学方法、教学模式等方面进行讨论,其目的在于改进教学方法和手段,提高学生兴趣和教学效果。
一、“数值分析”课程教学中存在的问题
1.数学理论强,公式繁多冗长,学生学习兴趣不高
“数值分析”是数学的一部分,具有与其他数学课程一样的理论性强的特点,但“数值分析”又还有一些和以往学生所学各类数学课程不同的特点。首先,“数值分析”研究的是计算算法,用计算机来解决问题,以前学生学习数学课程大都是从理论学习到作业联系,涉及的知识逻辑推理的特性比较强,并且以往研究的大多数都是连续的,这种研究对象的差异使得学生不能很快接受,思想不能很快转变过来。其次,“数值分析”比以往所学的数学课程的公式更加繁多,更加冗长,比如解线性方程组,如果用以前的知识,学生都会解,但现在解线性方程组不仅仅是要得出结果,更重要的是解线性方程组的算法以及它的实现,这就涉及到至少4个公式,而我们要弄清楚了这些公式的来历才能通过编程实现这个算法,这也是学生不感兴趣的主要原因。
另外,由于学生对数学课程以及对数学公式的害怕,对“数值分析”这门课程的重要性认识不足,当学生学习遇到困难时,容易失去学习兴趣,从而放弃学习。虽然“数值分析”是计算机科学与技术专业的基础课,是大多数课程的基础,但学生还不能理会到“数值分析”这门课程对以后课程的重要性,对于大三的学生来说他们现在所学的课程还没能很好地得到应用,而对他们比较实际的用处――找工作也没有显现出比较重要的作用,因而学生会在潜意识里无视这门课,在课程学习遇到困难的情况下,他们往往会选择放弃学习。
2.知识点多,信息量大,掌握困难
这门课的知识点比较多,信息量比较大,对于理学的学生来说该课程学时比较多,但笔者承担的“数值分析”课程的学时是48学时,并且完全是讲授部分,然而相对于课程所包含的大量内容,这些学时数远远不够,比如函数逼近与快速傅里叶变换,它涉及到范数,赋范线性空间,欧氏空间,三角插值等许多概念,想让学生在规定的学时数内真正掌握这些概念比较困难,尤其是对计算机科学专业的学生而言。因为理学院的学生学过实变函数、泛函分析,所以理解这些概念就略显容易些。
3.重理论,轻实践
当前“数值分析”课程教学过程中,仍然存在理论与实践脱离的现象,虽然这门课实践比较重要,但鉴于课时的安排,大多数教师只能按书本知识来讲,学生听,学生没理解理论的用处,没能立刻就在实践中体现出来,因此使得很多学生只是为了考试而学习,为了学习而学习,不知道它的作用,考完就还给老师。这样他们也只获得了知识的皮毛,而没有抓住知识的精髓和实质。
二、“数值分析”课程教学方法浅谈
1.强调课程的重要性,提高学生的学习兴趣
为了让学生正确对待这门课,应该让学生充分认识到“数值分析”课程在计算机科学与技术专业中的重要性。在组织教学的过程中,可以安排一些有实践经验的学生介绍经验(这样学生更好理解,更容易相信,更实际),联系具体的研究方向,给出简单的例子,论述“数值分析”在计算机科学与技术专业方向中的应用,让学生切实感受到“数值分析”课程是后续课程学习的基础,应用比较广泛。另外,在教学中教师还必须联系实际,在课程中穿插一些有实际应用意义的例子,比如现在很多数学建模就用到“数值分析”的内容,可以就里面简单的例子引用一个。这样让学生了解到“数值分析”不是空洞抽象的理论,而是能够解决实际问题的工具,通过这些方法,使学生逐步树立“数值分析”比较有用,应该学好“数值分析”课程的观念。
然而仅有应该学好该课程的观念还不够,还应该从各个方面提高学生学习的兴趣,兴趣是最好的老师,只有有了兴趣,学生才会真正自主去学习,而不是被动的,为了考试而学习。如何让枯燥的课程变得生动有趣是值得研究的问题。在实际教学过程中,可以采用学生自己讲解,学生之间互相提问等方法,另外也可以编一些小程序,演示计算机解题的过程,这样让学生体会到虽然计算机的功能比较强大,还是需要人脑来控制,灵魂还是人。这样能使学生在整个课题中能主动思考,而不是被动接收。
2.合理取舍教学内容,把握全局,突出重点
“数值分析”课程所涉及的内容非常丰富,但现在课时有限,因此合理取舍教学内容非常重要,应该在有限的学时内,让学生掌握比较重要的理论方法,比如根据学生专业的特点,可以将主要的教学时间安排在讲解误差分析,插值,数值积分,方程和方程组的解法上面。在矩阵特征值计算方面,有时间的条件下可以简单介绍思想方法,而对于常微分方程初值问题的数值解可以舍去,因为本专业的学生没有学常微分方程,所以对常微分方程初值问题的数值解会无法理解。
3.合理使用多种教学方法和手段
传统的“黑板+粉笔”的教学模式对数学课程的教学非常重要,通过板书学生可以了解教师处理问题的思维过程,然而鉴于“数值分析”的特点,又不能完全用传统的教学模式,因为“数值分析”课程中有大量的矩阵和公式,如果单纯使用“黑板+粉笔”,黑板无法板书完整,如果擦掉原先板书的内容又无法把前后联系起来讲解,而使用多媒体就可以解决这一问题。另外,有条件的学校可以把上课安排到有投影的机房,在讲解算法时教师可以演示一些程序,学生学起来就不会觉得完全是在听数学课了。因为是计算机专业的学生,这样和他们的联系更紧密些,他们也可以通过编程来实现算法。
4.强调理论联系实践,培养解决问题的能力
“数值分析”这门课重点讲授的是算法,而学生如果没有很好的实践,对这些算法的应用只能停留在死记硬背上,这不是学习的目的。本来计算机专业也应该突出学生的动手能力,所以对讲授的每个算法都应尽可能让学生编程来实现,这样一来可以巩固学生学到的知识,二来也可以让学生明白这门课不是单纯的数学课,而是和实际联系比较紧密的一门课。当然要实现每个算法都编程,在所授课的学时内是无法完成的,这样就要鼓励学生自己主动去编程,可以采取一些奖励的措施,比如对编程完成比较好的学生可以适当提高平时成绩等。学生自己主动的学习有利于提高其学习兴趣,开发学生智力,培养学生解决问题的能力,从而提高学生的综合素质。
三、总结
随着计算机的广泛应用,“数值分析”课程作为计算机科学与技术的一门专业基础课程,在学生学习和工作中越来越重要,因此“数值分析”课程教学也应该不断更新知识结构,丰富教学内容,改进教学手段,以提高学生学习兴趣,提高教学质量,培养学习的能力,从而为后续课程的学习和将来的工作打下坚实的基础。
参考文献:
[1]李庆扬,王能超,易大义.数值分析[M].北京:清华大学出版社,2009.
关键词:数控车加工;程序编制;计算方法
在数控技术的应用当中,对所加工的零件中的各种信息进行数字化,按照特定的编程方法进行数控车床的加工,从而对机床的各个部件的预定行进轨道与行进速度进行合理的规划。所以,在数据机床的数控加工中,合理的进行加工程序的编写非常重要。经过长期的实践表明,合理的程序编制需要包含很多计算因素,下面就对数控车床的加工程序编制过程中的数值计算方法进行详细论述。
1程序编制时的数值计算方法
1.1基点计算
基点计算是程序编制中的关键环节,相邻的基点间所形成的几何元素决定着零件的轮廓。所以在编程时应该按照基点去划分程序段,程序段间的近似区间越大,则基点的数目应该越小。假设程序段间的误差为d,d应该小于等于规定编程误差范围,且d的取值应当在1/5到1/10间。基点计算目前分为两种计算,分别是人工计算与绘图计算,人工计算要求程序的编制人员具有一定的初等数学能力,熟悉掌握方程计算与三角函数计算的方法,具有实用性强的优点,但是相比之下效率较低且失误率高。绘图计算则是可以充分利用计算机中的绘图软件将数控加工所需的相关图样进行直接的绘制,但是这要求程序的编制人员有一定绘画基础与绘图软件的使用能力。总的来说,这两种计算方法各有千秋,在数控加工的编程计算中应该结合使用、取长补短。
1.2节点计算
多数的数控机床并不具备非圆曲线的插补指令,而在编制非圆曲线数控程序过程中一般使用直线和圆弧来替换的方法来进行编程,因为直线替换法的操作简单,其表现形式也比较直观,所以精度要求的满足条件下,通常是以直线段折线代替非圆曲线[1]。节点就是直线线段与圆弧线段之间的交点,这些直线段和弧线线段在图形的构成中可以对一些曲线非圆线段进行代替,而这些图形无法通过直接的计算求出相关的坐标点,节点计算的零件其形状往往较为复杂,因此,节点计算就根据零件的精度求出坐标值,其算法最好采用就算量较大的人工计算法进行计算。
1.3刀位点轨迹计算
刀位点即刀具的定位基准点,在数控车的加工中可以标志出刀具不同位置的坐标点,刀位点的计算应该根据不同类型的刀具而异,不同类型的刀具其刀位点也不尽相同,对于刀位点的轨迹计算而言,刀位点可以是刀尖位置点也可以是圆心位置点[2]。
2实例计算分析
毛坯棒料的数控机床加工工件的程序原点如图1所示。加工方法:第一,确定加工的路线,按照先主后次,先粗后精的加工原则进行加工路线的确定,采用一种固定循环的指令对零件的外轮廓进行加工,然后再进行精加工,最后再进行切断;第二,在刀具的选择上应当进行四把刀的选用,一号刀具为粗加工外圆车刀,2号刀具为精加工外圆车刀,3号刀具为切槽刀,四号刀具为车螺纹刀,使用试切法进行对刀,在对刀的同时把端面进行合理的加工;第三,合理选择切削的参数,各工序的切削速度与进给速度如表1所示;第四,进行程序的编制,最关键的是确定工件右端部与轴心线的交点。
3数控车加工的概述
3.1数控车的加工
数控车床加工本身就是一种高精度、高效率的自动化机床用数字信息控制零件和刀具位移的机械加工方法。是通过圆柱形坯料做旋转运动,刀具沿轴向进给,从而加工出精确的直径,以及合理的加工深度的加工方法。
3.2数控车床加工的注意事项
在数控车床的加工中,有许多的事项值得注意,具体可以分为两个方面:一方面,控制切削用量。切削用量是切削时各运动参数的总称,包括切削速度、进给量和背吃刀量(切削深度)。要确保数控车的零件加工的精度,降低生产的成本,提高生产率,就要时刻注意对切削深度,进给速度的把控。另一方面,注意高效率走到路线的选取。走刀路线决定着数控加工中刀具的运动轨迹和工件表面的粗糙程度。为保证工件轮廓表面加工后的粗糙度要求,最终轮廓应安排在最后一次走刀中连续加工出来,确保最小化走到路线,减少走刀时间,从而提高工作效率。
4数控车加工过程中程序编制数值计算方法的沿用
4.1加工程序的编制
编制加工程序是整个数控车加工的重要一环,一个完备的数据车加工程序应当是多个程序段的统一,利用基点的计算去划分程序段,确保程序段的误差在五分之一至十分之一之间。每一个程序段的加工动作完成都称为“字”,在数控车的加工程序编制中,主要利用“字”。“字”包括准备指令G与辅助指令M,其中G指令用于为机床设计运动方式,M指令用于机床描述在进行数控加工时而采用的一切工艺手段。第一,手工编程在数学的处理上建立一个基点的坐标体系,根据图纸要求的加工路线去计算基点的几何元素起点,对于数控系统的插补功能不能满足零件的几何形状时,则必须对曲线上的一定数量的离散点进行详细计算,利用节点算法算出点与点之间的距离,再去按照精度计算出节点间的距离。第二,自动编程相对于手工编程来说,其优势是可以利用计算机的软件来进行数控程序的编制,程序的编制人员只要按照零件的图样要求将其翻译成数控语言,然后将其输入到软件当中,有软件进行自动化的数值计算和处理,在编写完成后,将加工程序通过数控语言的形式输入进数控机床,来进行机床工作的智慧。但是自动编程的操作较为复杂,需要对计算机及数控软件较为精通的人员进行自动编程。
4.2加工程序的校检
在数控车加工程序编写完毕后,要养成良好的程序检验习惯,不应对加工程序的编写存在侥幸程序。加工程序的校检工作应该具有以下四步,第一,检测刀具和约束面之间是否存在碰撞与相互干扰;第二,关于刀具类型的选择是否科学合理;第三,是否对切削量进行合理的设置;第四,最终的程序是否可以满足加工需求。如果在上述的校检过程中出现错误,那我们需要及时的发现问题并使用软件进行加工模拟,然后重复程序的校检直到最终加工需求的达成。
5结语
一台数控车床的造价相当不菲,对于其的加工程序的编制一定要进行认真的研究与考察,掌握其的工作性能与加工的范围。数控车在进行数控程序的编制中,合理对其相应的数值计算方法进行沿用可以降低错误率,提高编程效率,如果要对数控加工程序编制充分掌握,就一定以人工计算的方法进行练习,才能了解数控编程的原理。
作者:黄肖群 单位:广西南宁技师学院
参考文献
关键词:特高压交流线双回路铁塔、抗震、分析
Abstract: with the continuous development of modern technology, human resources and the acquisition and utilization is also changed. Whether it is for society or human, the power is a kind of indispensable energy. In order to electrical energy to a smooth delivery, many domestic and foreign scholars have devoted a large amount of money and energy research, special high-voltage transmission through the communication line double return route tower as a medium for, so the building itself seismic capacity requires special attention.
Key words: UHV AC lines, double circuit tower, seismic analysis
[中图分类号] TM753 [文献标识码]A[文章编号]
现代对于电力的需求已经越来越趋向于一种依赖的性质,如果一个城市停电一天,那么造成的经济损失将会是难以估计的,所以要确保电力的安全输送,就要对输送电力的设备进行全面的关注和对潜在危机的分析。特别是负责输送特高压电的铁塔,它们可以说是作为维持城市正常电力工作的关键点,一旦出现损坏,就会对电流的输送造成巨大的阻碍和破坏。而对铁塔的破坏除了人为的因素之外,最经常的原因当然要数是地震,如何提高铁塔本身的抗震能力,这已经成为了一个必须研究的课题。
一、铁塔抗震的计算方法选择
1、地震力对铁塔的影响
特高压交流线双回路铁塔因为地震而发生事故的案例有很多,但是我们如果对这些案例有一个综合的研究的话,就会发现其实地震所产生的力度其实并没有直接的对铁塔本身造成损害。因为地震而损坏了铁塔所在的地基然后间接的让铁塔产生损失,导致输电铁塔不能正常工作。要摆脱地基对于铁塔的约束,我们可以用风荷载的设计方案对特高压交流线路双回路铁塔进行设计,这样相对于地震力来说,是相当安全的。
2、铁塔抗震能力计算方法
但是因为输电线路需要输送的电压过高而且容量太大,特高压电塔并不同于普通的线路铁塔,它线路所要输送的电量比起普通铁塔要更大,这也必然导致对于输电的线路材料要求更好,消耗量也更大,而且为了电力能够安全的输送采用了分裂导线的设计方案,种种设计让输送电力的导线重量提高。有的学者提出了用有限单元法来对动态地震的响应进行分析,但是要进行的对象特高压铁塔它本身具有着特殊的性质,这样的方法明显是不适用,仅仅是从费用这个方面来看,就已经是一种严重的浪费。但如果仅仅使用简易的计算方法又不能充分的对铁塔里面复杂的构造有清楚的清算,其中铁塔和导线是最为关键的,但简易的计算法是不可能算清楚两者之间的关系。
经过反复的试验,本文最终选择了多种计算方法进行复合,其中对特高压铁塔本身特点和导线的复合震动分析最为关键,其它的还有地基复合震动等。当然,最主要的分析法还是铁塔和导线之间的经济有限单元模型绘制方法,还有另一种便是经济的动态分析法。
二、铁塔抗震计算方法分析
1、计算地震力方法
地震力的大小对特高压交流线路双回路铁塔有着直接的影响,所以在研究铁塔抗震能力之前先要对动态地震响应数值有一个精准的计算方法。本文采取的是动态响应分析,使用这种分析主要是因为考虑到铁塔本身和导线之间的复合关系,动态响应分析法当中的历时响应是主要要采用的计算方法,这个是按照模态过渡响应计算法来进行对地震力的计算的。
2、导线单元个数的调整
在对铁塔的抗震性能研究当中,最重要的便是铁塔本身导线复合系的分析。经过一系列的实验和探讨,我们发现按照理论来说,如果把塔身震动模型还有导线震动模型进行一个合理的结合,我们就能够得到一个相对完善的复合系震动模型。但是经过不断的计算,我们依然不能成功。分析之后我们发现导线模型的最佳单元分割数是这个结合当中的障碍,没有确定下来这个数值就不可能可以进行完美的结合。即使只是对一个标准的双回路铁塔来进行数值的确定都并不是一件容易的事情,要解决这个问题就要先将一个相对简单的铁塔塔身和导线复合系模型给制造出来,再通过对模型里面一些数值的细微调控,就能够将我们需要的导线单元个数给调整出来。
3、建立铁塔抗震计算模型
通过上述的方法我们能够得出一个相对准确的导线单元个数,但是所需要的单元数量必然是相当多的。特别是高电压交流线路双回路铁塔,因为它本身的构造相对复杂,单元数要上百个一点都不稀奇,如果要用这种方法对它的抗震能力进行分析,从费用的角度来看属于比较浪费,因此要对分析时候的自由度进行适量的减少,当然前提是不能降低分析的精度。
本文设计出来的方案和过去经常采用的模型法很接近,先对铁塔本身所固有的震动频率还有固有模型先分析出来,当然是以铁塔本身所具有的一个固有值作为线索,在求出模型之后就可以根据这些模型来作出外力的计算还有对其响应进行分析。上述的分析方案当中,对相应的计算只能是铁塔本身的固有模型数值才能和复合系等值进行分析。这种研究方法在很多领域都已经被开始应用,被称为等值外力模型法。
三、总结
我们对铁塔本身的抗震性能是以实用来作为目的而进行的,而且在不断的分析与实践之后也取得了不错的成果。但是这种分析方法还是因为当前的科技还有环境因素的限制而存在着种种的缺点,关于这些缺陷,需要后面的学者不断的研究改善,为人类能更好的使用电力资源而作出贡献。
参考文献:
[1].秋山哲夫.关于线路铁塔抗震设计的研究[J].铁塔杂志.2010(62)
随着有限元仿真技术的发展,数值模拟仿真技术的应用越来越广泛,特别是在物理模型试验研究条件不允许或较为困难的各类行业中。因此,在岩土工程专业相关教学中数值计算方法占据重要地位。但由于其所涉及的数学力学知识往往使初学者望而生畏。通过课程的学习可以让学生学习和了解现代岩土工程研究领域实际工程中数值计算方法的应用,提高学生对数值计算的兴趣,同时使学生综合掌握相关的数学、力学、岩土力学等相关专业知识。为提高学生的实际应用能力,本文采用工程实例的教学方法,通过巷道开挖的计算来说明岩土工程数值计算方法的教学方法,深入简出,使学生容易理解。
1巷道开挖计算分析的简要教学过程
1.1模型建立简要向学生介绍有限元模型单元的划分、单元类型的选择、开挖方法的设置、边界条件等知识,根据学生的兴趣进行相关知识的详细介绍。所建立的数值模型如图1所示。首先介绍计算模型,为在地层中开挖中部和两侧共三个巷道,计算分析由于巷道开挖对围岩应力、变形的影响。根据实际情况,在模型垂直方向所加的垂直荷载为O.32MPa,水平方向不加荷载。之所以没有水平应力,是因为试验时模型为上下表面加载,模拟平面应力状态下的模型受力破坏过程,为防止模型在四面加压时向厚度方向产生较大变形而过早破坏,所以仅在模型上下表面加压,而在左右两面进行位移约束。其次介绍模型建立的具体步骤。步骤一:设置分析标题(SoftRockTunne1)及工作文件名(HD1):步骤二:定义单元类型:S0L—ID65:步骤三:定义材料性质:在IsotropicMateria『Properties中定义杨氏模量56.5MPa,对泊松比0.2,密度1600:步骤四:定义材料非线性计算模型:步骤五:通过布尔运算创建基本模型;步骤六:设定分析模块(Structura1):步骤七:设置网格单元形状,尺寸且对模型划分网格:对未开洞模型,采用映射划分网格模式,对开洞模型,因为模型规律性不强,特采用扫掠划分网格模式:步骤八:进入求解器和定义分析类型和选项;步骤九:设置输出控制(verysubstep):步骤十:设置荷载选项并加载;步骤十一:进行计算。
1.2计算结果分析在计算结果的教学中,重点向学生介绍由于巷道的开挖而造成的围岩应力变化,将数值计算结果的直观性体现出,激发学生的学习兴趣同时向学生介绍详细的计算结果,如图2所示。自然条件下应力在岩体中沿着铅垂方向和水平方向传递,使岩体中任一单元体都处于三向应力平衡状态。但在岩体中开挖巷道后,巷道周围岩体原有的应力平衡随即遭到破环,巷道周边岩体便由原来的三向应力变为二向应力,同时,由于巷道顶板岩体失去支撑,巷道顶部岩体的重力转移到巷道的两帮,使巷道两帮岩体中的铅垂应力增大,而原来由巷道内岩体传递的水平应力,由于巷道空间的形成,水平应力只能通过顶底板互相传递,因而,也使巷道顶底板岩体的水平应力发生变化。
2小结
通过对计算模型应力和位移的分析,得知此半圆拱形巷道围岩应力及塑性区的分布规律和位移分布的规律,计算结果与相关模型实验结果比较吻合。由此在教师指导下,在学生掌握岩土工程有限元的基本理论知识和基本操作技能的基础上,激发学生的学习热情,通过学生自己操作,培养学生分析问题和解决问题的实际能力。通过激发学生学习兴趣,在辅以教师的实时指导,可在有限元的教学过程中达到较好的教学效果。
【关键词】水文学 “降雨-径流”过程教学 数值模拟
【中图分类号】642 【文献标识码】A 【文章编号】1006-9682(2011)10-0018-02
在水文学的教学中,“降雨-径流”过程因其复杂性使教学环节变得抽象并难于理解。复杂性指降雨在下垫面纵向和垂向的运动过程,即降雨在下垫面的产流、渗透、蒸发等时空上连续的再分配过程;抽象性指“降雨-径流”过程较晦涩难懂,在常规的教学过程中,由于缺少感性的教学手段,不易达到较好的教学效果。本文将数值计算的方法引入水文学“降雨-径流”过程的教学中,以增强教学环节的感知性和表现力,尝试开发数值模拟结合水文学具体问题的教学新方法。
一、数值模拟应用于“降雨-径流”过程教学的设计流程
1.数值模拟的定义
数值模拟也称计算机模拟,它是以计算机为手段,通过数值计算和图像显示的方法,达到对工程问题、物理问题乃至自然界各类问题研究的目的。数值模拟方法和理论本身来源于对实际问题计算的需要,并在建立算法和求解过程中发展并建立起来并面向实践,与计算机的使用密切结合。[1~2]近年来,随着计算机技术的不断进步,数值模拟也得到了快速的发展。
2.教学过程设计
将数值模拟方法应用于“降雨-径流”过程教学的设计的流程,见图1。
二、数值计算方法的导入
1.基础方程式
用于“降雨-径流”过程数值计算的基础方程式包括地表径流的连续方程式和运动方程式,以及渗透流的连续方程式及运动方程式。[3~4]
地表径流的连续方程式:
(1)
运动方程式(曼宁平均流速公式):
(2)
渗透流连续方程式:
(3)
渗透流连续运动方程式(达西公式):
(4)
式(1)~式(4)中,dt为计算单位时间,s;dx为计算的单位步长,m;h为地表径流水深,m;q为单宽流量,m2•s-1;v为流速,m•s-1;r为有效降雨,m•s-1;R为水力半径,m;f1、f2为表层土壤及表层以下土壤的平均渗透系数,m•s-1;n为曼宁粗度系数,s•m-1/3;I为坡度;λ为土壤有效孔隙率;为渗透流水深,m;为渗透流单宽流量,m2•s-1;为渗透流流速,m•s-1;E为蒸散发量,m•s-1; 为渗透流水力坡降。
2.有限差分
数值计算需要对地表径流及渗透流的连续方程式在时间上进行离散化,即有限差分。因为计算要依赖于一定的边界条件和初始条件,所以采用后退差分法,[5]差分公式如下:
地表径流连续方程式的差分公式:
(5)
渗透流连续方程式的差分公式:
(6)
式(5)~式(6)中,n为时间编号;i为计算方向上的栅格编号,其它因子与上述相同。
3.计算程序编译
实现数值计算的程序采用计算机高级语言Fortran95或C++
进行编程,该步骤不是教学内容,相应过程在此略去。
三、教学实践
1.“降雨-径流”过程理论教学
“降雨-径流”过程基本理论包括降雨强度、降雨历时、降雨量等表征降雨特征的参数;包括运动波理论的基本方程式〔式(1)~式(4)〕;下垫面的特征如表层土壤的水力学特性等参数,这部分内容以及基本概念形式讲授。在此过程中,对降雨到达下垫面后在纵向及垂向的基本运动方式进行介绍。
2.“降雨-径流”过程数值模拟
(1)基础数据采集。用于数值模拟教学的雨量和地表径流数据来自实地观测,观测地点为北部黄土高原小流域的一条沟道内,具置见图2。
(2)数值模拟过程演示。利用构建的数值计算方法和观测的降雨数据对“降雨-径流”过程进行数值计算,利用数值计算结果对观测的地表径流数据进行数值模拟。当数值模拟的误差,即观测值和计算值之间的误差较大时,应调整计算参数利用程序反复计算,使数值模拟的误差达到基准允许范围之内(小于3%),对典型降雨的数值模拟结果,见图3。
在数值模拟教学演示过程中,使学生对数值计算过程有初步的认识,对“降雨-径流”的整个发生过程在学生脑海中有较清晰的认知,进而通过对数值模拟结果的分析,完成对径流系数的推求、对主要径流特征的概括等教学内容。
(3)根据预报降雨预测流量。当“降雨-径流”过程的数值模拟结果与观测值的误差在误差基准允许范围内时,理论上可以利用数值计算的方法根据预报的降雨数据预测流域的流量,即实现水文学上根据气象(降雨)信息预报流域出口或流域某断面的洪峰量。以图2观测点上游的集水区为例,当预报的短历时降雨过程(计算机随机产生)见图4时,利用数值计算,其径流过程的数值计算结果如图4下方曲线。
因为有了对“降雨-径流”过程模拟的认识基础,学生对根据预报降雨预测径流过程的数值计算过程相对更容易理解和接受,并加深了认识。
四、教学效果评价
为评析数值模拟应用于“降雨-径流”过程的教学效果,采取课后调查的方式,了解学生对教学内容的掌握程度和对数值模拟方法的评价。学生对整个教学过程特别针对把数值模拟引入教学的做法发表意见,对课程效果调查的整理结果如下:
1.对教学设计过程
教学过程实现了对“降雨-径流”过程的“问题提出―基本理论讲授―数值模拟―结果分析”。从理论到计算,再到结果分析的完整过程,使学生对“降雨-径流”过程发生的时空顺序和对教学进程的体会在思维中实现了统一,在教学逻辑上和思维进程上变得容易接受。
2.对数值模拟方法
数值模拟使学生对“降雨-径流”发生的过程有了直接的感性认识,使抽象的自然过程的教学变得形象具体,变得相对易懂;使学生在感性思维上更容易接受,加速了知识在学生思维中从混沌感性到清晰感性的整理过程。
通过对数值模拟过程的讲解,使学生对复杂的数值计算过程有了较深入的认识,结合数值模拟的结果,对根据预报降雨预测径流过程的教学环节变得更加容易接受,在学生接受知识的过程中,实现了从感性思维到理性思维的过渡。
五、结束语
数值模拟应用于“降雨-径流”过程的教学,使抽象的理论变得形象,使教学过程和学生思维的思维逻辑实现了统一,增强了教学效果。同时,数值计算方法的教学有助于开发学生的思维能力,即增强学生对感性材料进行加工并转化为理性认识及解决问题的能力,有利于学生创新意识的培养。
数值模拟的方法还可以在水文课程中的融雪计算、输沙计算、地下水计算等教学中加以应用。
参考文献
1 李梦霞、.《数值计算方法》直观教学研究[J].长江大学学报(自然科学版),2009(1):373~374
2 黄金柏、王斌、刘东.数值计算方法应用于水文学“径流-输沙”教学的实例研究[J].教学理论与教学研究,2011(9)
3 黄金柏、桧谷治、|川勇树、安田裕.分步型流域“降雨-流出”过程数值模拟方法的研究[J].水土保持学报,2008(4):52~55
关键词:GPU-SPH;数值波浪水槽;波浪对直立墙作用压力;
中图分类号:S969.1 文献标识码:A
引言
近年来在计算流体力学领域发展起来一种新型无网格拉格朗日数值计算方法——光滑粒子流体动力学算法(SPH)。由于原SPH方法为防止粒子的边界穿透现象而让边界对粒子的作用力偏大,在边界附近粒子压力较大,影响计算精度和压力测量结果。为达到边界压力计算准确的目的,本研究在模型计算中加入Shepard【[Panizzo A (2004) Physical and Numerical Modelling of Subaerial Landslide Generated Waves. PhD thesis, Universita degli Studi di L'Aquila. ]】密度过滤器过滤因压缩而密度过大的粒子,同时使用Hugehes & Graham【[Hughes, J. and Graham, D., Comparison of incompressible and eakly-compressible SPH models fro free-surface water flows, J. Hyd. Res., in press, 2010.]】算法对边界进行密度进行修正来减少计算运行后的压力波动现象,并且选择了适用于波浪对结构物作用模拟的参数和波浪作用力测量方法。
基于本文模型,建立弱可压缩SPH-GPU算法建立数值波浪水槽,采用Wendland 5次光滑函数,研究波浪与直立墙相互作用,并将模拟结果与理论值和前人实验数据进行比较,分析了规则波作用下直立墙前压力场特性。
SPH方法数值模拟
SPH原理
SPH方法中,核插值近似法将场变量的积分形式表达如下:
(1)
其中:r为粒子的矢径;h是光滑长度,积分区域的大小由其控制;W为核函数,本文采用Wendland提出的五次型函数,其表达式为
(2)
对于二维的计算情况,式中为,。
控制方程
对于水槽中的流体,流体运动的N-S方程:
(3) du/dt=-1/ρ ∇P+g+θ
(4) dρ/dt=-ρ(∂v^β)/(∂x^β )
其中:为水的密度,为重力加速度;为压力;为动量方程中的扩散项,针对本模型,使用SPH方法中最常用的人工粘度法计算扩散项 。
边界条件及压力计算方法调整
本文采用动态边界条件来处理边界粒子,包括水槽固壁边界、造波板边界、以及结构物边界。边界粒子以一种错列的形式安排如图1所示:
图1 边界粒子排列形式图
当一个流体粒子接近边界时,边界粒子的密度会增加以至于压力也随其增加。当距离流体粒子和边界粒子之间的距离小于2h时,施加在入射流体粒子上的压力作为排斥力随着距离减小而增加如图2所示。
图2 边界密度距离、压力距离曲线图
图中h为粒子的光滑长度,也叫做影响域或者光滑域,它的大小控制着每个粒子多其周围其他粒子的作用力大小。h的计算公式如下:
(5) h=α*√(dx*dx+dy*dy+dz*dz)
本文中设置参数,2维坐标轴的微变量dx、dz都为0.01m。因此计算得为。而一般情况下,了防止粒子穿透边界层现象的发生,一般边界作用力是远大于现实的水压力的。因此,如果将水流对结构物作用压力测点直接设置在其边界粒子上得到的压力值往往远大于理论值。在距离边界h处边界粒子对此处粒子的直接作用力便可忽略不计。但是考虑到水粒子与边界粒子在距离h之间时,其排斥力影响水粒子后由此粒子将仍会将较大的压力传递至距离边界h之外的粒子上,选择将测点设置在距离边界粒子2h与1h之间的某处位置。这样能更加准确地测出直立墙附近波浪压力。本文选取此距离为0.002m。
计算参数选取
本文中所有计算参数根据汪立军【[汪立军,郑永来,基于SPH的数值波流水槽系统及验证,实验室研究与探索[J],324-328,2013.]】的研究成果设置,具体参数如下表:
表1 参数设置表
数 参数值
重力加速度(N/kg)
粒子直径(m)
CLF值
声速率
γ
rhop0值
eps压缩率值 9.8
0.01
0.2
10
0.92
7
1000
0.3
Shepard密度过滤器
当SPH的动态模拟越来越真实的同时,粒子压力值出现很大的压力波动。前人致力于可以通过粒子修正或发展一种不可压缩解等方法来解决。解决这个问题的方法包括粒子修正或发展一种不可压缩解等。其中一种最直接且计算成本最低的方法就是提供一个粒子密度过滤器,同时重置每个粒子的密度(Colagrossi 和 Landrini)。Shepard密度修正法,也称作零阶修正法,是一种快捷简单的密度过滤器,以下计算过程每30个时间步长进行一次:
在已经被修正过的粒子上使用一个零阶修正:
波浪对直立墙作用数值模拟
波浪对直立墙作用力的数值模拟
《海港水文规范》【[海洋水文规范 JTJ 213-98[M]. 北京:人民交通出版社.1998]】中规定的方法是目前计算波浪对直立堤作用力的一种比较普遍的方法,本文通过SPH模拟规则波正向入射对直立墙的作用,并且将结果与计算方法结果及前人试验结果进行比较。
水槽布置
水槽布置如图3所示,水槽长11.00m,模拟水深0.33m,波高为0.05m,波长为1.04m,周期为0.8s。直立墙设置在距离左边界10m处,造波板位于水槽最左侧。左侧为造波边界,底部、右侧和直立墙为固边界。粒子间距取0.01m,整个水槽共布置140460个粒子。根据本文上部分的研究成果,在距离直立墙0.02m处设置波压力测点布置线,沿布置线每间隔0.0025m设置一压力测点,共321个测点,检测波浪对直立墙作用力随时间及深度的变化情况。
图3 立波与直立墙作用状况模拟水槽布置图
造波边界
本文造波板运动周期即为波浪周期。需要波高根据多次改变造波板运动位移,凑谱得到。
模拟结果及分析
取波峰作用时刻进行分析。将波峰对直立墙作用压力计算结果与《海港水文规范》计算结果进行比较。根据杨成渝[杨成渝,波浪正向入射对直立堤作用研究,第十四届中国海洋(岸)工程学术讨论会论文集,609-613,2009.]的试验结果拟合曲线计算最大相对波压力值为431pa,模拟值为550pa,误差率为27%,根据规范计算最大相对波压力为500pa,误差率为10%。图4给出了SPH模拟立波波峰作用下墙面上的压力分布与规范计算值的比较。综上所述,本文数值模拟与计算值和试验吻合较好,较为精确地反映了波浪对直立墙作用的力学特性。
图4 海港水文规范计算值与数值模拟值波峰作用压强深度曲线比较