20

2024-04

当前位置: 网事范文网 > 作文大全 >

统一二次曲线拱坝有限元建模系统设计与实现

| 来源:网友投稿

摘要:为评价拱坝安全,运用设计模式原理,开发统一二次曲线拱坝有限元自动化建模与图形显示系统.拱坝三维模型与有限元网格均采用参数化方法自动生成.将工厂模式、策略模式和外观模式等设计模式应用到系统开发中,并针对通用有限元软件开发提出2种新的设计模式:几何-网格分离模式、嵌入单元.通过设计模式的应用使系统的可复用性、可维护性和可扩展性得到极大提升.

关键词:统一二次曲线拱坝;设计模式;有限元;建模系统

中图分类号:TV642.4;TB115.7 文献标志码:A

Design and implementation of unified quadratic curve arch

dam finite element modeling system

AN Longfei1, QING Longbang2, GUO Yonggang3

(1. College of Architecture and Civil Engineering, Beijing University of Technology, Beijing 100022, China;

2. State Key Laboratory of Hydroscience and Engineering, Tsinghua University, Beijing 100084, China;

3. EarthquakeResistance Engineering Research Center, China Institute of Water Resources and Hydropower Research,

Beijing 100081, China)

Abstract: To evaluate the safety of arch dam, an automated finite element modeling and graph system of unified quadratic curve arch dam is developed by using design pattern. 3D model of arch dam and finite element meshes are all generated automatically by the parametrization method. The application of different design patterns is applied in the development of the system, including factory pattern, strategy pattern, and facade pattern, and so on. Furthermore, two new design patterns are proposed for developing general finite element software: the modelmesh separation pattern and the embedded element pattern. It is demonstrated that, with application of the design patterns, the reusability, maintainability and extensibility of the modeling system can be greatly improved.

Key words: unified quadratic curve arch dam; design pattern; finite element; modeling system

作者简介: 安龙飞(1985—),男,河北邢台人,硕士研究生,研究方向为水工结构分析与软件开发,(Email)anlongfei@emails.bjut.edu.cn0引言

拱坝是常见的水工结构.据中国大坝委员会统计,截止到2002年底,中国已建和在建的高度超过30 m的拱坝共有607座,其中包括高240 m的二滩拱坝和高178 m的龙羊峡拱坝等.随着数值方法的发展,有限元分析已成为拱坝安全评价的重要手段之一.[12]然而,由于拱坝体形复杂,在有限元分析中,前处理建模与网格划分往往消耗大量的时间.采用参数化建模可提高拱坝有限元模型建立的速度,减少建模过程中出现的错误.开发专业的拱坝有限元自动化建模系统能在很大程度上提高分析效率,降低分析成本,是当前拱坝工程分析软件发展的动向之一.

拱坝可按拱圈曲线类型进行分类,其中大部分类型如单心圆、抛物线、椭圆和双曲线等,都为二次曲线,可用一个统一的公式表达,称为统一二次曲线.[3]现有的拱坝网格自动生成研究[47]不能满足交互式参数化建模的需要,且均未涉及统一二次曲线拱坝的网格划分研究.

工程设计的复杂性逐渐提高,对专业软件系统的可复用性、可维护性和可扩展性等性能提出更高的要求.在软件开发中运用设计模式思想可更方便地复用成功的设计和体系结构,增加代码的可重用性和可维护性.[8]本文将工厂模式、策略模式和外观模式等应用于统一二次曲线拱坝自动化建模系统的设计中,开发拱坝建模交互式图形建模系统,并给出系统运行实例.

1统一二次曲线拱圈参数

拱坝实体可通过拱坝体型参数表示.在实际工程设计中,拱坝体型参数可采用各层水平拱圈的形态以及拱中心线半径沿高度的变化表示.[3]统一二次曲线拱圈见图1.

图 1统一二次曲线拱圈

Fig.1Unified quadratic curve arch

