【BiliBili】 【知乎】 【QQ空间】 【微博】


博学慎思,坚持创新,求知若飢,虛心若愚                       关键字     类型    
  • 博主
  • 全部
  • 日志
  • 研究
  • 论文
  • 自编程序
  • 工程
  • Dino笔记
  • DinoBox
  • OpenSEES
  • Dino公开课
  • 每周挑战
  • Dino爱编程
  • 留言板

DinoBox

ETE_Frame3D
结构分析程序
ETE_Frame3D
2022-01-19
ETE-section截面分析程序
ETE-section
2021-08-19
ETO_OpenSEES前后处理程序
程序通过邮件申请。
★注意,软件不能下载,是通过邮箱发送软件的。

申请ETO时,注意EMAIL 的写法:(格式一定要对,否则电脑收不到)
邮件题目: ETO (版本号) 下载
注册人: (真实姓名)
学校/单位: (大学或工作单位)
邮件回复,大约需要1~4天的时间。
ETO_程序
2014-03-26
  • 123456789下一页末页
预览模式: 普通 | 列表
30-04
28

[OpenSEES]OpenSEES实例教程[汇总帖]

dinochen1983   274129   40   OpenSEES   openseesopensees 汇总汇总


重要通知
[2018-12-21]重新整理OPENSEES的汇总帖,增加视频教程、相关资料等栏目如下。
[2014-09-01]结构弹塑性分析程序OPENSEES原理与实例出版
[2011-12-30]开始写关于OPENSEES的实例教程的书


(1)程序的基础是,openSEES 程序下载, 下载地址为:
=======================================
说明: 说明: 说明: http://www.dinochen.com/images/rar.gif点击下载此文件:OpenSEES v2.2.2
说明: 说明: 说明: http://www.dinochen.com/images/rar.gif点击下载此文件:ActiveTcl8.5.11
说明: 说明: 说明: http://www.dinochen.com/images/rar.gif点击下载此文件
:OpenSEES v2.5.0
说明: 说明: 说明: http://www.dinochen.com/images/rar.gif点击下载此文件:ActiveTcl8.5.18
说明: 说明: 说明: http://www.dinochen.com/images/rar.gif点击下载此文件:OpenSEES v3.0.3
说明: 说明: 说明: http://www.dinochen.com/images/rar.gif点击下载此文件:ActiveTcl8.6.11

程序的安装及入门使用,可以参考以下:
http://dinochen.com/article.asp?id=92


=======================================

(2)OpenSEES的前后处理程序(ETO)下载地址:
ETO软件下载方法:
微信搜索微信公众号: DINOSTRU  
回复 ETO 得到软件下载地址
扫以下二维码:
微信公众号: DINOSTRU

【2014-03-25】DINOETO程序下载文件
【2016-08-01】DINOETO程序下载文件

【2019-07-01】DINOETO程序下载文件

【2019-07-17】DINOETO程序下载文件
【2019-08-06】DINOETO程序下载文件
【2021-09-07】DINOETO程序下载文件
【2022-05-19】DINOETO程序下载文件
【2022-06-07】DINOETO程序下载文件说明: 说明: 说明: http://www.dinochen.com/images/new.gif

以后版本的更新,请到GITHUB下载:
https://github.com/dinochen1983/DINOETO/


微信公众号:搜索 DINOSTRU 然后回复 ETO 
=======================================
(3) OPENSEES的实例教程书上配有的光盘



附带光盘:下载地址:http://pan.baidu.com/s/1sjxGCZN

=======================================
(4) 技术讨论的相关OPENSEES的QQ群:


   Opensees学习QQ群:820059844


(5) 微信公众号:搜索 DINOSTRU
=======================================


 软件下载地址:http://dinochen.com/article.asp?id=234
 版本更新说明:http://www.dinochen.com/article.asp?id=209


程序界面如下所示。简单而言,程序是基于openSEES的分析核心,采用ETABS进行
结构建模,导入到ETO进行其它信息的补充后直接生成  openSEES 的代码文件,可
以按您的意思进行修改成为你的tcl命令。学习ETO之前,可能需要看看ETABS的书。
联系邮箱:dinochen1983@qq.com
详细的操作过程,请看各章实例:

(6) OPENSEES实例教程的每个章节内容

 

[实例00]_前后处理程序ETO的入门教程
[实例01]_桁架桥结构静力分析

[实例02]_多层框架结构静力分析
[实例03]_简支梁弹塑性分析
[实例04]_框架结构推覆分析
[实例05]_框架结构模态分析
[实例06]_框架结构弹性时程分析
[实例07]_框架结构弹塑性时程分析
[实例08]_钢结构低周往复分析
[实例09]_钢结构网壳的屈曲分析
[实例10]_单压连接单元的应用
[实例11]_缝单元的应用分析
[实例12]_杆件铰接的处理方法
[实例13]_弹性壳单元的应用分析
[实例14]_网架弹塑性分析
[实例15]_预应力梁弹塑性分析
[实例16]_桥梁多点激励动力分析
[实例17]_剪力墙构件低周往复分析
[实例18]_框架剪力墙结构推覆分析
[实例19]_带粘滞阻尼器的框架动力分析
[实例20]_带隔震的框架动力分析
[实例21]  时程曲线转化为反应谱方法

