实例介绍
-
PM分析
-
PM分析实例的基本架构
整个TCL代码分为OS.tcl、Model.tcl、Mat&Sec.tcl、Function.tcl四个文件。其中,OS.tcl为PM分析的主入口,Model.tcl基于zeroLengthSection单元定义分析模型,Mat&Sec.tcl为用于截面分析的纤维截面及纤维材料信息,Function.tcl储存PM分析所需的辅助函数。本算例具有以下特点:
-
通过应变控制截面分析进程。在推送【OpenSees】如何利用应变控制截面分析的进程 的基础上进行拓展,使截面分析适用于三维模型;
-
通过eleResponse命令记录单元内力,以获得PM曲线数据点集; -
利用推送【OpenSEES】24类纤维截面剖分TCL函数 完成纤维剖分。
-
PM分析实例的控制参数
-
#Tension Strain to Stop Analysis
-
set tension_strain_limit 0.05
-
#Compression Strain to Stop Analysis
-
set compress_strain_limit -0.02
-
#Analysis Control by Two Limits or Only One
-
#"false": When one limit is reached, Stop Analysis
-
#"true": Only When two limits have both reached, Stop Analysis
-
set is_both_control "false"
-
#Section angle to +Y Axis
-
set Section_angle0
-
#PMCurve Point Numbers
-
set prt_num 20
-
PM分析实例的基本流程
-
确定截面局部向量
-
#Change angle to radian
-
set PI 3.1415926
-
set Section_radian[expr $Section_angle *2* $PI /360]
-
##Caculate the local vector
-
set yp1 [cos $Section_radian]
-
set yp2 [sin $Section_radian]
-
确定轴力边界及轴力增量
-
#Get the Min Axialload (Compress)
-
set CompressLimit[Get_AxialLoad_Limit $tension_strain_limit $compress_strain_limit 1]
-
#Get the Max Axialload maximum (Tension)
-
set TensionLimit[Get_AxialLoad_Limit $tension_strain_limit $compress_strain_limit -1]
-
#Define the delta of AxialLoad
-
set AxialLoadDelta[expr ($TensionLimit - $CompressLimit)/ $prt_num ]
-
通过截面分析计算每个轴力下的抗弯承载力值
-
#For each AxialLoad and Get Moment Capacity
-
for{ set Axial_Load $CompressLimit }
-
{ $Axial_Load <= $TensionLimit }
-
{ set Axial_Load[expr $Axial_Load + $AxialLoadDelta]}{
-
#Moment Capacity
-
set moment [Get_Moment_Capacity $Axial_Load $tension_strain_limit $compress_strain_limit $is_both_control $yp1 $yp2]
-
#AxialLoad
-
set axialLoad [format "%.3f"[expr -1E-3* $Axial_Load]]
-
#Append the MomentList and AxialloadList
-
append momentmaxlist " " $moment
-
append axialloadlist " " $axialLoad
-
}
-
PM分析实例所用函数简介
-
PM分析实例的运行效果
图2 PMM实例运行效果
实例测试
以外圆内十字劲截面为例,将实例分析结果与XTract分析结果进行对比(XTract结果来自推送【PBSD】纤维剖分与PMM截面分析文档——柱单元篇)。截面信息如图3所示。
图3 外圆内十字劲截面信息
-
#Source SectionMesh Method
-
source "2_SectionMesh.tcl"
-
#Define Type 105 Section
-
Fiber_Section_Proc_105160020204002002020300150202400512
图4 PM曲线对比
点击“阅读原文”可查看本实例!
精彩回顾:
【会议总结】OpenSEES Days Eurasia 2019 in PolyU
-
PBSD
【PBSD】2019年更新历史——结构抗震性能设计软件PBSD
【PBSD】超限工程好助手:结构抗震性能设计软件PBSD功能简介
【PBSD】V1.0.5.0版正式发布:免费地震动工具箱之教学视频
【PBSD】【OpenSEES】【YTO】智能化的结构弹塑性分析全套解决方案
-
OpenSees
【OpenSEES】OpenSEES历史版本下载:v1.7.2-v3.1.0
【OpenSees】应力元纤维单元的Localization Issues
【OpenSEES】浅析迭代(二):基于LineSearch优化迭代算法
【OpenSEES】浅析迭代(三):基于Krylov优化迭代算法
【OpenSees】SecAggregator为DispBC赋予剪切刚度乃无用功
-
工具
【工具】OSRun [OpenSees运行辅助工具][开源]
【工具】FSV [OpenSees纤维截面可视化工具][开源]