APP下载

Matlab程序在结构力学教学改革中的应用

2015-05-30张斌伟王进玺张兴元

大学教育 2015年7期

张斌伟 王进玺 张兴元

[摘 要]针对目前高等教育大众化,结构分析软件化,大学生学习心理复杂化和就业形势严峻化,考虑到结构力学课程特点,尝试应用Matlab程序进行结构力学课程教学改革,编制了结构力学教学平台,在结构力学经典内容教学中,将静定结构和超静定结构统一用编程分析实现,这一思想的出发点是着力于培养学生应用程序分析结构力学问题的兴趣,进而提高学生应用计算机程序进行结构分析的能力,不但调动了学生自我学习的动力,而且也提高了学生的知识水平和实践能力。

[关键词]经典结构力学 Matlab语言 静定结构 超静定结构

[中图分类号] TU311;G420[文献标识码] A[文章编号] 2095-3437(2015)07-0136-02

一、引言

目前,在应用型高校中,土木建筑类结构力学的教学模式和教学方法仍然承袭了30年前的模式,即主要是老师在课堂上讲述基本概念和知识点,学生自己完成一定量的习题训练,然后根据学生完成作业的情况,教师进行一定的系统讲解,给学生建立一种解题的模板和方法。但是随着编程软件的快速发展以及对学生结构分析能力的要求不断提高,应用手算的办法进行结构分析越来越不能满足工程需求,这就要求应用型高校培养的学生不但要理解结构力学的基本概念、方法和技巧,在此基础上培养熟练的手算能力,而且学生也要有相应的结构程序分析能力,为今后的继续学习和工作打好基础。

二、Matlab语言简介

Matlab是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,Matlab还可以用来创建用户界面及调用其他语言(包括C,C++和FORTRAN)编写的程序。由于其草稿纸式的编程环境,使得Matlab语言被称为第四代编程语言,所具有的丰富的工具箱和大量的内嵌数值运算函数,将科技工作者从繁杂的底层编程环境中解放出来,极大的提高了科技工作者的工作效率。

三、基于Matlab语言的结构力学教学软件平台设计

利用Matlab语言的优越性,结合有限元的基本思想,进行了结构力学教学软件平台的开发,该平台对于平面杆系结构的静定与超静定问题具有很好的计算效果。

本教学示范软件平台的开发思路如下图所示:

图1   教学示范软件平台开发思路

核心计算程序如下所示:

function SolveModel

本程序为求解有限元模型核心计算程序,求解有限元模型的过程如下:

1.计算单元刚度矩阵,集成整体刚度矩阵;

2.计算单元等效节点力,集成整体节点力向量;

3.处理约束条件,修改刚度矩阵和节点力向量;

4.求解方程组,得到整体节点位移向量;

global gNode gElement gMaterial gBC1 gNF

…gDF gK gDelta

[node_number,dummy]=size(gNode);

gK=sparse(node_num*3,node_num*3);

f=sparse(node_number*3,1);

[element_number,dummy]=size(gElement);

for ie=1∶1∶element_number

k=StiffnessMatrix(ie,1);

AssembleStiffnessMatrix(ie,k);

end

[f]=LastEquivalentNodeForce(f);

[gK,f]=ChangeMarixandForce(f,node_number);

[gDelta]=SolveAndChangegDelta(f,node_number);

return

end

四、教学程序的应用范例分析

(一)静定结构分析

为了建立学生对于结构分析的兴趣,首先从最简单的静定结构入手进行分析,如图2所示。

图2   计算静定结构和单元划分图

从传统的静定结构分析方法来看,其本质就是解决脱离体的平衡问题,作为静定结构分析,该刚架的几何组成比较复杂,解决这一问题的途径之一,是把力学分析与几何组成结合起来考虑。题目难度不大,但计算量较大,凡是学习结构力学的学生,对于该算法是比较熟知的,计算结果从略。

从程序结构力学的角度来看,只需要将结构模型的信息,包括结点、单位、材料、约束和荷载等利用数据反映到程序中去。在PlaneFrameModel建模子程序中,形成gNode、gElement、gMaterial、gBC1、gBC2、gNF、gDF等信息。

利用教学软件平台计算,结果和传统方法完全一样。计算结果如表1所示。通过两种方法的比较可知,对于静定结构问题,虽然理论上比较简单,但结构组成分析比较复杂时,运算量比较大。

表1   结构节点内力表(电算结果)

同时,从程序结构力学的角度出发研究静定结构,为学习结构力学的学生提供了一种全新的思路,使学生理解程序结构力学的应用广泛性。

(二)超静定结构分析

在结构力学的超静定结构分析中,经典的方法是力法和位移法,但不管是哪一种方法,当结构组成比较复杂时,运算量都很大,而且有些结构几乎无法用手算的方法进行。此时,利用程序结构力学就显现出强大的功能和适应性。

为了方便比较,利用文献中计算实例验证自编教学平台的适用性,并比较手算和电算结果,充分体现教学平台的优越性。

题目:求图3所示超静定组合结构的内力。设横梁截面抗拉和抗弯刚度分别为EA和EI,且EA=2EI / m2。吊杆截面抗拉刚度E1A1=(EI / 20) / m2。

图3   超静定组合结构荷载分布和单元划分图

在教材的计算过程中,充分体现了手算方法的优点,即概念性、知识性、逻辑性的充分结合,但计算过程太过复杂,就目前应用型高校学生的基础知识而言,这么大的运算量,是大部分学生没法接受的,起不到学生自我提升的作用。但通过教学软件平台,只需将模型的基本信息以数据的形式输入,就能得到正确的解答(如图4所示),这种教学方法使得学生不但掌握了超静定结构求解的基本思路和方法,而且极大的解放了学生繁杂求解运算量的工作,提高了学生解题效率,进而激励了学生结构力学的学习兴趣,为今后工程实践中的结构计算分析打好基础。

图4   结构内力图(电算结果)

五、结语

利用Matlab编程语言,结合有限元基本思想,编制结构力学教学软件平台,通过静定结构和超静定结构的算例说明,培养学生程序结构力学分析能力至关重要,可以说,这是结构力学教学的最终归宿。学生能不能建立熟练的程序结构力学分析能力,直接决定了学生在生产实践中应用结构力学解决工程问题的能力和效率,也是今后土木建筑类毕业生在结构分析方面自我提升和创新的根基。通过算例说明,利用Matlab软件进行结构力学的教学是适宜的,不但有助于学生对基本概念、知识点的掌握,而且极大的激发了学生对结构分析的兴趣,进一步提升了学生应用结构力学解决问题的广度和难度。

[ 参 考 文 献 ]

[1] 杨弗康,李家宝.结构力学(上册)(第四版)[M].北京:高等教育出版社,1998.

[2] 包世华,辛克贵.结构力学(下册)(第3版)[M].武汉:武汉理工大学出版社,2012.

[3] 阮沈勇,王永利,桑群芳.MATLAB程序设计[M].北京:电子工业出版社,2004.

[4] 莫勒.MATLAB数值计算[M].北京:机械工业出版社,2006.

[5] 任玉杰.数值分析及其MATLAB实现[M].北京:高等教育出版社,2007.

[责任编辑:钟 岚]