水平拱圈可用拱圈中心线方程和厚度方程表示.统一二次曲线表达式[3]为x2=ay2+by(1)当a≠0时,式(1)可变换为Y2D/a-x2D=1 (2)式中:D=b2/4a;Y=y+b/(2a).当a取不同值时,就可表示不同曲线:

(1)当a=0时,为一个抛物线.

(2)当a>0时,为一个双曲线.

(3)当a<0时,为一个椭圆,其2个轴的长度分别为-b/a和b/2-a.当-1

(4)当a=-1时,为一个圆,半径R=b/2.

以统一二次曲线作为拱的中心线,左、右2个半拱可分别表示为左半拱: x2=aL(y+B)2+bL(y+B)

右半拱: x2=aR(y+B)2+bR(y+B) (3)拱圈厚度在水平方向的变化有3种表达方式,分别随横坐标、厚度和弧长的变化而变化.本文采用随弧长s变化的计算方法,拱圈厚度方程为左半拱: t(x)=tc+(tAL-tc)ssALγ

右半拱: t(x)=tc+(tAR-tc)ssARγ(4)式中:tc为拱冠梁处的拱圈厚度;SAR和SAL分别为右拱座和左拱座的弧长;γ为设计常数.

2相关设计模式

2.1工厂方法模式

在拱坝参数化建模中,拱圈设计参数是最重要的几何参数之一.[3]统一二次曲线拱坝的拱圈线形可以是单心圆、抛物线、椭圆和双曲线等不同类型的曲线.在面向对象设计中,通常需要为每种拱圈线形建立一个类,将具体线形的拱圈派生于拱圈基类,可重用拱圈公有属性代码,系统根据用户的不同需求实例化不同的拱圈对象.在实际应用中,还会根据工程需要对拱圈线形种类进行扩展.按照常规方法进行设计时,每增加一个新的拱圈线形就需对原有系统进行大量修改,因此在进行软件设计时,应尽可能考虑后续可能产生的变化,即提高程序的可扩充性.工厂方法模式为该设计提供解决方案.

在工厂方法模式中,父类负责定义用于创建对象的接口,而子类负责生成具体的对象,由子类决定实例化哪个类.[8]工厂方法模式见图2,Arch是拱圈的基类,提供拱圈相关操作的公共接口,其子类包括圆形拱圈CircleArch和抛物线拱圈ParaArch等.子类与父类具有相同的操作方法,但方法的具体实现不同:拱圈工厂ArchFractory负责拱圈的创建,其Creat操作方法根据用户的不同需求实例化不同的子类,如圆拱圈工厂CircleArchFactory和抛物线拱圈工厂ParaArchFactory等.这样,当增加新拱圈线形时,只需让新的拱圈类型继承于Arch类,增加相应的拱圈工厂子类并实现基类提供的共有接口即可,系统其他部分无须任何修改.

图 2工厂模式

Fig.2Factory pattern

工厂模式根据不同的线形生成不同的拱圈实例,它封装拱圈的创建过程,实现层次之间的松耦合,提升系统的可维护性和可扩展性.

2.2策略模式

拱坝网格可采取不同的划分方式,而不同的划分方式对应于不同的划分工具,其实现程序也不同.由于划分方法的多样性,不可避免地需要扩展原系统以支持新的划分方式,可引入策略模式对各种不同划分算法进行封装,增强系统的可扩展性.

策略模式可对一系列算法进行封装,使其可以相互替换,使算法独立于客户而变化.[8]本文采用策略模式对各划分算法进行封装,每个封装后的划分工具成为一个策略.如图3所示,具体的划分工具类均派生于统一的拱坝划分方法接口DamMeshTool:如映射划分工具MapMeshTool将拱坝上(下)游坝面采用四边形网格映射划分;按拱梁划分工具ArchBeamMeshTool将上(下)游坝面网格的水平边和竖直边分别沿拱、梁方向设置;自适应划分AutoMeshTool工具将上(下)游坝面采用自适应方法划分.具体采用哪种方法,用户可根据需要自行选择.为方便参数化设计,本文采用映射划分和按拱梁划分这2种方式.

图 3网格划分工具的策略模式

