在 ansys 中如何 施加 地震波_第1页
在 ansys 中如何 施加 地震波_第2页
在 ansys 中如何 施加 地震波_第3页
在 ansys 中如何 施加 地震波_第4页
在 ansys 中如何 施加 地震波_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

./三向输入简化后的单向输入

首先,将三个方向的地震加速度放到一个文本文件里,如accexyz.txt,在这个数据文件里共放三列数据,每列为一个方向的地震加速度值,这里仅给出数据文件中前几行的数据:-0.227109E-02-0.209046E+000.467072E+01-0.413893E-02-0.168195E+000.261523E+01

-0.574753E-02-0.157890E+000.809014E-01

-0.731227E-02-0.152996E+000.119975E+01-0.876865E-02-0.138102E+000.130902E+01

-0.101067E-01-0.131582E+000.143611E+00

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

0.200000E-010.300000E-010.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.28761.23332.9938"这样的格式,此行的数据格式也就修改为"<3f10.4>"这样的格式。

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

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

对于地震波的输入,可以把荷载记录做成文件,利用apdl的读取功能读入倒数据库中。下面的例子是自己编的一个小文件。修改一下可以更简洁。有用到的朋友自己作一下把。

fini

/config,nres,1000

*dim,aceX,TABLE,3000,1

*dim,aceY,TABLE,3000,1

*dim,aceZ,TABLE,3000,1

*creat,ff

*vread,aceX<1,1>,acex,txt,,1

<e16.6>

*vread,aceX<1,0>,ACETT,,,1

<e17.6>

ACEX<0,1>=1

*end

/input,ff

*creat,ff

*vread,aceY<1,1>,acey,txt,,1

<e16.6>.*vread,aceY<1,0>,ACETT,,,1

<e17.6>

ACEY<0,1>=1

*end

/input,ff

*creat,ff

*vread,aceZ<1,1>,acez,txt,,1

<e16.6>

*vread,aceZ<1,0>,ACETT,,,1

<e17.6>

ACEZ<0,1>=1

*end

/input,ff

!地震波时程记录分成了3个文件,每个文件是一列。分别记录x,y,z方向的加速度。acett是时间记录。

这样就可以把加速度记录读取倒ansys数据库中作为数组。

也可以把加速度记录做成一个文件,这样程序就简单多了。大家可以试看看修改一下。

下面是计算部分语句:

/SOLU

ANTYPE,trans

!求解其自己选了

TM_START=0.01

TM_END=15.00

TM_INCR=0.01

*DO,TM,TM_START,TM_END,TM_INCR

TIME,tm

alpha,

BETAD,

ACEL,acex<tm>,acey<tm>,acez<tm>

SOLVE

*ENDDO

fini

!借助于ANSYS动力分析基本功能和APDL语言以及有关的地震资料编写的SEISMIC程序

NT=100

DT=0.02

*DIM,ac,,NT

/INPUT,FF,txt

/SOLU

NSUBST,1,,,1

OUTRES,ALL,1

ANTYPE,TRANS

*DO,I,1.NT

ACEL,0.01*ac<I>*1.3,0,0!ac<I>的值由地震资料获得

TIME,I*DT

SOLVE

*ENDDO

地震分析算例<ANSYS>土木工程中除了常见的静力分析以外,动力分析,特别是结构在地震荷载作用下的受力分析,也是土木工程中经常遇到的问题。结构的地震分析根据现行抗震规要求,一般分为以下两类:基于结构自振特性的地震反应谱分析和基于特定地震波的地震时程分析。

本算例将以一个4质点的弹簧-质点体系来说明如何使用有限元软件进行地震分析。更复杂结构的分析其基本过程也与之类似。关键知识点:

<a>模态分析

<b>谱分析

<c>地震反应谱输入

<d>地震时程输入

<e>时程动力分析

<1>在ANSYS窗口顶部静态菜单,进入Parameters菜单,选择ScalarParameters选项,在输入窗口中填入DAMPRATIO=0.02,即所有振型的阻尼比为2%

<2>ANSYS主菜单Preprocessor->Elementtype->Add/Edit/Delete,添加Beam188单元

<3>在ElementTypes窗口中,选择Beam188单元,选择Options,进入Beam188的选项窗口,将第7个和第8个选项,Stress/Strain<SectPoints>K7,Stress/Strain<SectNods>K8,从None改为MaxandMinOnly。即要求Beam188单元输出积分点和节点上的最大、最小应力和应变

<4>在ElementTypes窗口中,继续添加Mass21集中质量单元

