复杂形态钢结构设计培训班

首页 结构乌托邦-公众号 【OpenSees】主余震与序列地震分析(二):分析回滚

【OpenSees】主余震与序列地震分析(二):分析回滚

主余震与序列地震时程分析实例
在各类盲测比赛【PBSD】【OpenSees】在2019日本E-Defense盲测比赛的表现)及主余震分析等场景中,均需对结构输入序列地震动,考虑地震动间损伤累积的影响。上期推送(【OpenSees】主余震与序列地震分析(一):功能实现)介绍序列地震时程分析的实现途径
在常规的主余震分析中,若研究n个不同余震的影响,则需进行n次主震分析,如图1所示。若建立合理的分析回滚机制,即在“余震1”分析完成后,直接回滚至“主震”分析的结尾,进行“余震2”的加载,可实现高效的主余震分析本次推送将基于OpenSeesdatabase命令建立分析回滚机制,抛砖引玉,读者可拓展更多实用的应用场景。点击“阅读原文”查看并下载本推送算例

图1 分析回滚实现高效的主余震分析

分析回滚机制

OpenSees的database命令允许用户保存和恢复模型。创建数据库后,save命令会将结构的节点、单元、约束、荷载写入数据库(分析相关选项不会写入,如system、algorithm等)。在求解的过程中,通过不同的标签commitTag可多次保存模型。通过restore命令及相应的标签commitTag,可恢复模型并回滚至保存时的状态

