1

前言

在前面的文章我们介绍了如何基于有限元分析的结果,实现ANSYS与MATLAB的联合优化设计过程。现在我们回过头来,再来谈一谈这其中最基本的一步——如何实现ANSYS APDL参数化建模分析的全过程。

这篇文章先简要介绍下如何实现案例模型的APDL参数化建模分析,由于APDL的各参数设置、原理、意义成千上万,我们主要是大致讲解一下建模思路与大体框架,具体细节碍于篇幅暂且不详谈。

此文通过选取一个高层混凝土结构案例,建筑层数15层,建筑高度为61m,考虑到整体模型的大小与复杂性,剪力墙和楼板采用SHELL181单元,梁柱采用BEAM188单元。如此庞大的模型如果通过用户菜单界面进行点点点不知道要点到什么时候,而采用命令流几小时就能完成全过程。下面就开始我们的参数化建模过程。

实例:高层混凝土结构模型

2

模型参数定义

第一步先进行参数的定义,针对于整个模型我们首先要确定哪些量是固定不变的,哪些是可变的。变量的定义有两种命令:

*SET,L1,0.2  或  L1=0.2

这两种命令效果是一样的,都是定义变量L1并赋予其0.2的初值。ANSYS APDL是没有单位的,实际建模分析只需保持各参数单位相统一即可,所以在ANSYS 命令流中不需要加单位,只有数值即可。

这之后需要进行单元的定义,在这里我们定义单元1为BEAM188,单元2为SHELL181,

各个单元的实常数等再这里不再赘述,详细可以去查看ANSYS Help文档。之后分别定义结构不同材料的弹性模量、泊松比、密度,由于结构采用混凝土材料,只需定义混凝土材料即可,弾性模型无需定义本构关系。注:每条命令后可加“!”进行命令标注,方便后期查找修改,“!”后的文本程序是不读取参与运行的。

ET,1,BEAM188   !1号单元

ET,2,SHELL181   !2号单元

......

MP,EX,1,3E11    !弹性模量

MP,PRXY,1,0.2   !泊松比

MP,DENS,1,2600  ! 密度

3

点线面建模

下面来重点介绍下建模思路,考虑到模型的复杂度与运算时间,此模型每层结构布置均一致,如此只需要采用for循环语句就能实现快速建模。遵循点线面的建模原则,首先进行模型关键点的定义,关键点的选取不仅要考虑建筑外轮廓,还要考虑结构构件的布置,此模型标准层如下图,共有160个关键点 ,结构的2至12层是完全一致的,我们可以采用下列命令,将160个点for循环12次。

*do,i,1,12

k,1+(i-1)*200,0,0,5.7+(i-1)*3.150

......

k,160+(i-1)*200,22,22,5.7+(i-1)*3.150

*enddo

这条命令可以翻译文字为:

(关键点,点编号,x坐标,y坐标,z坐标)

每循环一次,关键点编号增加200,层高增加3.15(底层层高5.7,其它层层高3.15)

平面关键点

之后,同样通过for循环语句,由点成线,由线成面,结构梁柱需定义线,墙板需定义面。大致思路如下:

*do,i,1,12

L,1,2     ! 连接1,2点为线

......

*enddo

*do,i,1,11

A,(i-1)*200+1,(i-1)*200+2,i*200+3,i*200+4   !由1,2,3,4点生成面

......

*enddo

至此模型初步建立完毕如下二图。

结构平面图

结构整体模型

4

网格划分

在划分网格的同时将单元属性赋予到不同的模型构件,由于结构十分规则,同样采用for循环进行属性赋予及网格划分。其中有个很好用的命令select进行特定目标的选取,通过ksel(点选),lsel(线选),asel(面选)命令能够实现不同位置、不同材料的点、线、面、节点、单元的选择、全选、反选操作,用熟了能节省大量的时间。采用这种方式能通过几个for循环语句在几秒钟内实现特定构件的网格划分工作。

LESIZE,ALL,0.2, , , ,1, , ,1, ! 线长度为0.2

*do,i,1,15

ASEL,S,LOC,Z,5.70+3.150*(i-1)  !坐标选定

AATT,       1, ,   2,       0,   5   !属性赋予

AMESH,ALL  !划分网格

*enddo

分网完成后,需要通过节点合并命令合并重合节点。

ALLSEL,ALL

NUMMRG,ALL, , , ,LOW

在这里还需要再提一句,在建模的构思阶段就要着重注意下建模的原则和思路,因为在划分完网格后,相邻构件的重合部分是要求共节点的,这样才能将整个模型连成一个整体,而不是独立分开的各个构件。比如下图这三个面,前两种分网方式保证三个面的交界网格都是贯通的,每两个面的交线上都是共节点的,而第三种方式红色区域很明显网格过渡是断开的,这样会导致节点分离,三个面连不成一个整体。共节点在这种大模型中是十分重要的问题,稍不注意就会导致分析失败,需花费大量时间进行查错,重新建模。

三面模型

网格划分方式1

网格划分方式2

网格划分方式3

5

结尾

完成前面的重头戏后,接下来的后处理部分就比较简单了。关于下面的有限元分析的结果输出请参阅当结构设计遇到遗传算法-应用ANSYS和MATLAB联合仿真优化设计探索(一)

相关阅读当结构设计遇到遗传算法-应用ANSYS和MATLAB联合优化设计探索(一)当结构设计遇到遗传算法-应用ANSYS和MATLAB联合优化设计探索(二)当结构设计遇到遗传算法(一)当结构设计遇到遗传算法(二)当结构设计遇到遗传算法(三)盈建科,二次开发Python爬虫实战——从太平洋地震工程研究中心数据库自动下载地震波时程用袋鼠让犀牛(Rhinoceros)跳起来!从拓扑优化看“树形柱”的生长拓扑优化技术寻找高层建筑支撑体系最优布置方案当桁架遇到拓扑优化