<5>下面输入材料参数,进入ANSYS主菜单Preprocessor->MaterialProps->MaterialModels菜单,在MaterialModelNumber1中添加Structural->Linear->Elastic->Isotropic属性,输入材料的弹性模量EX和泊松比PRXY分别为210E9和0.3。

<6>继续给MaterialModelNumber1添加Density属性,输入密度为7800。

<7>继续给MaterialModelNumber1添加Damping属性,采用参数化建模,输入阻尼类型为Constant,数值为DAMPRATIO

<8>接着建立梁单元的几何属性,和上一个例子一样,采用Sections建模,进入ANSYS主菜单Preprocessor->Sections->Beam->CommonSections,选择Sub-Type为工字型,截面尺寸W1=0.2,W2=0.2,W3=0.5,t1=0.01,t2=0.01,t3=0.008

<9>通过实参数输入集中质量单元的质量和转动惯量,在ANSYS主菜单中选择Preprocessor->RealConstants->Add/Edit/Delete菜单,在RealConstants窗口中选择Add,在ElementtypeforRealConstants选择Mass21,在RealConstantforNumber1窗口中输入1.6E2,1.6E2,如图所示。即该质量单元在X和Y方向的质量都为160,由于本例子模型为平面问题,所以不必考虑Z方向的质量,同样也不考虑单元的转动惯量。

<10>继续添加第二类集中质量,过程和上面一样,但是输入的质量数值为1.2E2,1.2E2

<11>完成以上工作就完成了模型的基本数据准备,下面开始建立物理模型。

<12>在ANSYS主菜单中选择Preprocessor->Modeling->Create->Keypoints->InActiveCS,依次输入关键点编号和坐标:需要说明的是,关键点6为后面建立梁单元所需的截面方向控制点,在上一个例子中已经做过介绍。

<13>完成关键点输入后下面建立直线模型。在ANSYS主菜单中选择Preprocessor->Modeling->Create->Lines->Lines->StraightLine,依次连接关键点1~5。

<14>下面给建立完的几何模型赋予材料属性,在ANSYS菜单中选择Meshing->MeshAttributes->PickedLines,选中所有的直线,进入LineAttributes窗口,选择相关选项材料属性,实参数,单元类型和截面类型都为1,点击OK后输入关键点6作为截面方向控制点。

<15>在ANSYS主菜单中选择Preprocessor->Meshing->SizeCntrls->ManualSize->Lines->PickedLines,在ElementSizesonPickedLines窗口中设定NDIVNo.ofelementdivisions为3,即将每条直线分为3段

<16>在ANSYS主菜单中选择Preprocessor->Meshing->Mesh->Lines,选择所有的直线,完成直线的网格划分。

<17>为了便于后面操作,将网格划分后的单元和节点编号进行适当的清理。在ANSYS主菜单中选择Preprocessor->NumberingCtrls->MergeItems,在MergeCoincidentorEquivalentlyDefinedItems窗口中选择All,清理所有重复的元素。同样选择NumberingCtrls->CompressNumber菜单,在CompressNumber中选择All,对节点和单元进行重新编号。

<18>下面建立集中质量单元,采取直接输入单元的方法建立。在ANSYS主菜单中选择Preprocessor->Modeling->Create->Elements->ElemAttributes,在ElementAttributes中设定单元类型编号为2MASS21,材料编号任意,实参数编号为1。如图所示

<19>在ANSYS主菜单中选择Preprocessor->Modeling->Create->Elements->AutoNumbered->ThruNodes,选择节点2,建立第一个集中质量。

<20>再次进入第18步ElementAttributes窗口,设定实参数<Realconstantsetnumber>为2。

<21>重复19步,选择节点8,14,20,建立其他的三个集中质量单元。

<22>到此完成所有建模工作,下面开始进行结构分析

<23>进入ANSYS主菜单中Solution功能模块,选择Solution->DefineLoads->Apply->Structural->Displacement->OnNodes,选择节点1,设定约束所有的自由度。

<24>首先做一次静力分析,选择ANSYS主菜单Solution->AnalysisType->NewAnalysis,设定分析类型为Static

<25>选择ANSYS主菜单Solution->Solve->CurrentLS选项,进行一次静力分析

<26>分析完后,下面进行模态分析,在ANSYS主菜单中选择Solution->AnalysisType->NewAnalysis,选择分析类型为Model

<27>在ANSYS主菜单中选择Solution->AnalysisType->AnalysisOptions,输入模态分析方法为子空间法<Subspace>,求解8阶模态,同时需要作模态扩展,扩展的模态为8阶,并计算单元应力和应变,输入窗口如图

<28>再次选择ANSYS主菜单Solution->Solve->CurrentLS,计算当前问题