[实例22]  截面PM曲线分析方法
[实例23]  实体单元的建模及应用
[实例24]  三维钢结构节点应力分析
[实例25]  桥梁结构的影响线分析方法
[实例26]  组合梁的弹塑性分析
[实例27]  型钢混凝土柱的静力弹塑性分析
[实例28]  带防屈曲支撑的钢结构低周往复分析
[实例29]  框架结构拟倒塌试验分析
[实例30]  铰纤维单元的弹塑性分析
[实例31]  单元生死在分析当中的应用
[实例32]  基于分层壳的剪力墙弹塑性分析
[实例33]  侧向多自由度简化模型的建模
[实例34]  基于OPENSEES的桥梁游戏开发
[实例35]  基于OPENSEES拓扑优化程序开发
[实例36]  任意截面构件的低周往复分析
[实例37]  基于壳元钢柱的屈曲分析
[实例38]  Python生成OPENSEES结构动画
......to be continued......


(6) 基于OPENSEES的小软件、小游戏开发



[程序1]基于OPENSEES的游戏BLOCK STRU GAME

[程序2]基于OPENSEES的截面分析程序
[程序3]基于OPENSEES的桥梁设计小游戏
[程序4]基于OPENSEES的结构拓扑优化小程序
[程序5]基于OPENSEES的图解静力法求解程序




(7) OPENSEES视频教程系列


[视频教程01]OPENSEES安装与基本操作
[视频教程03]单柱构件的静力弹塑性分析
[视频教程04]框架结构的静力弹塑性分析

 发表评论
22-06
30

[Dino笔记]粒子群算法在桁架结构中的应用

dinochen1983   185   0   Dino笔记  

粒子群算法在钢桁架结构优化设计中的应用
小编:周奕君

[小记] 这篇文章是今年指导的第三篇本科毕业设计论文了!
恭喜三位优秀的同学李展铨,周奕君,李云龙毕业,今年作为华南理工大学毕业论文校外导师,我鼓励同学们通过编程学习opensees py 与优化算法,用编程思维解决问题,三篇论文分别是,粒子群算法在钢桁架结构优化设计中的应用,基于虚功原理的钢结构优化设计方法,基于遗传算法的剪力墙结构设计优化。疫情期间,只能远程指导论文。

引言
刚度是建筑结构的一个重要指标,结构的刚度不仅会影响结构的自振周期,还对建筑物的不均匀沉降有重要影响。钢结构具有自重轻、强度高、建筑材料可回收利用等优点,是今后建筑行业发展的主要方向之一,但是与此同时钢结构建筑刚度小、动力性能差的缺点也在制约着钢结构的发展,因此如何提高钢结构建筑的刚度、实现钢结构的优化设计,是推动钢结构发展的重要问题。

优化原理

首先从刚度的定义:

可以看出结构的刚度和其在荷载作用下的位移成反比,因此倘若能降低结构的位移,就能提高结构的刚度。
接着从桁架的位移计算公式:

可以得知在荷载和构件长度不变的前提下,结构的位移和构件的截面面积有关,如果能够优化桁架的截面分布,就能降低结构的位移,进而提高结构的整体刚度。
那么如何优化桁架的截面分布呢?这里就要用到粒子群算法了。
粒子群算法(Particle Swarm Optimization)是一种智能优化算法,由美国学者Kennedy和Eberhart于1995年提出的,它是一种进化计算技术,源于对鸟群捕食行为的研究。它的核心思想是利用群体中的个体对信息的共享使整个群体在运动的求解空间中产生从无序到有序的演化过程,从而获得问题的可行解。
 
图1-1 鸟群觅食图

优化流程

结构的优化流程如图2-1。优化流程主要包括以下5步。
(1)用ETABS建立桁架模型并导出s2k文件
(2)在ETO中打开s2k文件,生成Opensees命令流
(3)用python语言改写Opensees命令流
(4)编写粒子群算法结构优化程序
(5)对程序给出的优化截面分布用型钢进行替代
 
图2-1

普拉特式桁架优化
3.1结构介绍
优化的桁架如图3-1所示。该桁架结构的跨度为18000mm,跨中高2800mm,在上弦中间的5个节点处均受到大小为100kN、方向向下的节点荷载。整个结构共有21根杆,12个节点。
 
图3-1
结构的构件截面如图3-2,采用的是HN600×200×11×17×13的型钢截面。结构材料为Q235级钢,弹性模量为206Mpa,密度为7.85g/cm3。桁架的总体积为821.23m3,用钢量6.45吨。
 
图3-2
结构的节点编号和杆件编号如图3-3。
 
图3-3
3.2ETABS建模
在ETABS中建立结构模型并进行分析。在对结构的优化中,选取8号节点的竖向位移作为适应度,通过ETABS分析算得8号节点的初始位移为4.80mm。
 
图3-4
3.3ETO生成Opensees命令流
接着在ETABS中将桁架结构导出为s2k文件,在ETO中打开打开导出的s2k文件并点击生成Opensees命令流。
 
图3-5
3.4编写优化程序
接着调用openseespy库,将ETO导出的opensees命令流改写为python代码。

Download File:opensees_code.tcl

最后将这个桁架分析程序封装成fitness函数,函数的返回值就是作为适应值的8号节点的竖向位移。然后将fitness函数放进粒子群算法的框架中即可。

