[动力学][地震工程] 一个有趣的问题: SPECTR中的Newmark-Beta法计算反应谱发散?

实干、实践、积累、思考、创新。 一个遗留了好几年的问题,起因是一位网友找了条十分特殊的自己合成波测试 SPECTR 2015 (当时搞选波工具,SPECTR是仿Seismosignal的界面做的),结果发现Newmark法计算的反应谱结果是发散的,之所以说“特殊”,是因为其他波都没出现这个问题(其他波不同方法计算都是重合的),由于一般波测试没问题,而且默认用的逐步精确法,十分稳健,当时没太在意,就去研究其他东西去了,但是问题倒是记录到了word,一直放在硬盘的某个角落,电脑换了几轮,但记录的这个word每次都舍不得删掉,虽然极其碍眼,今天又整理硬盘,又看到了这个word,这次决定把这个word删掉,一次性解决问题,于是打开以前的代码,果然看回好几年前写的代码,写得的确丑,还有点乱,但仔细检查公式倒是没问题,那问题到底出在哪?最后灵机一动,发现问题在加速度的递推公式上,当时采用了增量法的NEWMARK递推公式,各step的加速度均通过上一步的加速度加上加速度增量逐步累加得到,而可能对于这条波,恰好出现了浮点数精度丢失。于是把加速度改为平衡方程反推,果然问题解决了!!!改天更新SPECTR 2022!!! PS:浮点数精度丢失,整型数溢出是编程中很难发现的bug,隐藏最深。Floating point precision lost and integer overflow is a hard-to-find bug in programming. 相关话题 ( Related Topics) [01]. [Tool] SPECTR – A program for Response …

[动力学][地震动] SPECTR与SeismoSignal反应谱计算有差异?

实干、实践、积累、思考、创新! 小伙伴用SPECTR (  [软件][工具] SPECTR (v1.0) – A program for Response Spectra Analysis [SPECTR地震波反应谱计算程序]  )及SeismoSignal做了个反应谱分析对比,发现结果有差异。 如下,对自带的chichi.data地震波进行加速度谱分析。发现差异主要是在0%阻尼比的加速度反应谱上,SPECTR算出来最大是1.77,而seismosignal是1.96,比SPECTR大。 仔细检查原因,发现引起这个差别的主要原因是,SPECTR默认采用的是逐步精确解析法(Piecewise Exact Method)(Nigam-jennings法),该方法不受积步长影响,是更加准确的,而seismosignal 默认采用的是newmark beta法,也只有newmark beta法。 seismosignal 默认采用的是newmark beta: 于是将SPECTR中的积分方法改为newmark beta法,同时参数取值与seismosignal保持一致,然后再重新计算。结果显示,此时SPECTR中的计算结果最大值也是1.96,与seismosignal一致。 因此可以断定这个问题是因为Newmark beta法的积分步长引起的,因为Newmark beta法的计算精度与积分步长有关,尤其是对于阻尼比较小,加速度响应较为敏感。在SPECTR中将Newmark …

[反应谱][动力学][抗震] 不同阻尼比反应谱曲线的相交现象 (The Curve Intersection Phenomenon of Response Spectra with Different Damping Ratios)

实干、实践、积累、思考、创新。 采用 SPECTR反应谱分析软件 (下载链接: http://www.jdcui.com/?p=1875 ) 对几个地震波进行位移谱的求解,结果如图1~图5所示,可以发现,随着阻尼比的增大,大部分地震波在各周期范围内反应谱值减小。但是部分地震波在某些周期范围内,阻尼比增大,但是位移谱值不一定减小。 在图形上表现为不同阻尼比的反应谱曲线在某些周期范围内出现相交的现象(见图1及图3)。同样,拟加速度反应谱也存在这个现象,因为拟加速度反应谱是由位移谱转换过来的。 初看这个现象感觉很奇怪,其实仔细想也十分正常。 以图1的反应谱为例,在周期2.5s左右出现明显的相交现象。把2.5s周期各阻尼比单自由度结构的位移时程绘制出来,见图6. 由图6可见,各阻尼比下,位移时程曲线的整体趋势比较一致,该凸的地方大家一起凸起来,该凹的地方一起凹下去,即趋势是一致,但是随着阻尼比的增大,出现绝对值最大值的时间不同了。 如图,阻尼比为20%的位移最大值出现在30s左右,其他阻尼比下位移绝对值最大值出现在40s左右。且阻尼比增大到20%后绝对值比其他阻尼比在40s左右出现的绝对值大。因此不同阻尼比的反应谱曲线就出现了交点。 因此,不同阻尼比的反应谱曲线可能出现交点。因为,反应谱纵坐标是绝对值。阻尼比发生改变,可能整个响应时程的整体趋势没改变,但是最大值出现的位置会不同,大小的增大或减小规律也不同,而反应谱记录的是绝对值。 所以,千万别闭着眼睛说,阻尼比越大,位移越小。瞎说!!! 😎 😀  图 1 图 2 图3 图 4 图 5 图 6 微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号

[软件][地震动][Tool] 地震动参数计算软件GMP:补充介绍及说明

之前网友让整理的小工具 GMP:地震动参数计算工具( 见链接:[软件][工具][地震][Tool] 结构抗震分析地震动强度指标计算工具 ( A tool for Calculating Earthquake Intensities for Seismic Analysis of Structures)),用于计算各种常用的地震波参数。最近又做了些更新,在这里再详细介绍一下主要功能。 导入时程,查看加速度、速度、及位移时程 反应谱计算(包括加速度、速度及位移反应谱),可以设置反应谱的周期范围及周期间隔 地震动参数,Husid plot、Energy Flux plot  GMP软件一共提供了 46 个参数的计算及Arias Intensity 及 Energy Flux 图(这些图 SeismoSignal …

[Tool][更新][Updates] SPECTR (v1.1) – A program for Response Spectra Analysis [SPECTR反应谱计算程序更新]

程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) 地震反应谱是地震工程中重要的概念,我们经常需要将地震加速度时程转换为反应谱。SPECTR 是一个简单易用的反应谱计算程序。 Seismic Response Spectra is an important concept in earthquake engineering, we often need to evaluate seismic response spectrum on the basis of a …

SPECTR-1

[软件][工具] SPECTR: A program for Response Spectra Analysis [SPECTR地震波反应谱计算程序 v1.0]

地震反应谱是地震工程中重要的概念,我们经常需要将地震加速度时程转换为反应谱。SPECTR 是一个简单易用的反应谱计算程序。Seismic Response Spectra is an important concept in earthquake engineering, we often need to evaluate seismic response spectrum on the basis of a given time-acceleration record. SPECTR constitutes an easy way to evaluate Seismic Response Spectra, featuring a user-friendly visual interface.