图2 OpenSees相关命令
基于database命令,对推送(【OpenSees】双向地震与动力增量分析)中的GM_Analyze方法进行重写,补充模型保存的相关代码。在主震分析完成后,通过remove命令移除主震的结果记录器“recorders”,再通过database命令创建模型数据库,并通过save命令保存模型,最后通过wipe All清空模型数据。数据库保存有“File”“MySQL”“BerkeleyDB”三种形式,由于太久没维护,后两者无法正常保存。
proc GM_Analyze { Damping GM_Name dt PGA is_X { Model_Descp "" } {commitTag 0} } {  #Input Model  source "Model\0_Main.tcl"  #Damping Ratio Define  Rayleigh_Proc 1 2 $Damping  #Gravity_Analysis  Gravity_Proc 10  #Define Recorder  DefineRecorder $GM_Name $PGA $is_X   #Load Case Name  set lc_name [GetLoadCaseName $GM_Name $is_X ]  #Ground Motion Analysis  set TimeCost [GroundMotionAnalysis $GM_Name $PGA $is_X $dt $Model_Descp 1000]  #Analysis Time  puts "*$Model_Descp $lc_name $PGA Finish with [format "%.0f" $TimeCost] second."  #Save Model  if { $commitTag > 0 } {     #Remove old recorder    remove recorders    #Time back to Zero    loadConst -time 0.0    #Remove LoadCase    remove loadPattern 1000    remove loadPattern 1001    #Create New Directory for database    file mkdir "Database"    #Save Model    database File "Database//$lc_name"    save $commitTag  }  #Clear All  wipe All  #Return  return 0}

在余震分析中,通过restore命令即可恢复模型并回滚至主震完成时的状态saverestore的实现依赖于节点、单元、约束及荷载的“sendSelf”“recvSelf”方法,该方法继承于基类MovableObject。

如本推送算例,发现ElementLoad的“sendSelf”及“recvSelf”未正确重写,因此等效为节点荷载进行模拟。感兴趣的读者可自行对源码进行补充,难度系数低。“sendSelf”“recvSelf”除用于保存及恢复模型外,还用于并行计算。

proc GM_Analyze_Restart { GM_Name dt PGA is_X commitTag { Model_Descp "" }  } {  #Load Case Name  set lc_name [GetLoadCaseName $GM_Name $is_X ]  model basic -ndm 3 -ndf 6  #Input Model  database File "Database//$lc_name"  restore $commitTag  source "Model\1_Function.tcl"  source "Model\9_Region.tcl"  source "Model\11_Recorder.tcl"  #Define Recorder  DefineRecorder $GM_Name $PGA $is_X   #Ground Motion Analysis  set TimeCost [GroundMotionAnalysis $GM_Name $PGA $is_X $dt $Model_Descp 2000]  #Analysis Time  puts "*$Model_Descp $lc_name $PGA Finish with [format "%.0f" $TimeCost] second."  #Clear All  wipe All  #Return  return 0}

主余震分析时,先进行$PGA_Main等级的主震分析,通过标签commitTag保存模型,再通过“GM_Analyze_Restart”回滚至主震,完成不同等级的余震分析。

#Model Descpset Model_Descp "OpenSEES"#Damping Ratioset Damping 0.05#Ground Motion Descpset GM_Name "GM1"#Digital Intervalset dt 0.02#PGAset PGA_Main 0.600set PGA_List { 0.400 0.600 0.800 }set commitTag 6#Input TCLsource "Model\12_OSM.tcl"#Main GMGM_Analyze $Damping $GM_Name $dt $PGA_Main  "true" $Model_Descp $commitTag#GM Series Analysisforeach PGA $PGA_List {    GM_Analyze_Restart $GM_Name $dt $PGA "true" $commitTag $Model_Descp}

分析实例

选取一框架结构为算例(【PBSD】【OpenSEES】【YTO】智能化的结构弹塑性分析全套解决方案),所有单元采用刚度法纤维单元,由于刚度法纤维单元采用二次插值函数(【OpenSEES】浅析纤维单元(一):单元剖分数对刚度法纤维单元力学性能的影响),存在线性曲率及常值轴向应变问题,因此对单元进行剖分。

图3 测试算例
利用PBSD【PBSD】地震动工具箱之教学视频【PBSD】人工波生成功能测试 [开源])生成人工波对算例模型分别完成“0.6g-0.4g”、“0.6g-0.6g”“0.6g-0.8g”的主余震序列分析,并利用PBSD(【PBSD】功能介绍及应用教学回顾[含视频])完成抗震性能评估。结构顶点位移时程曲线、首层层间位移角曲线及底部构件的损伤程度如图4所示。

可见,结构经历0.6g主震后存在显著的残余变形;在余震作用下,构件塑性逐步发展,导致结构呈现更为显著的残余变形:0.4g余震作用下,结构个别首层柱发生严重损坏;0.6g余震作用下,结构首层柱全部失效;0.8g余震作用下,结构损伤由首层发展至结构二层,首层及二层柱均失效

图4 结构响应与首层构件损伤

点击“阅读原文”可查看并下载本推送相关的算例模型

精彩回顾:

【会议总结】OpenSEES Days Eurasia 2019 in PolyU

【会议回顾】第十一届全国防震减灾工程学术研讨会

【PBSD】【OpenSEES】2020年精选推送集锦

【PBSD】【OpenSees】在2019日本E-Defense盲测比赛的表现

  • PBSD

【PBSD】超限工程好助手:结构抗震性能设计软件PBSD功能简介

【PBSD】功能介绍及应用教学回顾[含视频]

【PBSD】构件变形指标VS材料应变指标:从评估敏感性出发

【PBSD】【PERFORM-3D】YTP导模工具使用手册

【PBSD】【YTP】减隔震模块介绍

【PBSD】【OpenSEES】智能化的结构弹塑性分析全套解决方案

【PBSD】地震动工具箱教学视频

【PBSD】地震动工具箱:多频段选波方法详解

【PBSD】一键弹塑性报告功能演示

【PBSD】性能前馈集中塑性铰单元的定义、优势与测试

【PBSD】性能前馈集中塑性单元PFLPH与纤维单元力学性能对比

【PBSD】【PERFORM-3D】弹塑性模型刚度调整

【PBSD】人工波生成功能测试 [开源]

【PBSD】弹性时程分析的实现与功能测试

【广东省性能设计规程】与国家高规对比浅谈反应谱的修正与完善

【广东省性能设计规程】性能设计基本方法与PBSD的实现
  • PBSD工程应用

【PBSD】2021年上半年用户分析(含教学指引)

【PBSD工程应用】保利南亚之窗——昆明地标性建筑

【PBSD工程应用】格力新经济创投中心——珠海新地标

【PBSD工程应用】广东美术馆“三馆合一”项目——岭南文化新地标

【PBSD工程应用】佛山天珺秀台——2021新广东省《高规》项目

  • OpenSees

【OpenSEES】OpenSEES历史版本下载

【OpenSees】浅析两类纤维单元:位移元与应力元

【OpenSEES】24类纤维截面剖分TCL函数

【OpenSees】浅析纤维单元的数值积分方法

【OpenSees】浅析分布塑性铰单元的数值积分方法

【OpenSees】应力元纤维单元的Localization Issues

【OpenSees】宏观梁柱单元的强度软化模拟

【OpenSEES】浅析纤维单元(一)

【OpenSEES】浅析纤维单元(二)

【OpenSEES】浅析纤维单元(三)

【OpenSEES】FiberSection3D新变化:-Gj必选项始末

【OpenSees】新版IMK模型的前世今生

【OpenSees】浅析剪力墙宏观单元:MVLEM

【OpenSees】浅析剪力墙宏观单元:SFI-MVLEM

【OpenSees】浅析剪力墙宏观单元:分层壳单元

【OpenSees】浅析矩阵求解器(一):谁最高效?

【OpenSees】浅析矩阵求解器(二):谁才是万金油?

【OpenSees】浅析约束处理方法(一)

【OpenSees】浅析约束处理方法(二)

【OpenSEES】浅析迭代(一)

【OpenSEES】浅析迭代(二):基于LineSearch优化迭代算法

【OpenSEES】浅析迭代(三):基于Krylov优化迭代算法

【OpenSees】SecAggregator为DispBC赋予剪切刚度乃无用功

【OpenSEES】PM截面分析实例

【OpenSees】如何利用应变控制截面分析的进程

【OpenSEES】低周往复加载实例:荷载位移双控

【OpenSees】SDOF非线性动力时程分析的实现与算例

  • WSAP

【WSAP】结构力学求解器(一):二阶效应分析[开源]
【WSAP】结构力学求解器(二):模态分析[开源]
【WSAP】结构力学求解器(三):杆端释放[开源]
【WSAP】结构力学求解器(四):单元荷载定义[开源]
  • 编程与工具

【编程】分段解析法及多软件反应谱求解结果对比探究[开源]

【工具】OpenSEES_XML分析结果提取工具[开源]

【工具】OSRun [OpenSees运行辅助工具][开源]

【工具】FSV [OpenSees纤维截面可视化工具][开源]


本文来自网络,不代表钢构人的立场,转载请注明出处。搜索工程类文章,就用钢构人网站。 https://www.ganggouren.com/2021/07/4326a40635/
上一篇
下一篇

作者: ganggouren

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

联系我们

17717621528

在线咨询: QQ交谈

邮箱: 1356745727@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部