marine4246 发表于 2009-11-21 10:28

谱分析,如何同时加入x、y、z三个方向的加速度反应谱?

我有x、y、z三个方向的加速度反应谱,想用ansys的谱分析做地震响应计算,看了很多例题都是只加了一个方向的谱,请教各位如何同时加入三个方向的谱,非常感谢

02206304 发表于 2010-5-22 13:47

*SET,NT,500               !   假如有500个地震波数据点
*SET,DT,0.02                !   每个地震波数据点之间的时间间隔是0.02

*dim,AC1,,NT,1            !定义X方向加速波的数组
!*dim,AC2,,NT,1             !定义Y、Z方向加速波的数组 如果有的话
!*dim,AC3,,NT,1

*vread,AC3(1),record,txt,,JIK,1,NT !读入X方向地震波文件(elcentro_EW.txt)到数组
(F16.2)

!*vread,AC2(1),elcentro_NS,txt,,JIK,1,NT !读入Y、Z方向地震波文件、如果有的话
!(F16.2)

!*vread,AC3(1),elcentro_EW,txt,,IJK,1,NT
!(F16.2)

*DO,I,1,NT               !加载求解
ACEL,AC1(I),AC2(I),AC3(I)
TIME,I*DT   
SOLVE
这个应该可以还有一种不知道可不可以
三向输入简化后的单向输入

首先,将三个方向的地震加速度放到一个文本文件里,如accexyz.txt,在这个数据文件里共放三列数据,每列为一个方向的地震加速度值,这里仅给出数据文件中前几行的数据:

   -0.227109E-02   -0.209046E+00    0.467072E+01

   -0.413893E-02   -0.168195E+00    0.261523E+01

   -0.574753E-02   -0.157890E+00    0.809014E-01

   -0.731227E-02   -0.152996E+00    0.119975E+01

   -0.876865E-02   -0.138102E+00    0.130902E+01

   -0.101067E-01   -0.131582E+00    0.143611E+00

.......................

然后,再建一个文本文件用来存放三个方向的地震加速度时间点,如time.txt,在这个数据文件里仅一列数据,对应于加速度数据文件里每一行的时间点,这里给出数据文件中前几行数据:

    0.100000E-01

    0.200000E-01

    0.300000E-01

    0.400000E-01

    0.500000E-01

    0.600000E-01

.......................

编写如下的命令流文件,并命名为acce.inp

*dim,ACCEXYZ,TABLE,2000,3                     !01行

*vread,ACCEXYZ(1,1),accexyz,txt,,JIK,3,2000   !02行(3e16.6)                                    !03行

*vread,ACCEXYZ(1,0),time,txt                  !04行

(e16.6)                                       !05行

ACCEXYZ(0,1)=1                              !06行

ACCEXYZ(0,2)=2                              !07行,同上

ACCEXYZ(0,3)=3                              !08行,同上

finish

/SOLU

ANTYPE,trans

btime=0.01               !定义计算起始时间

etime=15.00            !定义计算结束时间

dtime=0.01               !定义计算时间步长

*DO,itime,btime,etime,dtime

time,itime

AUTOTS,0

NSUBST,1, , ,1

KBC,1

acel,ACCEXYZ(itime,1),ACCEXYZ(itime,2),ACCEXYZ(itime,3)   !施加三个方向的地震加速度

SOLVE

*ENDDO

最后,在命令窗口里输入/input,acce,inp即可对结构进行地震动力分析。

说明和讨论:

1、命令流中各行说明:

01行:定义2000行,3列的数组,(行数根据数据文件里加速度点数来定)ACCEXYZ用来存放三个方向的加速度值。

02行:从数据文件accexyz.txt里读加速度值到数组ACCEXYZ,2000为行数,可根据情况修改。其中的JIK,3,2000非常重要,它决定着将从加速度数据文件中数据输入到ACCEXYZ数组时的存放格式,这里用到按JIK方式变化,即读进来的数据依次放入ACCEXYZ(I,J)(J从1到3,I从1到2000,K默认从1到1)。根据这行命令下面(3e16.6)的格式,每次从数据文件里读一行三个数据,分别放入ACCEXYZ(1,1)、ACCEXYZ(1,2)、ACCEXYZ(1,3),接着再读下一行的三个数据,分别放入ACCEXYZ(2,1)、ACCEXYZ(2,2)、ACCEXYZ(2,3),依次类推。当然依据数据文件的格式,也可以选用IJK, IKJ, JIK, JKI, KIJ, KJI等格式,其中IJK为默认。

03行:读数据的格式,每行三个数值。由于数据文件中的数据是用科学记数年法表示的,因此,这里也用相应FORTRAN的科学记数法的格式。如果数据文件里的数值是如“0.2876   1.2333   2.9938”这样的格式,此行的数据格式也就修改为“(3f10.4)”这样的格式。

04行:从数据文件time.txt里读时间值到数组ACCEXYZ的第零列。

06行:将数组ACCEXYZ的第零行赋值,如果不对行插值的话也可以不赋值

heshulin 发表于 2010-5-30 18:42

原帖由 02206304 于 2010-5-22 13:47 发表 http://www.chinavib.com/forum/images/common/back.gif
*SET,NT,500               !   假如有500个地震波数据点
*SET,DT,0.02                !   每个地震波数据点之间的时间间隔是0.02

*dim,AC1,,NT,1            !定义X方向加速波的数组
!*dim,AC2,,NT,1   ...


朋友你好 我想请教一个问题 我看楼主貌似问的是反应谱 你说的貌似是时程加速度 你说的应该是时程分析吧 我是初学者 希望请你指点一下!
页: [1]
查看完整版本: 谱分析,如何同时加入x、y、z三个方向的加速度反应谱?