3.5优化结果
利用程序对结构进行优化,总共迭代200次,8号节点的竖向位移优化结果如图3-6。
 
图3-6
程序给出的优化截面分布如图3-7。
 
图3-7
根据程序给出的截面分布,用截面面积相近的型钢截面进行替代,其中面积小的截面用HN100×50×5×7×8替代,面积大的截面用HN900×300×15×23×18替代。替代后的截面分布如图3-8。
 
图3-8
在ETABS中建立优化后的桁架模型,对结构进行分析如图所示。
 
图3-9
3.6优化结果评价
优化后桁架用钢量为6.397吨,用钢量下降的百分比为:



8号节点的竖向位移下降到了2.137mm。位移下降百分比为:



豪氏桁架优化

4.1豪氏桁架介绍
豪氏桁架(Howe Truss)是广泛应用于桁架桥中的一种桁架类型,它由美国的一名建筑承包商威廉豪威(William Howe)在1840年设计。
豪氏桁架由上下弦杆、垂直杆和对角杆组成,它的对角梁从两侧向中心倾斜,由结构力学的知识可以分析出,桁架的垂直腹杆受拉,而对角杆受压。这种构造使得豪氏桁架在中心收到荷载时,下弦中心和中点的支撑产生较大的应力,因此豪氏桁架适用于跨度相对较小的桥梁。
 
图4-1
4.2优化结构
优化的结构如图4-2所示。该桁架结构的跨度为24000mm,高3000mm,在上弦中间的七个节点处均受到大小为100kN、方向向下的节点荷载。整个结构共有33根杆,18个节点。
 
图4-2 豪氏桁架优化结构
桁架构件的截面尺寸如图4-3所示。截面高为400mm,宽300mm,腹板厚度为15mm,翼缘厚度为15mm。材料为自定义的钢材,弹性模量设为200Mpa,密度为2.7g/cm3。整个桁架的总体积为1585.09m3,用钢量为4.28吨。
 
图4-3 豪氏桁架截面尺寸
该桁架的节点编号和杆件编号如图4-4所示。
 
图4-4 桁架节点和杆件编号
在豪氏桁架的优化中,选取14号节点的竖向位移作为适应度,并且算得14号节点的初始位移为7.487mm。
利用程序对结构进行优化,总共迭代200次,优化结果如图4-5。
 
图4-5 豪氏桁架的优化
得到优化后的截面分布如图4-6。
 
图4-6 优化后的截面分布
优化后14号节点的竖向位移下降到5.1464mm。考虑工程实际,将程序优化后的截面用相近的HN型钢截面替代,替代后的截面分布如表4-1。


表4-1 选取的型钢截面
替代后的截面分布如图4-7。

 
图4-7 型钢替代后的截面分布
再次计算14号节点的竖向位移为5.1895mm。
使用型钢替代后,桁架的总体积为1571.37m3,而桁架初始体积1585.09m3;初始用钢量为4.28吨,而优化后的用钢量为4.24吨,用钢量下降的百分比为:

而14号节点的竖向位移从7.487mm下降到了5.1895mm。优化百分比为:

因此实现了在用钢量不变的前提下,提高结构整体刚度的优化目标。优化后,整个桁架共有10种截面类型。对实际的工程施工有指导意义。


本章结论
在本次研究中,笔者通过粒子群算法在钢桁架优化设计中的应用,首先在ETABS中建立结构模型,然后再通过ETO软件生成Opensees命令流,再改写为python程序,并利用粒子群优化算法优化桁架的构件截面,减小结构的位移,从而提高结构的整体刚度,实现结构的优化设计。在普拉特式桁架、豪氏桁架和悬臂式桁架的优化中,优化后桁架的用钢量分别下降了0.82%、0.9%和0.34%,而目标节点的竖向位移分别下降了55.48%、30.67%和54.09%,结构的整体刚度得到提升。

====THE END 本节完====

请关注我的微信公众号:DINOSTRU


更多有趣的结构分析知识分享

 发表评论
22-06
21

[获奖]WSP亚洲2021年卓越奖获得一等奖与创新奖

dinochen1983   302   0   日志   获奖获奖 新闻新闻

[获奖]WSP亚洲2021年卓越奖获得一等奖与创新奖


很久没有写博客了,由于疫情的原因,今年公司的年会延迟到5月底在香港迪士尼乐园举办,同时也是WSPWSP亚洲2021年卓越奖的颁奖会。今年我参加了WSP 公司内部举办的WSP Asia Excellence Award 2021的评奖,并荣幸获得了Best Project Award 1st Runner-up一等奖与Best Innovation Award创新奖。感谢领导黄汉华(Henry Wong)先生的多年来对创新的鼓励与支持。

 
  WSP ASIA的 CEO Ivy 为我们颂奖!开心!


两座开心的奖杯





 评奖制作的PPT,主要讲述金地大百汇的简单介绍


