[程序][复现] WaveSpec: A Tool for Ground Motion Response Spectrum Fitting Using Wavelet Functions [基于小波函数的地震动反应谱拟合]

实干、实践、积累、思考、创新。 程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) WaveSpec: A Tool for Ground Motion Response Spectrum Fitting Using Wavelet Functions,是一款地震工程分析软件,用于将给定的地震动加速度时程调整至其反应谱与目标设计谱相匹配。程序基于张郁山与赵凤新于2014年发表于《土木工程学报》的论文《基于小波函数的地震动反应谱拟合方法》中提出的算法实现,旨在为结构抗震设计、地震动合成与场地反应分析提供高精度、高效率的谱拟合工具。该方法的核心在于构造一种增量位移小波函数,通过两次微分得到增量加速度小波函数,并将其叠加至初始加速度时程中,进而对反应谱进行拟合。 编写这个程序,最主要是受用户委托,让我们复现原论文中提出的小波基调整算法,同时我们也正好可以研究相关的理论,一举两得。 程序基本功能: ✅ 自定义目标谱输入; ✅ 灵活设置控制周期点,支持对数均匀分布或手动指定; ✅ 可调整拟合参数(如迭代容差、小波有效区间系数等); ✅ 可输出拟合结果与收敛曲线; …

[程序] PulseExtract v2025: A tool for extracting the velocity pulse of near-field earthquake velocity [近场地震动速度脉冲参数计算软件]

实干、实践、积累、思考、创新。 程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) 近场地震动因其具有较普通地震动更为复杂的特性及其对工程结构的严重破坏性成为地震工程领众多学者研究的热点问题之一。脉冲型地震动较普通地震动对工程结构有着特殊影响,当脉冲周期与结构基本自振周期相近时,共振效应”的存在使得脉冲地震动作用下产生的结构反应要明显大于普通地震动对结构的影响,从而使结构功能失效的可能性大大增加。因此,脉冲周期为脉冲型地震动的一个重要参数。 近场地震动中速度脉冲周期的确定受高频成分的影响具有很强的不确定性,如何计算脉冲周期是一个研究课题,国内外学者给出了多种脉冲周期计算方法。The near-field earthquake driver has more complex characteristics than the ordinary ground motion and its serious damage to the engineering structure …

[编程][软件] Clough滞回材料模型开发学习 (Development of Clough’s model)

实干、实践、积累、思考、创新。 最近做相关东西,研究了一下Clough滞回模型,于是做个软件进行测试。 Clough模型的滞回规则如下图所示,基本规则是,反向再加载时指向该方向加载历史应变最大点,如果该方向未屈服,则指向屈服点。该本构通常用来模拟受弯构件或者混凝土构件中的钢筋和钢骨。 通过编程实现,如下图所示。 测试完可以输出结果 以下是视频 Video   相关博文( Related Topics) [01] [科研][软件][OpenSees] OSBWTest: OpenSees BoucWen Material Test ( OpenSees BoucWen材料测试) [02] [研究][软件] BWTest: Bouc-Wen模型参数测试分析 [Bouc-Wen Hysteretic Model Parameters Analysis] [03] …

[结构优化] 基于ETABS二次开发的塔楼斜柱斜率变化优化案例 (Slope Sensitivity analysis of the inclined columns of the tower through secondary development of ETABS)

实干、实践、积累、思考、创新。 实际超高层工程案例中,塔楼外框常采用斜巨柱形式,以加强外框刚度和满足建筑外形要求,例如中国尊大楼、武汉绿地中心等。为了探究巨柱斜率对整体刚度影响,基于ETABS二次开发技术实现不同斜率巨柱自动化计算以及提取相应结果,以供参考: 一、计算模型 斜柱斜率变化视频 二、计算结果 三、初步结论 1、巨柱斜率增大,结构刚度增加,地震下结构基底剪力增大; 2、巨柱斜率增大,风荷载下结构最大层间位移角可减小15%,当斜率大于一定角度后,最大层间位移角减小幅度有限; 3、相比结构前二周期,结构第三周期(扭转周期)对巨柱斜率变化更为敏感,即增大巨柱斜率更有利于提高结构扭转刚度。 本文编者介绍 相关资料 ( Related Topics ) [01] [CSI OAPI][编程] CSI OAPI EX1: 运行/关闭/捕捉 SAP2000 [Start/Exit/GetActive SAP2000] [02] [CSI OAPI][编程] CSI OAPI EX2: 伸臂桁架几何优化 …

