城市地震仿真模拟2-MATLAB生成APDL语句
仿真猫:城市地震仿真模拟1-城市数据爬取zhuanlan.zhihu.com本文主要介绍如何通过既有的建筑轮廓点生成ANSYS可以识别的APDL语句以便进行地震响应分析。
APDL建立梁柱模型
有限元分析的一般步骤为先建立几何模型再生成有限元模型,但对于梁柱等的杆系模型,可以直接创建有限元模型分析。 建模步骤如下:
- 利用*SET命令设置参数,材料取为钢材(以N、mm为单位,以N、mm为单位的好处是应力的结果单位显示为Mpa,比如Q345钢材屈服强度为345Mpa,此时对比结果可不用进行单位转换)
2. 定义单元属性、设置材料界面
3. 利用N和E命令分别生成节点和单元
4. 建立约束并求解计算,下图为施加重力荷载进行静力计算例子
5. 后处理,下图为利用*DO循环每隔30步读取一个位移结果,输出jpg格式图片
MATLAB生成APDL
利用MATLAB建立APDL语句的逻辑非常简单,本质上是对字符串的处理,利用别的编程语言同样可以实现,常用命令为:
- fopen(‘filename’,’permission’)将数据按指定格式读入到matlab中的函数,设置permission为‘w’表示可以写入。
- fprintf()将数据按指定格式写入到文本文件中的函数,其中%s 输出字符串,n为空行
- num2str()将数字转化为字符
- strcat()连接字符串
- fclose()关闭文本文件
以建立一个编号为1,坐标为1,2,3的节点为例,运行以下Matlab代码可以生成ANSYS可识别的APDL语句
clc
clear
%% 生成节点
fid = fopen('Node_1.txt', 'w');
text=strcat('N,',num2str(1),',1,2,3');
fprintf(fid, '%s n',text);
fclose(fid);
建立模型
以下根据建筑轮廓点插值中心点和内圈点,在根据内圈点生成外框架、内框架和梁
可以按照以下思路编程,编程时需注意节点和单元对应的编号:
以上采用MATLAB生成APDL的方式,根据建筑轮廓生成一个按照既定逻辑建成的建筑结构模型。
在下一篇文章中将介绍利用结构的模态和频率对生成的结构进行调整。