我挑选了金地大百汇的项目作为评奖的项目,原因是在这个项目应运用了许多编程技术去提高整个计算分析的效率,也开始编写ETE这个结构分析与设计程序,将结构工程师对于高层建筑的经验通过编程技术融入软件当中,可以说金地大百汇项目是开启工程师编程解决问题提高效率的开端。创新奖也就是对我们在结构工程的前线工作的创新的一种鼓励。目前的ETE程序与以前做超限分析的ETE程序已经不同,进化了不少,现在已经开始与BIM结合,与最终的施工图纸结合,与优化设计相结合,目标是减少前线结构工程师的工作量,经过几年的努力,ETE的四个主要计算模块,已经得到香港屋宇署的软件准用批准,这个是对我们创新工作的肯定。Best Project Award是表扬我们在大百汇项目中的工作,相比之下,让我更开心的是得到Best Innovation Award创新奖,这是对我们结构方面创新工作的肯定,可见WSP公司及领导们(比如Henry Wong)都非常鼓励与推动Innovation落地式创新的。项目可以让工程师积累经验,我们试着采用软件技术把经验实体化出来,作为年青工程师的一种工具。

 
  早期的ETE,原先的功能只是用于输出超限报告及指标,还有转换模型


 后来进化的ETE程序,带有限元计算核心,可以进行香港项目的结构设计工作,并得到审批通过。
 

很多人认为重新去写有限元的计算核心,重新写一个属于自己的结构分析与设计软件,是重复造轮子,其实并不是,因为在后面的计算机绘图,优化计算且与BIM的高度结合,有自己的计算核心非常重要,要不然就只是一个前后处理,很难实现高效。如果只是用别人的开发的软件,首先等不起,每个项目的需求来的时候如山倒,软件公司推出新功能如抽丝。其它,你造的车轮是你自己的轮,那么最终你想做三轮车还是跑车,都存在无限的可能,在有限元,结构设计方面,其实我是非常喜欢造轮子的。创新的第一步就是临摹。想起韩小雷老师在我读研究生的时候,最深刻的一句话:I hear, I know. I see, I remember. I do, I understand. 所以要真正学会一个结构程序,往往最终的方法往往就是编一个结构程序。自勉….

B站视频的地址:https://www.bilibili.com/video/BV16B4y1s7pj



最终,附上我在参与WSP Asia Excellence Award 的评选时录制的解说拉票视频(英文不好, 请见谅!)。

====本节完====




 发表评论
22-06
12

[Dino笔记]基于遗传算法对剪力墙结构优化设计方法

dinochen1983   311   0   Dino笔记   优化优化 超高层建筑超高层建筑 openseesopensees

[Dino笔记]基于遗传算法对剪力墙结构优化设计方法
小编:李展铨,华南理工大学

【小记】:这篇也是我指导华南理工大学大四毕业设计的一篇毕业论文,今年指导三位华南理工大学的学生其中之一的的毕业论文研究(是不是很想报名让我做你的毕业导师呢,酸爽的感觉),3个研究都是围绕优化算法在工程上的应用展开,通过借助有限元计算软件OPENSEES及最新的OPENSEESPY (PYTHON)对结构优化算法进行实现,可用于将来的结构设计当中。每次的毕业设计论文,我都鼓励学生学习编程,通地编程的方法解决工程问题。编程让人思考,思考必有所得。



研究背景
如何对剪力墙结构的抗扭性能进行优化一直都是结构工程领域的重点关注问题。剪力墙结构优化最为简单的是从剪力墙截面尺寸角度开始出发。对于一栋高层剪力墙结构建筑,在确定剪力墙布置的情况下,通过改变各墙构件的厚度来实现对结构性能的优化可以归类为寻优问题,借助遗传算法可以很好地解决这类问题并实现高精度优化。

遗传算法
遗传算法(Genetic Algorithm,简称GA)最早由美国学者Holland于1973年提出,是一种基于生物在自然选择下不断适应与进化的原理的群智能优化算法。遗传算法本质是针对求最优解问题,初始化一个规模大小不变的群体,群体里面任意一个独立个体都携带着不同的基因组合,代表着不同自变量参数的组合,根据设定的适应度函数判别各个个体的适应能力,适应能力好的则得到繁衍的几率更大,反之亦然,繁衍下一代群体并保持群体其数量规模不变,如此往复,经过多次迭代选择厚可得到全局最优解或效果较好的局部最优解。

具体算例
以一栋20层的现浇钢筋混凝土剪力墙结构的普通住宅楼作为本文算例,该建筑各层层高为3m,建筑总高为60m;楼层面积约为539.7m2,高宽比为1.9,剪力墙结构构件共57榀。初步结构设计后的平面布置图如下图所示,呈现出平面布置不规则的特点,因此容易引起结构抗扭性能不足的问题。

优化流程
(1)利用ETABS软件建立模型并导出带有模型数据的s2k文件,运用ETO软件转化为TCL初始化脚本模型文件,并根据具体的优化设定进一步修改,最终得到OpenSEES计算模型。



建模流程图
OpenSEES计算模型具体命令流如下:
wipe
puts "System"
model basic -ndm 3 -ndf 6
node 1 0.000E+000 5.700E+003 1.200E+004
...
rigidDiaphragm 3 907 3
...
fix 11 1 1 1 1 1 1;
...
nDMaterial ElasticIsotropic 4 2.482e4 0.2
nDMaterial PlateFiber 601 4
source $str1
geomTransf Linear 1 0.000 0.000 1.000
...
element elasticBeamColumn 1 50 58 1.200E+005 2.482E+004 1.034E+004 1.264E+009 3.600E+009 4.000E+008 1
...
recorder Node -file $str2 -time -node 9 10 ... 901 906 -dof 1 2 disp
pattern Plain 1 Linear {
load 907 0.00E+00 3.105E5  0.00E+00 0.00E+00 0.00E+00 5.357E8
...
}
puts "analysis"
constraints Lagrange
numberer Plain
system BandGeneral
test EnergyIncr 1.0e-6 200
algorithm Newton
integrator LoadControl 1
analysis Static
analyze 1

