matlab 支点纵波,ABAQUS粘弹性边界及地震荷载施加的简单实现(Matlab生成input文件)...

思路

粘弹性边界因为能够考虑地基辐射阻尼而使得结构抗震的计算结果更趋于合理,所以在需要考虑结构地基相互作用的结构抗震计算时,是较为常用的地基边界处理和地震荷载施加方法。而ABAQUS软件是经常用来进行结构响应分析的有限元软件。下面介绍一种在ABAQUS中实现粘弹性边界及地震荷载施加的方法。

粘弹性边界是通过在有限元模型的地基边界节点上施加弹簧阻尼器实现的,在ABAQUS中的实现有以下几种方法:第一种,通过ABAQUS自有的弹簧单元spring单元和阻尼单元dashpot实现,具体的单元参数可以参考文献[1],这种较为精确;第二种是通过ABAQUS的UEL子程序实现,可以看下文献[2];还有一种是等效单元替代的方法,就是在地基周围加一层单元,然后设置近似的材料参数,参考文献[3],这一种精度较差,但实现起来较为简单。我采用的是第一种方法,但操作起来较为繁琐,具体程序及过程后面介绍。

采用粘弹性边界,其配套的地震荷载输入方法就是在已知输入地震位移和速度的情况下,计算各个时刻地基边界各个结点上应当施加的集中力荷载,然后施加荷载,一步一步的进行计算。地震荷载的施加在ABAQUS中也有两种不同的思路,文献[2]中的方法是通过ABAQUS的DLOAD和UTRACLOAD两个子程序实现。DLOAD子程序用于施加边界面的法向荷载,UTRACLOAD用于施加边界面的切向荷载。而文献[1]中则是将边界上每一个节点每个时刻的力都计算出来,然后导入到ABAQUS中作为幅值数据,对每个对应节点施加。

我最初的想法是两篇文章的思路各取一半,用文献[1]的方法实现粘弹性边界,用文献[2]的方法施加地震荷载。然而尝试了很久,发现这样做的效果并不是太好,可能我编的程序哪儿还是有问题吧。最后放弃了,统一采用文献[1]的方法实现,具体实现采用MATLAB语言生成ABAQUS的input文件,然后将生成的input文件在模型文件的指定位置插入,用ABAQUS运行即可。

MATLAB程序与运行前的准备工作

4ef688868b93c20177927a0243e4d21d.png

首先需要准备一些必要的数据文件(上图中红色框内的文件),其余黄色框内为模型文件,蓝色框内的文件为程序运行后的生成文件,

boundary1~5.rpt是从ABAQUS反力文件中提取的反力文件,其值代表某一节点的控制面积,可以通过在地基边界(5个面)施加值为1的压力荷载,即可提取得到这些反力文件;

coord_point.rpt为5个边界面上节点的坐标文件,提取方法可以在很容易的百度到;

DIS.txt是三个方向地震波的位移文件;

VEL.txt是三个方向地震波的速度文件;

job-996.inp是模型的inp文件;

Amplitude.inp里面是计算过程中边界节点上随时间要施加的所有集中力荷载,文件较大;

load.inp是将Amplitude.inp里面的幅值施加到对应节点的荷载命令;

springs&dashpot.inp是模型地基边界施加的弹簧阻尼器文件;

三个input文件在模型inp文件中的插入位置:

记住springs&dashpot.inp在Assembly部分,所以搜索到关键字*End Assembly,把springs&dashpot.inp放在*End Assembly之前,Amplitude.inp放在*End Assembly之后,load.inp放在load部分即可,如下所示

·································

·································

*Include, Input= springs&dashpot.inp

*End Assembly

*Include, Input=Amplitude.inp

·································

·································

** LOADS

**

*Include, Input=load.inp

**

** OUTPUT REQUESTS

以下为MATLAB程序,记得依据模型修改标红的参数准备并必要的文件

%%%%

%%%%-----------------------------说明------------------------------------

%%%%

%         1.本程序用于ABAQUS隐式计算的粘弹性边界的inp文件及荷载输入文件的生成

%         2.需要准备5个边界的节点反力文件(用于节点提取控制面积)、地震动位移和速度文件以及边界节点坐标文件

%         3.输出为三个文件,springsanddashpot.inp用于施加粘弹性边界;Amplitude.inp为各节点幅值;load.inp为荷载文件

%         4.首先生成Boundray_point,保存节点编号、节点坐标、控制面积

%         5.再生成弹簧阻尼器的input文件

%         6.再生成荷载文件等

%                                                      by w_tao

%                                                      2018/10/01

%%%%---------------------------------------------------------------------

%%%%

%%%%---------------地基及相关计算参数------------------------------------

%%%%

d_time=0.01;

%地震波的时间间隔,也将是计算步长

Z0=-600

%地基底面坐标,Z方向为垂直方向

Z2=0

%地基地面坐标

H=Z2-Z0

%地基高度

X0=

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值