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

首页 结构乌托邦-公众号 【OpenSees】模态与阻尼(一):振型参与质量系数计算

【OpenSees】模态与阻尼(一):振型参与质量系数计算

振型参与质量系数计算

《建筑抗震设计规范》5.2.2条文说明中指出:振型个数一般可以取振型参与质量达到总质量90%所需的振型数;《高层建筑混凝土结构技术规程》5.1.13条规定:抗震设计时,B级高度的高层建筑结构、混合结构和复杂高层建筑结构,宜考虑平扭耦联计算结构的扭转效应,振型数不应小于15,对多塔楼结构的振型数不应小于塔楼数的9倍,且计算振型个数应使振型参与质量不小于总质量的90%。 
上期推送(【OpenSees】主余震与序列地震分析(二):分析回滚)介绍OpenSees的分析回滚机制,本推送将在OpenSees中实现振型参与质量系数的计算。点击“阅读原文”查看并下载本推送算例

振型参与质量系数

先简单回顾下振型质量振型参与系数振型参与质量振型参与质量系数累积振型参与质量系数的计算方法。可见,为计算型参与质量系数节点在各自由度下的质量振型位移为仅有的未知量

OpenSees实现计算振型参与质量系数的代码如下。首先通过getNodeTags命令获得所有节点,通过nodeEigenvector命令获得节点在不同振型下的振型位移,通过nodeMass命令获得节点不同自由度下的质量

proc ProModeAnalyze_Proc { ModeNum } {    #Get Nodes    set Lnode [getNodeTags]    #EigenAnalysis    set Llam [eigen $ModeNum]    set pi 3.1415926    #Dofs    set Ldof { 1 2 3 4 5 6 }    #Accumulate Participation Mass Ratio List    set LAccMFactor { 0.0 0.0 0.0 0.0 0.0 0.0 }    #Each Mode    for { set modei 1 } { $modei <= $ModeNum } {incr modei } {        #Generalized mass of mode        set Mn 0        set LLn { 0.0 0.0 0.0 0.0 0.0 0.0 }        #Total Mass        set LMass { 0.0 0.0 0.0 0.0 0.0 0.0 }        #Participation Mass Ratio List        set LMFactor { 0.0 0.0 0.0 0.0 0.0 0.0 }        #Foreach Node        foreach nodei $Lnode {            #Get Eigen Vector            set LeigenV [nodeEigenvector $nodei $modei]            #Each Dof            foreach Ln $LLn eigenV $LeigenV accMass $LMass dofi $Ldof {                #Get Node Mass                set mass [nodeMass $nodei [expr $dofi]]                #Sum                set Ln [expr $Ln + $eigenV * $mass ]                set Mn [expr $Mn + pow($eigenV, 2) * $mass ]                set accMass [expr $accMass + $mass]                #Modify value in List                lset LLn [expr $dofi - 1] $Ln                lset LMass  [expr $dofi - 1] $accMass            }        }        #Each Dof        foreach Ln $LLn mass $LMass dofi $Ldof accMfactor $LAccMFactor {            #Modal Participation Factor            set pFactor [expr $Ln / $Mn]            #Participation Mass            set pMass [expr pow($pFactor, 2) * $Mn]            #Participation Mass Ratio            set massFactor 0            if { $mass != 0 } {                set massFactor [expr 100 * $pMass / $mass]            }            #Accumulate Mass Factor            set accMfactor [expr $accMfactor + $massFactor]            #Modify value in List            lset LMFactor [expr $dofi - 1] $massFactor            lset LAccMFactor [expr $dofi - 1] $accMfactor        }        #Period        set lam [lindex $Llam [expr $modei - 1]]        set period [format "%.3f" [expr 2*$pi / sqrt($lam)]]        #Participation Mass Ratio        set PMRX [format "%.2f" [lindex $LMFactor [expr 0]]]        set PMRY [format "%.2f" [lindex $LMFactor [expr 1]]]        set PMRZ [format "%.2f" [lindex $LMFactor [expr 5]]]        puts "Mode $modei: Period=$period t PMRX = $PMRX% t PMRY = $PMRY% t PMRZ = $PMRZ%"    }    #Accumulate Participation Mass Ratio    set AccPMRX [format "%.2f" [lindex $LAccMFactor [expr 0]]]    set AccPMRY [format "%.2f" [lindex $LAccMFactor [expr 1]]]    set AccOMRZ [format "%.2f" [lindex $LAccMFactor [expr 5]]]    puts "nTotalPMRX= $AccPMRX% t TotalPMRY= $AccPMRY% t TotalPMRZ= $AccOMRZ%"}

分析实例

以推送【OpenSees】双向地震与动力增量分析弹塑性模型为例,进行特征值求解。在使用时,通过source命令加载模型,再通过ProModeAnalyze_Proc即可完成特征值及振型参与质量系数计算。可见周期振型参与质量系数均与YJK弹性模型基本一致。
source "Model\0_Main.tcl"ProModeAnalyze_Proc 5wipe all
图1 测试算例与振型参与质量系数求解
值得注意的是,OpenSees的默认特征值求解器为genBandArpack,该求解器对振型质量进行归一化,而其他特征值求解器如fullGenLapack,则不进行振型质量归一化。振型质量是否归一化,不影响振型参与质量系数的计算,但影响振型参与系数及振型参与质量的计算,同时影响OpenSees中模态阻尼的定义(模态阻尼将在后续的推送中介绍)。
此外,genBandArpack由于内存占用小求解效率高,为首选特征值求解器,但当含质量的节点数较少时,求解高振型的特征值将遇如下错误。此时可选用fullGenLapack特征值求解器

图2 genBandArpack错误

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

精彩回顾:

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

【PBSD】【OpenSees】2021年精选推送集锦

  • PBSD

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

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

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

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

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

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

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

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

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

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

  • PBSD工程应用

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

【PBSD工程应用】中新广州知识塔——330m知识城在建第一高楼

【PBSD工程应用】珠海万菱环球中心——300m拱北摩天新地标

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

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

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

  • 小迅智能设计

【小讯智能设计】2022年,新产品,新设计,新生活!

【小迅智能设计】第1集:字符避让算法在墙柱平面设计中的应用

【小迅智能设计】第2集:不建楼层,无以成模型

  • OpenSees

【OpenSEES】OpenSEES历史版本下载

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

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

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

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

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

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

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

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

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

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

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

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

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

【OpenSEES】浅析迭代(一)

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

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

【OpenSees】双向地震与动力增量分析

【OpenSees】主余震与序列地震分析(一):功能实现

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

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

【OpenSEES】PM截面分析实例

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

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

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

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

【OpenSees】2021日本E-Defense盲测比赛:底部带摩擦摆的足尺钢框架结构


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

作者: ganggouren

为您推荐

发表回复

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

联系我们

联系我们

17717621528

在线咨询: QQ交谈

邮箱: 1356745727@qq.com

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

微信扫一扫关注我们

关注微博
返回顶部