(2)剪力墙截面在遗传算法优化过程中是不断变化的,所以该文件需要不断修改,如其中一个子代剪力墙截面文件WALLSEC1.TCL如下所示:
section PlateFiber 701 601 356
...
section PlateFiber 757 601 548

(3)用Python编写一套遗传算法对OpenSEES模型进行调用、分析和优化。采用模型的最大楼层位移比作为优化指标,最大楼层位移比越小,则评分越高,该模型的繁衍概率也越大。具体流程如下:
a)随机生成8个父代剪力墙截面厚度数据,采用面积加权平均法以控制剪力墙截面总体积保持不变
b)采用OpenSEE对8个剪力墙模型进行运算分析,并输出各模型位移数据,进而得到各模型各层的楼层位移比
c)对父代模型按最大楼层位移比进行排序,最大楼层位移比越小,则选择概率越大。
d)重新生成8个子代模型。子代模型的剪力墙截面厚度是由随机选择的两个父代模型的平均值。
e)子代模型需要出现变异以避免陷入局部最优的陷阱,抽取个别剪力墙截面放大至120%或缩小至80%,以该操作代表基因变异。
f)采用OpenSEE把子代模型进行分析,即执行b操作,反复循环。


遗传算法流程图

算例优化结果

(1)最大楼层位移比的优化曲线
由曲线可知,在前150代优化速度较快,随着优化进程的推进,优化速度逐渐下降,优化速度较慢。

(2)优化后各剪力墙截面厚度变化
红色剪力墙表示优化后其截面厚度增大,蓝色剪力墙表示优化后其截面厚度减小。

(3)优化前后各工况楼层位移比对比
优化后多种工况下楼层位移比均有较大幅度的下降,下降幅度从23%到40%不等。

(4)优化前后各工况层间位移比对比
优化后多种工况下层间位移比均有较大幅度的下降,下降幅度从20%到50%不等。

====本节完====

请关注我的微信公众号:DINOSTRU


更多有趣的结构分析知识分享


 发表评论
22-06
06

[Dino笔记]基于OpenSEES虚功原理的钢结构优化

dinochen1983   368   0   Dino笔记  

【Dino结构笔记】基于OpenSEES虚功原理的钢结构优化
小编:李云龙, 华南理工大学

【小记】这篇是指导华南理工大学毕业设计的一篇毕业论文,今年指导三位华南理工大学的学生的毕业论文研究,三个研究都是围绕优化算法在工程上的应用展开,通过借助有限元计算软件OPENSEES及最新的OPENSEESPY (PYTHON)对结构优化算法进行实现,可用于将来的结构设计当中。每次的毕业设计论文,我都鼓励学生学习编程,通地编程的方法解决工程问题。

虚功原理的应用
虚功原理是分析力学部分的一个很重要的原理,其利用虚位移和理想约束的概念来讨论力学系统处于平衡的条件。其内容可以基本概括为:受有理想约束的力学系统处于平衡的充要条件是作用在系统上的所有主动力在任意虚位移下所作的虚功之和为零。同时,虚功原理建立了构件尺寸与位移的关系,由虚功原理得位移计算的一般公式为:
 
该公式可以理解为结构中每个单元均对施加单位力处的节点的位移做出了贡献,现定义敏感指数SI,其表达式为:
 
V为结构中每个构件的体积,△/Vmax为贡献的位移值除以体积后的最大值。同时,SI也是ETABS与SAP2000中“显示虚功图”中数值(例如下图中的结构所示)的原理。
 
由于敏感值是相对值,我们可以通过敏感值的大小对构件截面进行调整,以达到结构优化的目的。对于桁架结构,由于只存在轴力,故我们可以只看公式中的第一项。

 
当构件的SI较大时,提高该截面面积,便可以有效降低该构件带来的△值,同时,SI越大,位移降低的效果也就越明显。
该原理比较容易理解。在进行结构优化时,需要多次迭代计算,因此采用无界面的OPENSEES是不错的选择。同时在网上也并没有将OPENSEES与虚功原理相结合的结构算例,因此本文将通过一个简单的桁架实例来介绍该方法的具体应用。

具体优化算例
实例:对一总体积恒定的钢桁架结构进行结构优化,使桁架在荷载作用下(荷载布置下如图所示)的变形最小,即结构刚度最大。图中F=50000N,所有构件的截面初始尺寸均为10000 mm2,桁架结构总体积为824558cm3。单位力大小设为1000N,施加在节点11处,方向竖直向下。
 

优化流程

(1)对该实例我们采用OPENSEES进行分析。在分析之前先借助ETABS建立模型并导出sk2文件以供ETO程序生成TCL代码。ETABS中的模型如下图所示。
 

