电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

人工地震波生成程序简介VIP免费

人工地震波生成程序简介_第1页
1/4
人工地震波生成程序简介_第2页
2/4
人工地震波生成程序简介_第3页
3/4
姓名:郭勇学号:0220020128人工地震波生成程序简介一、程序设计内容及方法1、程序内容本程序根据特征周期、水平地震波影响系数最大值和地震波幅值等初始条件生成人工地震波,为结构动力分析的时程分析法提供地震波来源。2、程序设计方法(1)理论依据本程序采用三角级数法生成人工地震波。对于给定的功率谱密度函数()xS,按照下面的公式可以方便的生成以()xS为功率谱密度函数、均值为零的高斯平稳过程()at。1()cos()NkkkkatCt(1)式中:12[4()]()/1()2kxkulklCSNk(2)k为(0,2)内均匀分布的随机相角;u,l分别为正域内的上、下限值,即认为()xS的有效功率在(,)ul范围内,而范围外的()xS值可视为零。为了反映地面运动的非平稳性,采用包络函数()ft乘以平稳过程()at,()()()xtftat(3)(3)式即为人工地震波模型。()ft可根据下式确定:2221112()233/01()0ctttttttttftetttttT(4)式中:c为衰减系数,通常取值范围为0.1~1.0,本程序取0.15;1t,2t和3t根据不同实际情况取值,T为地震波持时,本程序取1t,2t分别为4s,15s,3t和T均为40s。本程序采用《建筑抗震设计规范》(GB50011-2001)中的反应谱作为目标谱,通过Kaul提出的平稳过程反应谱与功率谱的近似关系22()[()]/[2ln(ln)]TxkakkkdSSpT(5)式中:()TakS为规范反应谱;为阻尼比;dT为地震动持时;p为反应不超过反应谱值的概率,本程序取0.85。通过(3)式和(5)式即可生成人工地震波。(2)程序实现方法首先建立基于对话框的应用程序框架,添加的主要控件为3个编辑框和4个按钮。3个编辑框分别作为程序中的特征周期(对应成员变量为m_dTg)、水平地震影响系数最大值(对应成员变量为m_dAmax)和地震波幅值(对应成员变量为m_pd)3个数据的交互输入处;4个按钮分别为“生成地震波”、“输出地震波”、“输入地震波”和“退出”。添加的成员函数有:Wavegener()(生成地震波)、Wavedrawing()(绘制地震波加速度时程曲线)、OnSTART()(对应“生成地震波”按钮,实现生成地震波的功能)、OnOutput()(对应“输出地震波”按钮,实现输出数字化的地震波记录的功能)和OnInput(对应“输入地震波”按钮,实现输入数字化的地震波记录并绘制其加速度时程曲线的功能)。几点说明:a生成随机相角的程序如下:srand((unsigned)time(NULL));for(loop=0;loop<10000;loop++){inttemp=rand();temp=temp%6282+1;adFi[loop]=double(temp)/1000;}在调用rand()函数之前调用srand((unsigned)time(NULL)),这样以time函数值(即当前时间)作为种子数,因为两次调用rand函数的时间通常是不同的,这样可以每次产生的随机数序列不同。b关于绘制地震波加速度时程曲线图:采用Brush填充绘图区域背景,用Pen绘制坐标及时程曲线,用Font输出文字,其中纵坐标的最大值采用动态输出——先得到所绘制地震波的幅值,将其转换为Cstring型,然后输出。c关于数据输出和输入分别使用ofstream类和ifstream类输出和输入数据。fout<<"t"<<""<

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

人工地震波生成程序简介

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群