[结构优化] 基于SAP2000二次开发的平面桁架优化案例 (Optimization of plane truss structure through secondary development of SAP2000)

实干、实践、积累、思考、创新。 实际超高层工程案例中,外框常采用交叉支撑/交叉网格等形式加强外框刚度以形成强外框体系,例如深圳中信金融中心、深圳华润总部大厦、广州西塔等。为了初步探究交叉支撑点位置对外框刚度影响,基于简化平面模型以及SAP2000二次开发技术,采用枚举法对不同交叉点位置的桁架进行计算,以供参考。 1、平面桁架的简化模型 外框交叉支撑通常呈现疏密表现形式,简化模型通过可选交叉点位置大于交叉点道数模拟,各层水平荷载采用某项目指定风荷载。 表 平面桁架构件尺寸: 柱 方钢管2000X2000X100X100 梁/支撑 方钢管1200X800X60X60 2、SAP2000二次开发技术+简化模型 SAP2000的API功能是以程序语言的形式与SAP2000相结合,实现建模、分析、结果输入输出的智能化,它使得用户可以通过编译好的程序自动建立、分析模型并获得指定的分析和设计结果,用户可用另一种程序和SAP2000通过API接口相结合实现互动。本文通过SAP2000二次开发技术对所有枚举桁架方案进行内力分析,输出桁架顶点位移,以此作为整体刚度判定标准。 桁架交叉点位置变化视频 3、计算结果 基于简化模型和二次开发技术,将桁架顶点位移作为整体刚度判定标准,以下给出顶点位移从小至大的桁架方案结果 本文编者介绍 相关资料 ( Related Topics ) [01] [CSI OAPI][编程] CSI OAPI EX1: 运行/关闭/捕捉 SAP2000 [Start/Exit/GetActive SAP2000] [02] …

[程序] 一种摩擦型阻尼器滞回本构开发 (狗骨形滞回)[Hysteretic Constitutive Development of a Friction Damper (Dog Bone Hysteresis)]

实干、实践、积累、思考、创新。 程序图标 ( Icon ) 程序介绍 ( Introduction) 这是小伙伴找我们做的一种摩擦型阻尼器滞回本构开发,其中其滞回曲线为狗骨式滞回曲线。 与常规摩擦形阻尼器相比(滞回曲线基本为二折线),该类阻尼器滞回曲线由于是狗骨式,其耗能能力相对更大,且在更大变形下能提供刚度。 该类阻尼器的滞回曲线大致如下图所示。 程序的目的是通过设置本构参数,然后导入指定的位移历程,查看力-位移滞回曲线及刚度滞回曲线。 程序界面 ( Screenshot) 程序动画 ( Videos) 力-位移滞回曲线动画 刚度-位移滞回曲线动画 相关博文( Related Topics) [01] [科研][软件][OpenSees] OSBWTest: OpenSees BoucWen Material Test ( OpenSees BoucWen材料测试) [02] [研究][软件] …

[程序案例] IRSA 案例5——地震波能量反应谱分析 ( Seismic Wave Energy Response Spectrum Analysis Examples of IRSA)

实干、实践、积累、思考、创新。 地震波能量谱是按照反应谱理论的思路建立的一种以能量为评价指标的反应谱。 关于地震动中的能量的相关知识可查看这个链接:[地震工程][动力学][Chapter14]地震作用下结构的能量分析 [Energy analysis of structures under earthquake] IRSA ( [软件][地震工程][科研][更新] IRSA 2022: Inelastic Response Spectra Analysis Program (弹塑性反应谱及单自由度非线性地震分析工具) ) 提供了两大类能量谱: (1)延性需求反应谱(等屈服强度系数谱)(Ductility Demand Response Spectra,Equal Yield Strength Coefficient Response Spectra) …

[程序案例] IRSA 案例4 —— 等延性反应谱算例验证 ( Verification Examples of Constant Ductility Demand Spectrum for IRSA )

实干、实践、积累、思考、创新。 等延性反应谱的计算为指定延性,反算结构强度,计算过程不是直接的,涉及迭代计算,因此算法是否合理影响计算精度和速度。 IRSA( [软件][地震工程][科研][更新] IRSA 2022: Inelastic Response Spectra Analysis Program (弹塑性反应谱及单自由度非线性地震分析工具) )提供了等延性反应谱计算的功能,并提供了多项控制参数,确保延性反应谱计算准确性。本例分别采用IRSA及SeismoSignal进行同一地震波的等延性反应谱计算,验证IRSA的计算结果。 PART 1: 导入地震波 Import Seismic Waves IRSA SeismoSignal PART 2: 等延性谱分析 Constant Ductility Demand Spectrum Analysis 屈服后强化系数 b=0  …

