1、非线性分析程序 OpenSees简介与应用 大连理工大学建设工程学部智能结构研究所 风为赏 : http:/ 课程总体安排 第 1次( 2学时) 钢筋混凝土结构弹性时程分析 第 2次( 2学时) 钢筋混凝土滞回恢复力模型 -钢筋、混凝土及粘结 第 3次( 2学时) 钢筋混凝土滞回恢复力模型 -构件 第 4次( 2学时) 弹塑性时程分析中的非线性有限元模型 -纤维模型、多弹簧模型 第 5次( 2学时) 弹塑性时程分析中的非线性有限元模型 分量模型和剪力墙模型 第 6次( 2学时) 弹塑性地震反应时程分析 -数值方法、拐点处理、几何非线性和收敛准则 第 7次( 2学时) 弹塑性地震反应时程分析 -
2、负刚度算法和积分方案 第 8次( 2学时) OpenSees程序介绍与应用 风为赏 : http:/ 提纲 OpenSees 是什么 Part I 程序的由来及发展 程序的架构设计 为什么用 OpenSees Part II OpenSees程序的分析功能 OpenSees程序的突出优势 OpenSees程序的学术影响 怎么用 OpenSees Part III 程序使用指南 建模分析流程 框架结构非线性动力弹塑性算例分析 风为赏 : http:/ Part I : 程序的由来及发展 OpenSees: Open System for Earthquake Engineering Simula
3、tion 该软件在美国国家自然科学基金( NSF)的资助下,由加州大学伯克利分校太平洋地震工程研究中心( PEER)主导研发。 官网地址: http:/opensees.berkeley.edu 风为赏 : http:/ Part I : 程序的由来及发展 OpenSees程序发展简史 1997年之前, PEER开始推动 OpenSees的研发; 1999年: OpenSees平台的正式 推出 使用 , 当时的程序名为 G3; 2003年: NEES( Network for Earthquake Engineering Simulation )开始支持 OpenSees的集成和 扩展; 20
4、04年: OpenSees成为 NEES的仿真 元件,新材料 、新单元、新算法的添加,程序不断 完善; 2012年:最新版本 OpenSees2.4.0。 OpenSees基金来源 PEER( Pacific Earthquake Enginering Research Center)太平洋地震工程研究中心 NEES( George E. Brown, Jr. Network for Earthquake Engineering Simulation)通过 NEESit地震工程模拟网络 NSF( National Science Foundation)美国国家自然科学基金 风为赏 : http
5、:/ Part I : 程序的由来及发展 风为赏 : http:/ Part I : 程序的由来及发展 NEEShub: http:/nees.org/ 风为赏 : http:/ Part I : 程序的架构设计 OpenSees到底是 什么 是一个面向对象的 有限元分析软件架构,不单单是可 执行 文件 exe,更不是一堆代码; 是 PEER内部合作研究的一个通信 机构,实际上可用于任何组织的合作研究; 是一个具有无限发展潜力的开源 软件。 什么 是 软件 架构 ( software framework) 一系列软件部件的合作,其目的是在特殊的域内建立应用程序; 决定应用程序体系结构,必须代表
6、设计方案在应用领域的通用性; 基于能适用于域内绝大多数应用程序的假定; 框架中各个组件之间松散耦合,利于应用程序的扩展和重用 。 OpenSees的架构是什么样的 基于 C+语言形成; 主要包括建模模块、求解器模块、记录模块等 风为赏 : http:/ Part I : 程序的架构设计 1. 程序整体架构 Domain 风为赏 : http:/ Part I : 程序的架构设计 2. 建模模块 ModelBuilder 风为赏 : http:/ Part I : 程序的架构设计 3. 求解 器模块 Analysis 风为赏 : http:/ Part I : 程序的架构设计 4. OpenSe
7、es不仅仅是 FE,而是完美的 framework OpenSees 是什么 Part I 程序的由来及发展 程序的架构设计 为什么用 OpenSees Part II OpenSees程序的分析功能 OpenSees程序的突出优势 OpenSees程序的学术影响 怎么用 OpenSees Part III 程序使用指南 建模分析流程 框架结构非线性动力弹塑性算例分析 风为赏 : http:/ Part II : OpenSees程序的分析功能 分析功能 模态分析 、特征值分析、静力线弹性分析、静力非线性分析、 pushover 拟静力分析、动力线弹性分析及复杂的动力非线性分析、可靠度及 灵敏
8、度分析等; 应用领域 涵盖土木工程的多个领域,主要聚焦地震工程的非线性分析,比如 : 1. 高层建筑结构 : PEER Tall building initiative 在研项目 20层非线性材料单元 5万自由度; 2. 桥梁结构 : Humboldt Bay Bridge, 330米, 2万自由度,考虑非线性土结相互作用。 风为赏 : http:/ Part II : OpenSees程序的突出优势 完全公开的源代码 学术界共同开发,实现科研合作; 最新科研成果集成和共享,能够直接利用学术最前沿的成果,更易于实现学术创新。 突出的强非线性 几何大变形 材料非线性(提供了丰富的材料库) 强大的
9、计算能力 基于面向对象程序构架的并行计算方法 高性能云计算能力,比如 Open Science Grid 、 TerraGrid 全球性的共享机制 OpenSees具有世界性的学术社区、论坛、定期学术讨论、培训和问题交流,成果在维基百科上公布; 由于上载后的程序代码迅速为学术界共同验证和使用,其学术影响力的快速传播远远超过了学术期刊文章的传播速度,也为学术成果快速产业化提供了渠道。 风为赏 : http:/ Part II : OpenSees程序的学术影响 据 OpenSees 官网下载统计,过去半年中,在全世界的用户中,中国用户超过 20%, 2011年中国建筑学会抗倒塌专业委员会 倒塌模
10、拟大赛, 56%参赛者使用 OpenSees 合作开发 自 1997年 , 近十所美国著名高校一直在参与 OpenSees的合作开发 ; 人才培养 基于此平台在美国已经培养出近 10位新的教授以及几十位博士生 ; 学术创新 许多 学术界新概念首先在 OpenSees上被实现和 验证 ; 基于 性能的 计算 ; PBEE风险 评估 ; Hybrid 混合实验 等 OpenSees 是什么 Part I 程序的由来及发展 程序的架构设计 为什么用 OpenSees Part II OpenSees程序的分析功能 OpenSees程序的突出优势 OpenSees程序的学术影响 怎么用 OpenSee
11、s Part III 程序使用指南 建模分析流程 框架结构非线性动力弹塑性算例分析 风为赏 : http:/ 2) 安装 Tcl 安装路径: C:Program FilesTcl Part III : 程序使用指南 1) 程序 及 Tcl下载 页面 http:/opensees.berkeley.edu/OpenSees/user/download.php 直接解压 3) 安装 tcleditor(可选) 说明 : 将 OpenSees.exe 复制到 tcleditor 中的 bin 文件夹中, 再将到 tcleditor 复制到 C盘根目录下,运行 TclEditor.exe 即可。 1.
12、 程序下载及安装 风为赏 : http:/ Part III : 程序使用指南 2. TCL 编译器 编译器 是能够执行用其他计算机语言编写的程序的系统软件,它是一种翻译程序。 Tcl是一种动态的程序设计语言,同时也是基于字符串的脚本语言, 支持: 变量和变量代换 数学表达式 基本控制结构( if、 while、 for、 foreach) 函数 文件 处理 帮助文件 : http:/www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html set a 1 set b $a set c expr 2 + $b set d 1 2 three for set
13、 i 1 $i 2 incr i 1 puts “i equals $i” 3. TCL编程规则介绍 运行结果: a 值为 1; b 值 为 1; c 值 为 3; d 值为字母与数字组成的字符串 1 2 three; for循环运行的结果如下: 1 equals 1 2 equals 2 风为赏 : http:/ Part III : 建模 分析 流程 1. 编写 TCL 程序代码 1.1 建立有限元模型 清华大学 框架柱 拟静力试验及加载 装置 (框架柱轴向荷载 140.78kN,有效高度为 750mm) 来源 : www.collapse- n 2 1n 1 1e 1 1 1F = 1
14、4 0 . 7 8 k N风为赏 : http:/ Part III : 建模 分析 流程 1. 编写 TCL 程序代码 1.1 建立有限元模型 清华大学 框架柱 拟静力试验及加载 装置 (框架柱轴向荷载 140.78kN,有效高度为 750mm) 来源 : www.collapse- n 2 1n 1 1e 1 1 1F = 1 4 0 . 7 8 k N1)指定模型维数等信息 2)定义材料 material 3)定义截面 section 4)定义节点 node 5)定义单元 element 6)定义数据记录文件 recorder 7)定义 荷载模式 load pattern 如何使用 Op
15、enSees建模 风为赏 : http:/ Part III : 建模 分析 流程 1. 编写 TCL 程序代码 1.1 建立有限元模型 1)指定模型维数等信息 该 模型程序: wipe all; model BasicBuilder -ndm 2 -ndf 3; set HStory 750.; set HCol1 200.; set BCol1 200.; set coverC 14.0; set IDctrlNode 21; set IDctrlDOF 1; set pi expr 2.0*asin(1.0); n 2 1n 1 1e 1 1 1F = 1 4 0 .7 8 k N注意:
16、参数传递 风为赏 : http:/ Part III : 建模 分析 流程 1. 编写 TCL 程序代码 1.1 建立有限元模型 2) 定义材料 material 该模型程序: source material.tcl n 2 1n 1 1e 1 1 1F = 1 4 0 .7 8 k N风为赏 : http:/ n 2 1n 1 1e 1 1 1F = 1 4 0 .7 8 k NPart III : 建模 分析 流程 1. 编写 TCL 程序代码 1.1 建立有限元模型 3) 定义截面 section Elastic Section Fiber Section NDFiber Section
17、 Wide Flange Section Parallel Section Uniaxial Section Elastic Membrane Plate Section Plate Fiber Section Bidirectional Section Isolator2spring Section section Fiber $secTag fiber. patch. layer. . 该模型程序: source BuildRCrectSection_gen.tcl source section.tcl 风为赏 : http:/ 单个纤维: fiber 直线纤维层 : layer定义 环形
18、纤维层 矩形纤维块: patch 环形纤维块 Part III : 建模 分析 流程 1. 编写 TCL 程序代码 1.1 建立有限元模型 3) 定义截面 section 可分析各种截面 风为赏 : http:/ Part III : 建模 分析 流程 1. 编写 TCL 程序代码 1.1 建立有限元模型 4) 定义节点 node 该模型程序: node 11 0. 0.; node 21 0. 750.; fix 11 1 1 1; YXn 2 1n 1 1e 1 1 1F = 1 4 0 .7 8 k N风为赏 : http:/ Part III : 建模 分析 流程 1. 编写 TCL
19、程序代码 1.1 建立有限元模型 5) 定义单元 element element nonlinearBeamColumn 111 11 21 4 $ColSecTag $IDColTransf ; Zero-Length Elements Truss Elements Beam-Column Elements Elastic Beam Column Element Elastic Beam Column Element with Stiffness Modifiers Beam With Hinges Element Displacement-Based Beam-Column Element
20、 Force-Based Beam-Column Element Flexure-Shear Interaction Displacement-Based Beam-Column Element Joint Elements Link Elements Bearing Elements Quadrilateral Elements Triangular Elements Brick Elements u-p Elements Contact Elements 该模型程序: set IDColTransf 1; geomTransf PDelta $IDColTransf ; n 2 1n 1
21、1e 1 1 1F = 1 4 0 .7 8 k N风为赏 : http:/ Part III : 建模 分析 流程 1. 编写 TCL 程序代码 1.1 建立有限元模型 6) 定义数据记录 文件 recorder Node Node Recorder disp: displacement* vel : velocity* accel : acceleration* incrDisp : incremental displacement “eigen i“ : eigenvector for mode i reaction : nodal reaction rayleighForces: da
22、mping forces Node Envelope Recorder Drift Recorder Element/Section/Fiber Element Recorder ElementEnvelopeRecorder Graphics Plot Recorder 该模型程序: recorder Node -file Ndisp.out -time -node 21 -dof 1 disp; recorder Node -file Rnode.out -time -node 11 -dof 1 reaction; n 2 1n 1 1e 1 1 1F = 1 4 0 .7 8 k N风
23、为赏 : http:/ Part III : 建模 分析 流程 1. 编写 TCL 程序代码 1.1 建立有限元模型 7)定义 荷载 模式 load pattern Plain Pattern: 静力荷载模式 Uniform Excitation Pattern: 一致动力荷载模式 Multi-Support Excitation Pattern: 多点激励 该模型程序: pattern Plain 101 Linear load 21 0 -140780.0 0; eleLoad -ele 111 -type -beamUniform 0 expr -2.0; pattern Plain $
24、patternTag $tsTag load. eleLoad. sp. . n 2 1n 1 1e 1 1 1F = 1 4 0 .7 8 k N风为赏 : http:/ Linear、 Newton、 ModifiedNewton、 NewtonLineSearch、 KrylovNewton、 BFGS、 Broyden 静力分析: Load Control、 Displacement Control、 Arc-Length Control et al. 动力分析: Central Difference、 Newmark、 HHT、 Generalized Alpha、 TRBDF2 B
25、andGeneral、 BandSPD、 ProfileSPD、 SuperLU、 UmfPack、 SparseSYM Plain Numberer、 RCM Numberer、 Alternative_Minimum_Degree Numberer Norm Unbalance、 Norm Displacement Increment、 Energy Increment、 Relative Norm Unbalance Plain Constraints、 Lagrange Multipliers、 Penalty Method、 Transformation Method Part III : 建模 分析 流程 1. 编写 TCL 程序代码 1.2 求解器分析模块设置 可选算法 algorithm 可选积分方案 integrator 可选自由度存储方式 system 可选编号排位方式 numberer 可选约束方式 constraints 可选收敛准则 test Static、 Transient、 VariableTransient 可选分析类型 analysis