(2)导入ETO生成OPENSEES的分析命令流文件,导入ETO以后处到桁架的构件编号如图所示。在OPENSEES中我们需要记录并输出各节点的竖向位移,与各构件的内力。由于是桁架结构,输出的内力结果中只有轴力为非0项。程序求解所有节点的竖向位移的最大值,作为优化结果的评价标准,最大位移越小,则优化结果越好。 
 


(3)OpenSEES的命令流如下所示,命令流有两个部分,即实际荷载作用下的结果,单位力作用下的结果,每一部分又包括3个板块:
第一板块:节点、材料与支座条件(分析过程中不发生改变)
第二板块:截面(分析过程中不断改变),采用引入文件  source element.tcl
第三板块:分析与结果提取,需要提取节点竖向位移与各构件内力
同时,
recorder Node -file $dataDir/Disp/node1.out -time -node 1 -dof 3 disp
……
recorder Element -file $dataDir/Force/element1.out -time -ele 1 localForce
……
不同的节点或构件分析存储的文件名不同, 分别是 node1~node14.out与element.1~element25.out。
基本TCL命令流如下:
wipe
model basic -ndm 3 -ndf 3
source node.tcl
fix 1 0 1 0 0 0 0;
……
uniaxialMaterial Elastic 1 1.999E+005
source element1.tcl
## Load Case = Live
pattern Plain 1 Linear {
load 1 0.000E+000 0.000E+000 -5.000E+004 0.000E+000 0.000E+000 0.000E+000
……
}
puts "recorder1"
set dataDir Liveoutput
file mkdir $dataDir
file mkdir $dataDir/Disp
file mkdir $dataDir/Force
recorder Node -file $dataDir/Disp/node1.out -time -node 1 -dof 3 disp
……
recorder Element -file $dataDir/Force/element1.out -time -ele 1 localForce
……
constraints Plain
numberer Plain
system BandGeneral
test EnergyIncr 1.0e-6 200
algorithm Newton
integrator LoadControl 1.000E-002
analysis Static
analyze 100
……(与上一部分相同)
## Load Case = Virtual
pattern Plain 1 Linear {
load 11 0.000E+000 0.000E+000 -1.000E+003 0.000E+000 0.000E+000 0.000E+000
……
}
set dataDir Virtualoutput
file mkdir $dataDir
file mkdir $dataDir/Disp
file mkdir $dataDir/Force
……(与上一部分相同)
wipe

(4)桁架截面在优化过程中是不断变化的,所以element.tcl文件需要不断的修改,如其中一次迭代计算的截面文件element5.tcl如下所示。
element truss 1 2 1 12306.416996915492 1
……
element truss 25 6 14 11441.348183424036 1

(5)OPENSEES文件基本编写完成,现需编写Python文件。Python编码流程大致如下图所示。每次计算分析所调用的elment.tcl文件都会储存在各自的子文件夹下,以便查看优化的最终解。
 

(6)接下来讲解Python中结构体积重分配的具体原理原理。敏感值SI是相对值,其值范围在0至100之间,故以50作为截面调整的分水岭,即杆件的SI大于50时,增大截面面积;SI小于50时,减小截面面积。调整的幅度取决于SI—50的绝对值的大小。具体的公式为:
 
其中A’为优化后的面积,A为优化前的面积。且为保证结构总体积不变,求得优化前后结构的体积差,将相差的体积按SI的大小对构件进行分配。且规定截面最小面积不得小于10cm2,最大不得大于250cm2。
这里需要对截面的最小面积进行严格控制。截面面积过小可能会导致某些杆件的刚度过小,从而使某些节点的竖向位移大于施加单位力的节点(节点11),这会导致控制节点的选取与实际不符,优化效果大打折扣。

(7)运行程序,查看前50次的运算分析结果,结构最大节点位移(节点11)的位移优化曲线如图所示。
 
由曲线可知,随着不断的优化计算,结构最大节点位移不断下降,结构刚度越来越大,最大节点的位移由3.08下降到了2.09左右,下降幅度在33%左右。且最大节点位移始终在节点11处。

(8)结构优化前各截面面积均为100cm2,优化后各构件截面面积如下图所示。
 

(9)采用ETABS对比分析:
优化前结果:节点11竖向位移为3.08mm。
 
优化后结果:节点11竖向位移为2.09mm。
 

(10)优化后的位移云图:采用PYTHON进行对OPENSEES的后处理动画



  ====THE END====

请关注我的微信公众号:DINOSTRU


更多有趣的结构分析知识分享



 发表评论
22-05
20

[OpenSEES] 新版ETO更新及相关下载方法

dinochen1983   1316   0   OpenSEES   openseesopensees

[OpenSEES] 新版ETO更新及相关下载方法

新版ETO的更新与发布会通过Github进行发布,有关ETO的相关功能更新会在github进行发布,同时也会在微信公众号发布。大家对ETO程序与相关的bug的汇报,可以在微信公众号留言,也可以在网站 dinochen.com留言,ETO将会做一系列的更新与升级,大量的bug需要排查,欢迎大家对新功能提出一些建议。也欢迎会编程的同学,加入我们的开源编程的行列,对代码进行贡献。

[ETO]程序的github地址:https://github.com/dinochen1983/DINOETO




【ETO下载地址】点击下载: DINOETE_20220519.rar
 以下是 DINOETO 2022-05-19版的相关更新内容:

(1)增加导入S2K文件的提示功能,方便了解哪一步出错
(2)增加一次性导入结构变形的功能,不需要划分100个结点为一个文件
(3)增加导入S2K包括圆柱截面的信息,并转换为圆柱纤维截面。



====THE END=====

====本节完====

请关注我的微信公众号:DINOSTRU


更多有趣的结构分析知识分享




 发表评论
22-04
16

[新闻]祝韩老师荣获广东省科技进步一等奖

dinochen1983   1031   0   日志   获奖获奖


祝贺导师韩小雷教授荣获广东省科技进步一等奖: 高层建筑混凝土结构抗震性能化成套关键技术与应用。
日期:2022年4月15日


韩老师获奖的照片


广东省科学技术奖的获奖名单。



====本节完=====

 发表评论
22-04
07

[程序]ETE-section功能更新:可修改划分单元的材料

dinochen1983   2682   6   自编程序   ETEETE 截面分析截面分析

[程序]ETE-section,功能更新,可修改划分单元的材料

微信公众号用户,点击【阅读原文】进行下载程序

本版程序钟对某些情况进行更新,用户可以对划分后的单元进行材料属性的修改
考虑核心区与非核心区采用不同的混凝土材料。
这样用户可以根据不同的分析设置不同的材料

ETE-Section 程序更新版发布

日期:2022-04-07

ETE-section截面分析程序
【程序下载】程序: ete-section截面分析程序(版本2022-04-11)
注: 程序需要联机使用

以下图文并茂介绍软件的更新功能

(1)用户可以通过CAD导入新增加的多义线作为钢筋的边界,用来确定后面的单元划分





(2)划分单元后,用户可以对划分好三角形进行选择并指定,最后确定采用什么材料类别



(3)为了方便查看是什么材料,所有的材料可以由用户自定义颜色,并可以保存。





(4)通过对纤维单元的个别指定后,可以实现多个不同区的保护层。



这个CAD中钢筋边界的绘制方法,图层要对得上。


====THE END====


请关注我的微信公众号:DINOSTRU


更多有趣的结构分析知识分享


 发表评论
22-03
15

[App开发]采用Swfit语言编制经典的推箱子游戏

dinochen1983   1066   0   Dino爱编程  

[App] 采用Swfit语言编制经典的推箱子游戏

 扫描以上二维码可以得到下载地址
App的下载地址:
https://apps.apple.com/us/app/推箱小子/id1612941161


《推箱小子》游戏App的界面预览

编程语言:Swift (Apple Xcode)

BoxKid经典的推箱子游戏,1.0版本有105个关卡,Kid只需要把全部箱子推到金砖位置就可以通关。app完全没有广告。

Total 105 Level,Pusadvertisementh all the boxes to golden brick.No advertisement!


经典游戏采用SpriteKit框架,代码写起来与Python非常像


除了采用SWIFT制作游戏本身,采用PASCAL制作地图编辑器

最后,让小孩子自己设计自己的手机小游戏。



这个XCode项目的编程

(1)引入数组来形成游戏的地图
(2)编制地图制作工具,可以方便地进行地图的编辑,可拓展到其它的项目
(3)地图的制作就涉及到编码,通过单字符编码实现所有地图的元素



 发表评论
22-03
14

[程序]ETE-section更新_考虑混凝土保护层材料

dinochen1983   1855   0   自编程序   ETEETE 截面分析截面分析

[程序]ETE-section更新_考虑混凝土保护层材料的影响

【小记】这是ETE-SECTION的第N次升级了,每次的升级都带来一些变化,有以下的总结,一开始ETE-SEC的前身是DINOSEC,可以分析对称的纤维截面,那时侯采用二分法去求解中轴线,得到截面的PMM曲线,截面剖分是采用规则划分,并不能对任意截面进行划分,分析非对称截面做得不好。后来,我就重写代码,开始写ETE-SECTION的1.0,从头开始重写。

第一版,能够完成大部分混凝土截面的非线性分析
第二版,增加了内置或外置型钢截面
第三版,增加了M-fai曲线分析,生成PMM三维曲面
第四版,采用OPENGL技术,重写PMM三维曲面,让显示速度更快
第五版,增加孔洞属性,用户可以自定义很多洞口
第六版,就是这一版,增加了混凝土保护层与核心区不同的材料处理
第七版,下一版的新加功能,待续

每一次更新,都把新东西加入,把新学的东西加入,由工程师来直接编制软件,把经验带入程序当中,做程序,先把不完美的第一版先放上来,慢慢修改成更好的版本,如果第一天觉得这个功能没有,那个功能也没有,还不如一个商业软件,那就没有第一版的程序,也就没有后来的更新。包括写技术博客或公众号的想法是一样的,分享技术是一方面,更重要的是,我每次看回以前写的帖子,就发现写得很不好,技术落后,概念落后,那么,我就会发现原来是我有了小小的进步了。自勉。


本版程序可以考虑核心区与非核心区采用不同的混凝土材料

ETE-Section 程序更新版发布

日期:2022-03-14

ETE-section截面分析程序
【程序下载】程序: ete-section截面分析程序(版本2022-03-14)




《钢铁侠1》钢铁侠在山洞里制作出MARK 1.0 ,原始版本,功能只用于保命