Fig.3Strategy pattern of meshing tool

策略模式简化网格划分程序的单元测试,因为每个划分算法都有自己的类,可通过自己的接口进行单独测试.策略模式主要用于封装算法,但在实践中,可用于封装几乎任何类型的规则,如网格划分完成后的有限元计算可分为静力分析、模态分析和瞬态动力分析等.随着分析功能的完善,分析方式会不断增加,如热分析、流-固耦合分析等.如图4所示,策略模式也可为该问题提供解决方案.

图 4分析类型的策略模式

Fig.4Strategy pattern of analysis type

2.3外观模式

外观模式又称为门面模式,是软件工程中常用的软件设计模式之一.它为子系统中的一组接口提供一个统一的高层接口,使子系统更易使用.[8]在3层架构中,通常在数据访问层和业务逻辑层、业务逻辑层和表示层的层与层之间采用外观模式.

在拱坝有限元自动化建模系统中,可采用外观模式(见图5)将拱坝前处理部分、后处理部分以及文件操作部分集成为一个大的系统.系统为用户提供一个整体的接口ADMesh.客户通过发送请求给ADMesh的方式与子系统通信,ADMesh将这些消息转发给适当的子系统对象.在交互设计对话框中,用户可通过调用ADMesh实现整个建模与划分的过程.

图 5外观模式

Fig.5Facade pattern

使用外观模式后,用户程序既不需要直接访问子系统对象,也不需要了解具体的前处理或后处理系统的功能实现,只需了解ADMesh的调用方式即可.由此可见,外观模式提高前、后处理部分各子系统的独立性和可移植性.

2.4几何-网格分离模式

在前处理系统中,在未设置与有限元分析相关的参数前,通常会包括几何模型和网格模型2部分.根据前处理的不同阶段,可能会存在3种不同的情况:(1)只存在几何模型;(2)只存在网格模型;(3)几何模型与网格模型同时存在.几何-网格分离模式将几何模型与网格模型划分为不同的子系统,以脱离两者之间的耦合.

如图6所示,前处理系统中关于几何模型和网格模型的PreSystem分为几何模型Dam和网格模型MeshModal这2部分.几何模型负责拱坝的拱圈和梁等相关几何参数的管理,网格模型负责与有限元相关的节点和单元信息的管理.通过PreSystem建立Dam和MeshModal之间的联系.将两者解耦带来的好处包括:(1)模块独立化,拱坝几何管理系统可直接用于拱坝三维造型等功能,网格模型可直接用于进一步的有限元处理;(2)对拱坝模型的修改不影响网格模型,同样,对网格模型的修改也不影响拱坝模型.

图 6几何-网格分离模式

Fig.6Geometrymesh separation pattern

采用几何-网格分离增加几何模型和网格模型各自的独立性.该模式不仅适于本开发系统,而且适用于通用有限元软件系统.

2.5嵌入单元模式

单元类是有限元模型中最重要的数据结构之一,对于单元类的设计,在以往的有限元面向对象编程研究中常采用组合单元模式.[9]然而,有限元单元中除单元几何信息外,往往还包含大量的数据,如单元高斯点参数和单元属性等,后处理数据还包括温度和应力历程等.相对于这些数据,网格模型中的几何信息较少.在网格划分环节,若网格模型中的对象包含所有的数据成员,很容易给系统接口带来复杂性,需要在网格划分环节尽量将这些多余的数据分离出来.另一方面,用户在有限元处理过程中有时也需要对网格模型进行查看或编辑.因此,可采用嵌入单元模式解决该问题.

嵌入单元模式将网格模型中的单元嵌入到有限元模型的单元中,即在有限元模型的单元类中包含网格模型中单元对象的指针,见图7.用户若需要在非网格划分环节查看或编辑前处理网格模型,只需调用有限元模型中相关类的接口即可实现.嵌入单元模式可有效降低该问题的复杂性.与单元类相似,节点类以及整体模型管理类均可采用嵌入单元模式.图 7嵌入单元模式