为了方便大家交流技术和互通行业资讯,请添加我们“大菲儿”微信,加入相关讨论交流群。

ansys参数化编程与命令手册_当结构设计遇到遗传算法应用ANSYS和MATLAB联合仿真优化设计探索(前传)...相关推荐

  1. ansys参数化编程与命令手册_查看Bash手册--man命令

    大多数linux发行版都有用来查找shell命令和其他GNU工具信息的在线手册,有的书中把这个手册叫做bash手册,可以通过man命令来查找shell命令或者GNU工具的手册页面.阅读手册页面最好有一 ...

  2. 思科命令手册_【必看】思科网络设备型号大全

    关注我,你的眼睛会怀孕 思科公司是全球领先的网络解决方案供应商.Cisco的名字取自San Francisco(旧金山),那里有座闻名于世界的金门大桥.可以说,依靠自身的技术和对网络经济模式的深刻理解 ...

  3. 华为命令手册_网络故障排查之tracert命令详解

    1.Tracert简介 Tracert是测试报文从发送端到目的地所经过的路由的方法.它能够直观展现报文在转发的时候所经过的路径.Tracert基于ICMP协议来实现的.当网络出现故障时,用户可以使用T ...

  4. 华为路由器命令手册_华为路由器+蒲公英路由器,如何做双层路由器映射?

    今天上午,有一个客户反馈,他们的软件和linux系统无法实现外网访问了.客户的网络拓扑是这样的,光猫接蒲公英路由器X5,蒲公英路由器的LAN 口IP是192.168.0.1,然后从蒲公英路由器的LAN ...

  5. 华为路由器命令手册_用数据说话,华为路由Q2 Pro与网件R7800对比测评

    相信各位在家用网的时候都有这样的经历:白天在客厅(路由器)使用没问题,但到了卧室躺床上玩手机,却出现了视频播放卡顿的问题:过年期间视频通话,从一个屋走到另一个屋,偶有波动或者信号弱的情况.其实,以上原 ...

  6. hfss matlab联合仿真_一文搞定matlab 与 STK 联合调试仿真环境配置(文末附软件下载链接)...

    最近在做导师给的课题:卫星星座的快速优化设计. 需要用到matlab 和 STK 来进行联合调试仿真,但是这第一步的环境配置就让我头疼了几天.在好几次重装,失败和查找资料之后,我终于成功实现了matl ...

  7. 单相桥式相控整流电路multisim仿真_单相半波可控整流电路电阻负载的Matlab Simulink仿真...

    1.单项半波可控整流电路电阻负载电路图 2.Matlab Simulink仿真图 3.AC Voltage Source(交流电源)参数设置 4.Pulse Generator(触发环节)参数设置 A ...

  8. quartus怎么仿真波形_单相半波可控整流电路电阻负载的Matlab Simulink仿真

    1.单项半波可控整流电路电阻负载电路图 2.Matlab Simulink仿真图 3.AC Voltage Source(交流电源)参数设置 4.Pulse Generator(触发环节)参数设置 A ...

  9. vc与matlab联合,浅析VC与Matlab联合编程(二) - VC知识库文章

    浅析VC与Matlab联合编程(二) 作者:邓科 下载源代码 在"浅析VC与Matlab联合编程 (一)"中简单介绍了VC与matcom的接口编程,实现了VC调用matcom的一个 ...

最新文章

  1. mysql学习之-密码管理(默认密码,修改密码,解决忘记密码)
  2. 组态王中时间存access怎么存,组态王通过Access数据库起始截止日期查询方法
  3. 语音识别(一):speech-recognition的实验案例
  4. mysql 表与表之间的条件比对_Mysql分库分表面试题(mysql高可用方案解析)
  5. java 同步块 抛出异常_java问题合集(一)
  6. NK3C程序资源占用分析
  7. 【原创】uC/OS 中LES BX,DWORD PTR DS:_OSTCBCur的作用及原理
  8. 你值得拥有的 11 个前端开发利器
  9. [转]Java NIO通俗易懂简明教程
  10. 51nod 最小方差
  11. win10 svn无法成功完成操作,因为文件包含病毒或潜在的垃圾软件
  12. 【中文分词】最大熵马尔可夫模型MEMM
  13. SICP 第二章的练习
  14. [RK3399][Android7.1] 调试笔记 --- Recovery模式下无法挂载/data分区
  15. 抖音四面被拒,再战头条终获offer,在线面试指南
  16. shell win10 改成cmd_Win10小技巧:如何将在此处打开命令改为CMD或Powershell?
  17. ROS2进行人脸识别face_recognition
  18. 爪哇国新游记之三----自创动态数组类
  19. 电话机器人是如何筛选意向客户的
  20. STM32单片机学习笔记

热门文章

  1. 最新百度翻译爬虫 获取sign(python爬虫)
  2. PMBOK泛读(第六章) - 项目进度管理
  3. php判断文本不存在,nginx 判断访问文件或目录不存在rewrite
  4. 青春(作者是塞缪尔.厄尔曼)
  5. 专门搜安全员题目的考试搜题软件有没有?
  6. 进程间的消息队列及msgtype的用法
  7. ✠OpenGL-5-纹理贴图
  8. 提升下属逆商的44种方法(逆商节选)
  9. 无线模块超远距离传输中实现中继的方法
  10. 机器学习小组知识点45:批量梯度下降法(BGD)和随机梯度下降法(SGD)的代码实现Matlab版1