<29>这时,如果需要看结果,可以进入后处理模块,即ANSYS主菜单GeneralPostproc,可以看到计算的各阶频率和振型。

<30>完成结构自振分析后,下面就可以进行反应谱分析

<31>进入ANSYS主菜单Solution->AnalysisType->NewAnalysis,选择分析类型为Spectrum。

<32>在ANSYS主菜单Solution->AnalysisType->AnalysisOptions中,选择谱分析的类型为单点输入<Sing-ptresp>

〔33>在ANSYS主菜单中选择Preprocessor->Loads->LoadStepOpts->Time/Frequenc->Damping,输入所有的阻尼为DAMPRATIO,如图所示〔

34>下面需要定义地震的反应谱。我国规给定的是基于加速度的反应谱。在ANSYS主菜单中选择Solution->LoadStepOpts->Spectrum->SinglePoint->Settings,设定反应谱类型为地震加速度,放大系数为1,输入方向为X方向〔1,0,0。

<35>接下来开始输入地震反应谱。这里输入的反应谱按7度多遇地震,取地震影响系数为0.08,第一组,III类场地,卓越周期Tg=0.45s。值得注意的是,我国规给的反应谱横坐标是周期,ANSYS定义的反应谱横坐标是频率,应该注意上述区别。选择ANSYS主菜单Solution->LoadStepOpts->Spectrum->SinglePoint->FreqTable,输入频率反应谱Freq1~Freq12为0.167,0.25,0.333,0.44444,0.5,0.667,1,1.25,1.667,2.222,10,100000,如图

<36>选择ANSYS主菜单Solution->LoadStepOpts->Spectrum->SinglePoint->SpectrValues,输入对应的反应谱数值依次如下:

<37>最后选择ANSYS主菜单Solution->LoadStepOpts->Spectrum->SinglePoint->ModeCombine,设定振型组合方式为SRSS法,如图所示

<38>选择ANSYS主菜单Solution->Solve->CurrentLS,计算反应谱结果

<39>进入ANSYS主菜单后处理模块GeneralPostproc,在ANSYS窗口顶部菜单选择File->Readinputfrom,选择文件后缀名为*.mcom的文件

<40>进入ANSYS主菜单GeneralPostproc->PlotResults->DeformedShapes,选择绘制变形后形状和结构形状,得到地震反应谱分析的结构变形如图

<41>最后我们来进行地震时程分析,进行地震时程分析以前,首先要有一个地震时程记录,本例子给定的地震时程记录总长20秒,记录点间隔0.02s,共有1001个记录点。该地震记录存放在RECORD.TXT文件中。<42>首先建立两个变量,在ANSYS窗口顶部菜单选择Parameters->Scalarparameters,在窗口中输入NT=1001,即总共1001个记录点,DT=0.02,即记录点间隔0.02s

<43>然后还需要定义一个数组来存放地震记录,选择ANSYS窗口顶部菜单Parameters->Arrayparameters->Define/Edit,在弹出的ArrayParameters窗口中点击Add按钮,在AddNewArrayParameter窗口中输入数组的名称为AC,行数为NT个,如图所示。

<44>下面从数据文件中读入地震时程记录。选择ANSYS窗口顶部菜单Parameters->Arrayparameters->Readfromfile,在弹出窗口中依次输入将数据读入的数组名称AC,可以用Browse选择目标数据文件,最后要给出数据读入的格式〔F8.3,可以参考Fortran相应的文件输入输出要求。

<45>完成数据读入后就可以进行地震反应分析。由于本次地震分析一共要进行1001步,超过了ANSYS默认的最大1000步限制,因此首先需要进行调整。在ANSYS的命令输入窗口,输入以下命令:Finish/CONFIG,NRES,20000

<46>进入ANSYS主菜单Solution->AnalysisType->NewAnalysis,指定分析类型为瞬态分析Transient,Solutionmethod可以选择Full。

<47>进入ANSYS主菜单Solution->AnalysisType->Sol'nControls,在SolutionControls窗口里面选择Transient页面,设定瑞雷阻尼的数值。由于阻尼的机理十分复杂,因此不同问题可能各不相同,这里仅介绍一种阻尼的取法。输入质量阻尼系数为2*DAMPRATIO*FREQ1*2*3.1415926,刚度阻尼系数为2*DAMPRATIO/<FREQ1*2*3.1415926>,FREQ1为结构的第一阶自振频率。

<48>下面将用一组循环控制语句来定义作用在结构上的加速度并进行计算。读者可以将下面这部分语句用任意编辑器〔比如windows的记事本输入好以后复制ANSYS的输入栏中。*DO,I,1,1001!对变量I循环1001ACEL,AC<I>,0,0!对结构施加X方向加速度TIME,I*0.02!计算时间步长为0.02sOUTRES,ALL,ALL!输出所有结果SOLVE!求解*ENDDO!循环结束