[编程][算法] 四段式单轴恢复力本构模型开发 (Development of four segment uniaxial restoring force constitutive model)

实干、实践、积累、思考、创新。 小伙伴找我们做的本构开发测试,这里做个简单记录。 程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) 小伙伴找我们做的本构开发测试。骨架为四段式,其余滞回规则类似常规的各向同性强化的二折线滞回本构。 需要程序可联系客服咨询。 相关博文( Related Topics) [01] [科研][软件][OpenSees] OSBWTest: OpenSees BoucWen Material Test ( OpenSees BoucWen材料测试) [02] [研究][软件] BWTest: Bouc-Wen模型参数测试分析 [Bouc-Wen Hysteretic Model …

[论文][Paper] 基于目标谱匹配法的地震波选波系统研制 (Development of seismic wave selection system based on target spectrum matching method)

实干、实践、积累、思考、创新。 快10年之前做的东西,算是10年前的成果了,最近整理了一下。 【题目】 基于目标谱匹配法的地震波选波系统研制 【英文题目】 Development of seismic wave selection system based on target spectrum matching method 【作者】 崔济东1,戚永乐2 【英文作者】  CUI Jidong1, QI Yongle2 【单位】 1. 广州容柏生建筑结构设计事务所(普通合伙)2. 中国能源建设集团广东省电力设计研究院有限公司 【中文摘要】 随着结构计算分析技术的快速发展,动力时程分析在结构抗震设计中运用越来越广泛,编制能够快速提供满足规范要求的地震波的选波系统具有较大的应用价值。根据《建筑抗震设计规范》(GB50011-2010)的要求,基于目标谱匹配法,开发了地震波选波系统GMSS。对GMSS的总体设计框架进行介绍,着重阐述地震动数据库模块的设计及软件提供的两种目标谱匹配方案:离散周期点匹配法及周期范围匹配法。通过某超高层实例对GMSS选取的地震波进行验证,结果表明离散周期点匹配法侧重于控制具体周期点的反应谱误差,周期范围匹配法侧重于控制指定周期范围内地震波反应谱与目标谱形状的吻合程度,两种方案的选波结果均可满足规范要求,GMSS选波系统运行效率较高,可进一步用于科研和工程实践。 …

一个有趣结构动力学算法问题: 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 …

[编程][笔记] 如何将n^m个可能枚举出来?

实干、实践、积累、思考,创新。 如题 如何将n^m个可能枚举出来?通常枚举实现,直觉想到的就是用循环。 对于n和m很大的时候,写循环显然不可能。另外且当n和m都是运行时确定时,不管n和m是大还是小,都无法用循环了,因为用循环就意味着代码写死了。 最后想了一下,对于这种情况,可以用进制的方式进行实现。 n^m,相当于一个m维的数组,每个数组的取值可能有n个,那么m维数组,总的可能数就有n^m个。 举几个例子 2^m,可以表示为一个2进制位数 4^m,可以表示为一个4进制位数 具体的 2^2,一共有4种可能,具体情况如下: 1: 0 0 2: 1 0 3: 0 1 4: 1 1 3^2,一共有9种可能,具体情况如下: 1: 0 0 2: 1 0 …

[智能算法]几个经典的PSO粒子群优化算法测试函数 (Benchmark function for PSO)

实干、实践、积累、思考,创新。 最近研究了一下粒子群算法,上一篇博文《 [编程训练][软件] 粒子群优化算法求解无约束最优化问题 [Particle Swarm Optimization Algorithm for Solving Unconstrained Optimization Problems] 》进行了编程实现。再测试过程中用了几个Benchmark函数,都是一些复杂的高纬函数,通常有非常多的局部波峰,用来测试算法的全局最优搜索能力。这些函数都比较漂亮,截几个图欣赏一下。 0: Sphere 1: Eggcrate 2: Rosenbrock 3: Ackley 4: Schaffer 5: Rastrigrin 6: Cigar 7: Griewangk 8: …

[编程训练][软件] 粒子群优化算法求解无约束最优化问题 [Particle Swarm Optimization Algorithm for Solving Unconstrained Optimization Problems]

实干、实践、积累、思考,创新。 程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) 假期花了几天研究粒子群优化算法,顺便写了这个小工具,简单测试无约束最优化问题,也顺便训练一下编程。 软件自带几个经典的PSO粒子群优化算法测试函数,具体包括: 0: Sphere 1: Eggcrate 2: Rosenbrock 3: Ackley 4: Schaffer 5: Rastrigrin 6: Cigar 7: Griewangk 8: Schwefel 几个函数的图像可以在这个博文查看:[笔记][智能算法]几个经典的PSO粒子群优化算法测试函数 (Benchmark …

[数学][编程] 蒙特卡洛模拟法求圆周率π (Monte Carlo method to find PI)

实干、实践、积累、思考、创新! 蒙特· 卡罗方法是一种通过概率来得到问题近似解的方法。其实之前也测试过,用在这个投针求PI([数学][概率] Buffon’s Needle problem [蒲丰投针问题]),最近又搞起算法研究,顺带再整体各种东西都测算一次吧。 蒙特· 卡罗方法求圆周率PI 网上很多例子。直接上图吧。   微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号

[程序] DataSmoothing V2020: A Program for Data Smoothing [试验数据曲线平滑+降噪工具]

新版软件已更新,请移步:[工具][试验][软件] DataSmoothing v2024: A Program for Test Data Smoothing [试验数据曲线平滑+降噪工具 2024版] 实干、实践、积累、思考、创新。 小伙伴让做的一个小工具,用于修正试验数据中的噪声,适合那些许多波动试验数据曲线。 程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) 主要用于平滑试验数据,可处理滞回曲线的波动情况,同时可一定程度处理试验数据中的锯齿问题、噪声问题。 另外网站还提供了其他几款用于修正试验数据的工具: NoiseRemoval:http://www.jdcui.com/?p=15046 该程序主要作用是,修正试验数据中的噪声,适合那些许多波动试验数据曲线。 OutlierRemoval:http://www.jdcui.com/?p=14365 该程序主要作用是,剔除数据中的异常点,毛刺点,跳跃点。数据中的这些异常点及毛刺点通常是因为采集仪器信号不稳定引起的。 Loop Modifier: http://www.jdcui.com/?p=12201  该程序主要用于根据试验的规律局部处理试验数据中的错误离散点。 …