《钢铁侠1》钢铁侠在实验室制出MARK 2.0 ,重新编码制作,最底层原理不变外,用户界面大改动


《无限战争》钢铁侠的纳米战甲,吸收以前知识盲区的纳米新技术变为最重要的东西

作为一个工程师去看《钢铁侠》的电影,可以学到很多东西,如果结构工程师学会编程,就可以把结构工程的设计经验通过程序手段保存下来,并进行更新迭代。钢铁侠的工程师思维就是每次战斗,缺什么,失算什么,下次战甲就要准备什么。比如,ETE-SEC这个程序,一开始是为了香港规范设计的,香港规范是不划分混凝土核心区与非核心区的,现在用在国内项目的话,有时侯就需要划分的,那么就需要进行升级。之前洞口处理,是采用闭合曲线法处理,太麻烦了,需要用户有【高超】的CAD技术,所以后来增加的孔洞多义线的输入。基本上是想补充什么,边想边做的。作为工程师及程序编写员,即是用家与是厂家,了解自已所需而制作出来。

ETE-SEC的新版本更新LOG如下。

(1)为了更好的考虑混凝土的真实特性(参考伟大的截面分析程序XTRACT)一般混凝土截面需要考虑混凝土核心区与非混凝土核心区的不同,增加了非核心区混凝土材料,材料名字类似 C60_cover  。
(2)采用参数化输入截面(14类截面)与自动生成SRC截面都考虑了保护层混凝土的特性.
(3)导入与导出CAD或DXF的功能,都考虑核心区与非核心区的混凝土区分,主要通过导入【RebarLine】的多义线来定义核心区与非核心区材料
(4)生成OPENSEES代码,可以导出核心区与非核心区的混凝土的功能。


【小记】在原来设计ETE的数据结构时,已经考虑在后期会增加核心区与非核心区混凝土的功能,通过增加【RebarLine】来确定核心区与非核心区的分界,随着ETE程序的不断深度开发,终于把这个坑填了,对于全部纤维在红线(RebarLine)中的就是核心区,在外面的就是非核心区。这个多义线可以通过CAD进行导入,保存与操作。



非核心的混凝土采用什么材料,可以通过这个位置进行输入




上图是通过CAD或DXF导入ETE程序,用户可以通过修改REBAR LINE来修改保护层的形状。


CAD与DXF的导入


OPENSEES的TCL代码,把混凝土的材料划分为两种,CONC1与 CONC2

====本节完=====

升级软件下载包如下所示:
【程序下载】程序: ete-section截面分析程序(版本2022-03-14)

请关注我的微信公众号:DINOSTRU


更多有趣的结构分析知识分享


 发表评论
  • 123456789下一页末页

信息(Information)

DinoChen 视频频道

My GitHub Page



扫描以下二维码,加入公众号!


dinochen.com需要你的支持


日历(Calendar)

2022年7月
  • 日
  • 一
  • 二
  • 三
  • 四
  • 五
  • 六
  • 26
  • 27
  • 28
  • 29
  • 30
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

查找(Search)

关键字
 
类 型

文章(Recent Article)

[OpenSEES]OpenSEES实例教程[汇总...[Dino笔记]粒子群算法在桁架结构中的应用[获奖]WSP亚洲2021年卓越奖获得一等奖与创新...[Dino笔记]基于遗传算法对剪力墙结构优化设计方...[Dino笔记]基于OpenSEES虚功原理的钢结...[OpenSEES] 新版ETO更新及相关下载方法...[新闻]祝韩老师荣获广东省科技进步一等奖[程序]ETE-section功能更新:可修改划分...[App开发]采用Swfit语言编制经典的推箱子游...[程序]ETE-section更新_考虑混凝土保护...

评论(Comments)

陈博士您好,这个小工具好像有点问题,有效翼板宽度b...打开的时候显示“你没有许可证”,怎么弄啊陈博士您好,这个是需要购买的软件还是可以试用的怎么查看文档计算过程呢,陈博士一直显示出现一个错误字符无法计算是什么原因呢?为什么一直出错计算不了?陈博士,能共享下文件嘛?第二版没有光盘陈博士您好,我换了好几台电脑ETE还是需要许可,陈博士您好,现在程序还是打不开,需要许可请问如何获得会员许可证?

留言(GuestBook)

Thanks regarding furnishi...陈博士您好,想请问一下零长度单元用在桥梁的支座上,...陈博,新版ETO下载以后界面打不开是什么原因呢,旧...陈博士您好,请问可以出一期画易损性曲线的教程吗陈博士您好,我在学习您4.33侧向多自由度简化模型...陈博士您好,計算wind2019的program ...陈博士,您好,我下载使用了您编写的压型钢板组合楼板...陈博士您好,我是opensee初学者,想向您请教两...陈博士你好,请问开洞混凝土截面,ETE-secti...陈博士您好,感谢您的回复,我的刚性隔板设置了转动惯...

TagBar

Loading...

用户面板(User Panel)

登录用户注册

统计(Statistics)

日志: 408 篇
评论: 893 个
留言: 413 个
访问: 14023135 次
在线: 4 人
建站时间: 2008-02-08

Powered By PJBlog3 V2.7 Build 05 CopyRight 2005 - 2011, 陈学伟的博客

Processed in 0.296875 second(s) , 3 queries 粤ICP备15071789号-1