<49>下面介绍适用ANSYS的时程后处理器TimeHistPostpro来处理计算结果,在ANSYS主菜单上选择TimeHistPostpro,这时会弹出时程变量窗口TimeHistoryVariables。点击工具栏上第一个绿色加号按钮,添加时程变量。在AddTime-HistoryVariable窗口中选择要添加的变量为节点的X方向位移。

<50>选择第20号节点,回到时程变量窗口TimeHistoryVariables,点击工具栏上第三个按钮,即绘制出节点的位移时程曲线如图*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,AC1<1>,elcentro_EW,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,,JIK,1,NT

!<F16.2>*DO,I,1,NT!加载求解

ACEL,AC1<I>,AC2<I>,AC3<I>

TIME,I*DT

SOLVE

!************读入地震波数据************

*DIM,ELC,ARRAY,1,150,0,,,!定义数组

*CREATE,ansuitmp!读入数据

*VREAD,ELC<1,1>,'ELC','txt','',150,,,,,,

<e9.3,e11.3>

*END

/INPUT,ansuitmp

!****************求解****************

FINI

allsel

/SOLU

!eqslv,pcg,1e-4

ANTYPE,4!指定分析类型为瞬态动力学分析

TRNOPT,full!瞬态动力学分析采用模态叠加法

!**************地震载荷**************

*DO,T,1,150,1!循环读入地震数据并求解

TIME,0.001*T!设置时间步

KBC,0!指定载荷为递增载荷

NSUB,1!设定子步数为1

DAMPRATIO=0.05

pi=3.1415!结构的阻尼比

FREQ1=1.0721*2*pi!角频率变圆频率

freq2=1.0927*2*pi

!通过模态求解得出频率

ALPHAD,2*DAMPRATIO*FREQ1*freq2/<freq1+freq2>!质量阻尼

BETAD,2*DAMPRATIO/<FREQ1+freq2>!刚度阻尼

ACEL,ELC<1,T>/347,,!设定x,y方向加速度

ALLSEL!选中所有元素

SOLVE!求解

*ENDDO

SAVE!保存

FINI

建立acelx、acely两个地震波文本〔txt,文本中第一列为时间,第二列为加速度,如果两列之间为两空格,则加速度为负,一个空格则加速度为正,190行,19秒,间隔0.1记录一个值麻烦你看看错在哪,

*dim,tjx,array,190,2

*dim,tjy,array,190,2

*create,ansuitmp

*vread,tjx<1,1>,ACELX,txt,,jik,2,190

<E9.3,E11.3>

*end

/input,ansuitmp

*create,ansuitmp

*vread,tjy<1,1>,ACELY,txt,,jik,2,190

<e9.3,e11.3>

*end

/input,ansuitmp

!对于地震波的输入,可以把荷载记录做成文件,利用apdl的读取功能读入倒数据库中。下面的例子是自己编的一个小文件。修改一下可以更简洁。有用到的朋友自己作一下把。

fini

/config,nres,1000

*dim,aceX,TABLE,3000,1

*dim,aceY,TABLE,3000,1

*dim,aceZ,TABLE,3000,1

*creat,ff

*vread,aceX<1,1>,acex,txt,,1

<e16.6>

*vread,aceX<1,0>,ACETT,,,1

<e17.6>

ACEX<0,1>=1

*end

/input,ff

*creat,ff

*vread,aceY<1,1>,acey,txt,,1

<e16.6>

*vread,aceY<1,0>,ACETT,,,1

<e17.6>

ACEY<0,1>=1

*end

/input,ff

*creat,ff

*vread,aceZ<1,1>,acez,txt,,1

<e16.6>

*vread,aceZ<1,0>,ACETT,,,1

<e17.6>

ACEZ<0,1>=1

*end

/input,ff

!地震波时程记录分成了3个文件,每个文件是一列。分别记录x,y,z方向的加速度。acett是时间记录。

这样就可以把加速度记录读取倒ansys数据库中作为数组。

也可以把加速度记录做成一个文件,这样程序就简单多了。大家可以试看看修改一下。

下面是计算部分语句:

/SOLU

ANTYPE,trans

!求解其自己选了

TM_START=0.01

TM_END=15.00

TM_INCR=0.01

*DO,TM,TM_START,TM_END,TM_INCR

TIME,tm

alpha,

BETAD,

ACEL,acex<tm>,acey<tm>,acez<tm>

SOLVE

*ENDDO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论