Fig.7Embedded element pattern

3系统开发

3.1网格参数化划分方案

实现拱坝与地基全自动划分所需的参数为拱坝体形参数、拱坝网格划分参数、地基断面尺寸参数和地基网格划分参数等.

拱坝主体部分采用六面体网格划分.其中,映射划分需要的参数为拱圈厚度方向划分数,高程方向网格尺寸控制参数,左、右岸拱圈网格划分数等,对于V形河谷,拱坝底部采用五面体单元过渡;按拱梁划分需要的参数为拱圈厚度方向划分数、高程方向网格尺寸控制参数、沿山体方向网格尺寸控制参数等,拱端采用五面体单元过渡.

图 8地基断面形状

Fig.8Shape of foundation

section地基采用全六面体网格划分.对于均匀河道的地基,其设计参数可通过某具体河道的断面给定,地基断面形状见图8.

3.2系统开发实例

基于VC++编程环境,依据上文提出的开发思路和原理编制统一二次曲线拱坝自动化建模与划分程序,并开发相应的参数交互输入与图形显示系统,其中图形显示采用OPENGL函数库.

该系统可使用户直观、方便、快捷地建立拱坝模型并生成拱坝网格.首先,用户可通过对话框读入已有的拱坝数据文件,或直接填写各个高程拱圈的参数,这样可通过各层拱圈的参数计算每层拱圈上的关键点坐标;然后用户可通过有关的对话框输入坝体网格划分和山体网格划分的各个参数.

拱坝坝体的网格首先通过已计算出的关键点和用户输入的左、右边拱划分网格数插值产生上、下游曲面上的插值点,然后在拱圈厚度方向根据拱圈厚度划分数插值,最后生成坝体网格点序列.山体网格首先通过各个延伸长度计算山体的范围,然后通过需要的网格数和划分因数进行线性插值,最后生成山体网格点序列.由于坝体划分和山体划分是2个独立的过程,最后要进行网格合并.可将坝体与山体上坐标相同的节点进行合并,重新生成网格点序列,这样就可得到整体的坝体-山体网格.

以某具体拱坝为例,分别采用映射划分和按拱梁划分2种方式对拱坝进行划分,见图9.

(a)映射划分(b)按拱梁划分图 9拱坝网格

Fig.9Meshes of arch dam

用本文系统对该拱坝地基进行自动网格划分,将拱坝网格与地基网格合并,整体网格见图10.

图 10拱坝-地基整体有限元网格

Fig.10Finite element meshes of arch damfoundation

4结论

基于面向对象设计方法,研究设计模式在前、后处理软件开发中的应用,开发统一二次曲线拱坝有限元自动化建模系统.通过设计模式的运用使系统的可靠性、可复用性、可维护性和可扩展性得到极大提升.

本文的网格划分方法适用于V形和U形等各种对称和不对称河谷.目前本文系统只能建立简单的统一二次曲线拱坝的模型,对于具有横缝、含孔洞的拱坝-地基系统的建模将是下一步研究的重点.将设计模式应用到拱坝静动力分析程序以及后处理系统中,并开发完整的拱坝专业有限元分析系统是最终的研究方向.

参考文献:

[1]涂劲, 陈厚群, 张伯艳. 小湾拱坝在不同概率水平地震作用下的抗震安全性研究[J]. 水利学报, 2006, 37(3): 278285.

TU Jin, CHEN Houqun, ZHANG Boyan. Seismic safety of high arch dam in Xiaowan project under the action of earthquakes with different exceeding probabilities[J]. J Hydraulic Eng, 2006, 37(3): 278285.

[2]郭永刚, 孙五继, 刘宪亮. 高拱坝伸缩横缝间布设抗震钢筋的动力反应分析[J]. 应用力学学报, 2007, 24(1): 1620.

GUO Yonggang, SUN Wuji, LIU Xianliang. Numerical modeling of seismic reinforcement between contraction joints in high arch dam[J]. Chin J Appl Mech, 2007, 24(1): 1620.