[数学][算法][编程训练] 最小二乘法曲线拟合( Least square curve fitting )

坚持实干、坚持一线、坚持积累、坚持思考,坚持创新。 最小二乘法曲线拟合( Least square curve fitting ),又叫最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线y=f(x)的近似曲线y= φ(x)。 使得近似曲线与y=f(x)的偏差最小。按偏差平方和最小的原则选取拟合曲线,并且采取二项式方程为拟合曲线的方法,称为最小二乘法。在某些情况有应用。 以下是编程测试的结果。 微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号

[软件] NoiseRemoval: A Program for De-Noising of Experimental Data [试验数据降噪修正工具]

实干、实践、积累、思考、创新。 小伙伴让做的一个小工具,用于修正试验数据中的噪声,适合那些许多波动试验数据曲线。 程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) 修正试验数据中的噪声,适合那些许多波动试验数据曲线。 另外网站还提供了其他几款用于修正试验数据的工具: NoiseRemoval:http://www.jdcui.com/?p=15046 该程序主要作用是,修正试验数据中的噪声,适合那些许多波动试验数据曲线。 OutlierRemoval:http://www.jdcui.com/?p=14365 该程序主要作用是,剔除数据中的异常点,毛刺点,跳跃点。数据中的这些异常点及毛刺点通常是因为采集仪器信号不稳定引起的。 Loop Modifier: http://www.jdcui.com/?p=12201  该程序主要用于根据试验的规律局部处理试验数据中的错误离散点。 SawtoothRemove: http://www.jdcui.com/?p=15493 该程序主要用于去除滞回曲线数据中的锯齿。 DataSmoothing: http://www.jdcui.com/?p=15650 该程序主要用于平滑试验数据,可处理滞回曲线的波动情况,同时可一定程度处理试验数据中的锯齿问题、噪声问题。 PS:不同的试验数据问题需要用不同的方法进行修正,每个程序都有其特别的功能。 程序界面 ( Program Interface ) 下载 (  …

[编程训练] 红酒杯与白酒杯里到底有多少红酒和白酒?