[3]朱伯芳, 高季章, 陈祖煜, 等. 拱坝设计与研究[M]. 北京:中国水利水电出版社, 2002: 165166.

[4]张迪. 拱坝有限元网格自动生成[J]. 高校应用数学学报, 1987, 2(2): 182191.

ZHANG Di. Automatic finite element mesh generation for arch dams[J]. Appl Math J Chin Universities, 1987, 2(2): 182191.

[5]彭宣茂. 拱坝有限元计算的前后处理技术[J]. 河海大学学报: 自然科学版, 1990, 18(1): 107111.

PENG Xuanmao. Pre and post processing technology of arch dam finite element analysis[J]. J Hohai Univ: Nat Sci, 1990, 18(1): 107111.

[6]钱向东, 彭宣茂. 复杂地基-拱坝体系有限元网格的自动生成[J]. 河海大学学报: 自然科学版, 1993, 21(6): 8790.

QIAN Xiangdong, PENG Xuanmao. Automatic finite element mesh generation for the system of arch dam with complex foundation[J]. J Hohai Univ: Nat Sci, 1993, 21(6): 8790.

[7]余卫平, 肖明. 复杂结构有限元网格组合剖分技术[J]. 武汉大学学报: 工学版, 2002, 35(2): 102107.

YU Weiping, XIAO Ming. Assembleddissecting technology of complex structure for 3D finite element analysis[J]. J Wuhan Univ: Eng, 2002, 35(2): 102107.

[8]GAMMA E, HELM R, JOHNSON R, et al. 设计模式: 可复用面向对象软件的基础[M]. 李英军, 马晓星, 蔡敏, 等, 译. 北京: 机械工业出版社, 2000: 70.

[9]HENG B C P, MACKIE R I. Using design patterns in objectoriented finite element programming[J]. Computers & Stuctures, 2009, 87(1516): 952961.

(编辑于杰)第20卷 第3期2011年9月计 算 机 辅 助 工 程Computer Aided EngineeringVol.20 No.3Sept. 2011

推荐访问:建模 曲线 有限元 设计 系统

最新推荐New Ranking

12023年企业个人年终总结范本大全10篇

企业个人年终总结范文大全第1篇我从事超市收银工作的时间不是太长,自身的素质和业务水平离工作的实际...

2四年级作文自我介绍21篇

四年级作文自我介绍第1篇大家好!我叫杨润子,今年12岁了,在南师附小上学。小的时候,别人说我像个男...

32023年度三年级作文自我介绍字集锦20篇

三年级作文自我介绍字第1篇Hello!大家好,我叫杨晨,现在是庙下乡中心小学的六年级二班的学生。我有一...

4自我介绍作文600字8篇(完整文档)

自我介绍作文600字第1篇我叫白莹莹,今年11岁,在某某市第一小学五年级一班读书。白莹莹,白莹莹,从...

5自我介绍英语作文初中集锦17篇【优秀范文】

自我介绍英语作文初中第1篇Hi,myname三isxxx Imxxyearsold,amiddleschoolstudentapparently Ilovemusicverymuchalthough

62023年小学三年级作文自我介绍22篇(全文)

小学三年级作文自我介绍第1篇我是一个活泼开朗的男孩,我的名字叫单珂,就叫我小珂吧!我今年上的初一...

7励志演讲稿大全字1

励志演讲稿大全字第1篇尊敬的领导、老师、亲爱的同学们:大家好!我今天演讲的题目是《坚定信念,超越...

8文章读后感大全汇编3篇(完整)

励志文章读后感大全最近,我和父亲读了一本书:“鼓舞人心的全集”故事“我深受感动。“潜力”的故事...

9高中读后感1000字大全7篇(范文推荐)

篇22022高中读《绿野仙踪》英语读后感1000字大全thewizardofozisabouttheadventureofabeautifulkindgirlcalleddorothy,wholive

102023年200字读后感大全14篇(全文完整)

八十天环游地球读后感200字作文大全暑假里,我看了一本叫《八十天环游地球》的名著,这本书主要讲的是...