实干、实践、积累、思考、创新。 程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) 一个数学题,红酒杯与白酒杯的一道数学题。从结构求真群听来的。主要是这么一个问题,有一杯白酒和一杯红酒,从白酒杯里蒯一勺白酒倒入红酒杯里,然后再从红酒杯里蒯一勺倒入白酒杯里,问:白酒杯里的红酒多,还是红酒杯里的白酒多? 于是写这个小软件测试一下,结果也十分有趣,看完结果也恍然大悟。 首先,相互蒯一勺后,白酒杯里的红酒和红酒杯里的白酒是一样的多的。 而且,只要不断相互倒酒,那么白酒杯里的红酒和红酒杯里的白酒就会一直是一样多。 其实与每次倒酒的量无关,不管倒几次,不管每次倒的量是否相等,只要最终状态还是两杯一样多,那么就是一样。最终状态控制,以白酒杯为例,出去多少白酒,就会进来多少红酒。 而且,不断相互倒酒,当倒酒次数无限多厚,白酒杯里面的红酒和白酒,红酒杯里面的红酒和白酒就一样多了。 其实也很好理解,相互不断倒酒,无限多次地倒,相当于酒杯倒均匀了。 十分有意思。感兴趣的朋友可以下载来玩玩: Download: 红酒与白酒 White_RedWine.rar 欢迎关注 “结构之旅” 微信公众号  

[程序案例] FOUR_TRAN Example 1: Filtering [FOUR_TRAN傅里叶分析工具使用案例1: 滤波]

实干、实践、积累、思考、创新。 滤波,傅里叶分析的一个应用。用前面自己写的 FOUR_TRAN 傅里叶分析工具进行分析。 函数 y1: y1=10*SIN(2*PI()*0.5*x),振幅为10,频率为0.5; 函数2: y2=0.5*SIN(2*PI()*10*x),振幅为0.5,频率为10; 函数yw 为函数y1与函数y2的叠加: y=y1+y2 从图可见,由于y2振幅小,频率大,y1振幅大,频率小。叠加后y整体趋势与y1类似,相当于在y1的基础上加上了一些波动。 我么记下来通过傅里叶变化,想办法把从y中把这些波动的y2过滤掉。 打开FOUR_TRAN,导入离散后的函数y,并进行傅里叶分析。 从上图可见,傅里叶变换,可准确解析出两个主要频率成分,一个是0.5,一个时10,其中频率为0.5的傅里叶振幅谱大,而频率为10的傅里叶振幅谱小,能量成分低。与我们前面的函数一致。 接着我们把频率为0.5附近的成分累加起来(逆变换),如下图红色部分,红色曲线基本就是最初的y1,y2被成功过滤掉了。 如下,红儿曲线即是过滤掉频率10后的曲线,曲线与y1一致。 接着我们把频率为10附近的成分累加起来(逆变换),得到下图的红色部分,此时红色部分基本是函数y2,y1成功过滤掉了。 这就是简单的滤波的例子。 关于软件( About the Program)   [01] [数学][地震动][软件] FOUR_TRAN: Fourier Analysis …

[程序] FOUR_TRAN: Fourier Analysis Tool [傅里叶分析工具]

实干、实践、积累、思考、创新。 程序图标 ( Program Icon ) 程序介绍 ( Program Introduction) 简单的离散傅里叶变换(DFT,Discrete Fourier Transform)分析工具,导入数据,进行DFT变化,并获得频率Frequency,相位谱Fourier Phase,幅值谱Fourier Amplitude,功率谱 Power Spectrum等结果。并可任意组合选定频率成分,查看组合结果,滤波功能 (filtering)。直观感性地理解傅里叶变换的魅力。当然,这个东西也可以用来分析地震波。(PS。趁着在家自我隔离的时间学习,希望新型冠状病毒肺炎疫情早日被战胜。) 案例 ( Examples ) [01] [数学][软件] FOUR_TRAN Example 1: Filtering [FOUR_TRAN傅里叶分析工具使用案例1: 滤波] [02] [数学][软件] …

Summary Page of Programming Training [编程训练-汇总页]

将一些编程训练的资料汇总到【编程】->【编程训练】目录,可以通过路径【编程】->【编程训练】进行访问,如下图所示。 也可以通过连接直接访问:http://www.jdcui.com/?page_id=13144 目前编程训练放了以前训练的一些笔记。以后有空做编程训练都汇总到这个页面。 微信公众号 ( Wechat Subscription) 欢迎关注 “结构之旅” 微信公众号