WSAP为开源结构力学求解器,开放简洁、实用的.NET接口。有.NET开发经验的个人及团队,不妨尝试下WSAP来满足力学求解需求,协助打造结构选型、截面优化及条文复核等衍生产品。WSAP相关推送如下:
本期推送主要介绍WSAP框架单元端部弯矩释放的定义方法。点击“阅读原文”可直接查看WSAP开源项目。
算例关键接口示例
-
//模型初始化
-
//量纲:N、mm、t
-
var model =newWModelNet();
-
-
/// <summary>
-
/// WModelNet:添加节点
-
/// </summary>
-
/// <param name="tag"> 节点编号 </param>
-
/// <param name="x"> 节点X坐标 </param>
-
/// <param name="y"> 节点Y坐标 </param>
-
/// <param name="z"> 节点Z坐标 </param>
-
/// <param name="isFix"> 节点是否约束 </param>
-
/// <returns> 节点对象 </returns>
-
WNodeNet node = model.AddNode(int tag, double x, double y, double z, bool isFix);
-
-
/// <summary>
-
/// WModelNet:添加矩形梁单元,默认不考虑P-Delta
-
/// 截面局部向量默认高度方向指向全局Z向
-
/// 默认不考虑刚域
-
/// </summary>
-
/// <param name="iNodeTag"> I端节点编号 </param>
-
/// <param name="jNodeTag"> J端节点编号 </param>
-
/// <param name="width"> 截面宽度 </param>
-
/// <param name="height"> 截面高度 </param>
-
/// <returns> 单元对象 </returns>
-
WElementNet beam = model.AddRectConcreteBeam(int iNodeTag, int jNodeTag, double width, double height);
-
-
/// <summary>
-
/// WElementNet:设定单元杆端弯矩释放类型
-
/// FrameReleaseEnum.NoRelease:不释放弯矩(默认)
-
/// IRelease:释放i端弯矩
-
/// JRelease:释放j端弯矩
-
/// IJRelease:释放ij端弯矩
-
/// </summary>
-
/// <param name="releaseType"> 杆端弯矩释放类型 </param>
-
/// <returns> 是否修改成功 </returns>
-
bool isSuccess = beam.SetReleaseType(FrameReleaseEnum releaseType);
-
-
/// <summary>
-
/// WModelNet:对框架单元施加点荷载(-Z方向)
-
/// 荷载分布形式:*
-
/// </summary>
-
/// <param name="elementTag"> 单元编号 </param>
-
/// <param name="gravityLoad"> 点荷载 </param>
-
/// <param name="loadLengthFacotr"> 点荷载施加位置:距I端长度系数 </param>
-
/// <returns> 是否施加成功 </returns>
-
bool isSuccess = model.AddBeamPointLoad(int elementTag, double gravityLoad, double loadLengthFacotr);
-
-
/// <summary>
-
/// WModelNet:创建有限元模型
-
/// </summary>
-
/// <param name="clearLoadCases"> 是否清空荷载 </param>
-
/// <returns> 是否创建成功 </returns>
-
bool isSuccess = model.CreateFEModel(bool clearLoadCases);
-
-
/// <summary>
-
/// WModelNet:基于荷载的线性求解器
-
/// </summary>
-
/// <returns> 是否求解成功 </returns>
-
bool isSuccess = model.DoLinearStaticAnalyze();
-
-
/// <summary>
-
/// WElementNet:获得监测截面的截面力
-
/// 默认有11个监测截面,当施加有集中荷载时自动扩充监测截面
-
/// forceType:N Vy Vz My Mz T
-
/// </summary>
-
/// <param name="forceType"> 截面力类型 </param>
-
/// <returns> 监测截面的截面力列表 </returns>
-
List<double> sectionForceList = element.GetSectionForces(FrameLocalForceEnum forceType);
-
-
/// <summary>
-
/// WElementNet:获得监测截面距I端相对位置
-
/// 默认有11个监测截面,当施加有集中荷载时自动扩充监测截面
-
/// </summary>
-
/// <returns> 监测截面的位置列表 </returns>
-
List<double> posList = element.GetSectionPosList();
杆端释放测试
图1 SAP2000杆端释放与集中荷载施加示意图
精彩回顾: 【会议总结】OpenSEES Days Eurasia 2019 in PolyU 【PBSD】【OpenSees】在2019日本E-Defense盲测比赛的表现 【PBSD】2019年更新历史——结构抗震性能设计软件PBSD 【PBSD】超限工程好助手:结构抗震性能设计软件PBSD功能简介 【PBSD】【OpenSEES】【YTO】智能化的结构弹塑性分析全套解决方案 【PBSD】V1.0.5.0版正式发布:免费地震动工具箱之教学视频 【PBSD】【PERFORM-3D】性能前馈集中塑性铰单元的定义、优势与测试 【PBSD】性能前馈集中塑性单元PFLPH与纤维单元力学性能对比 OpenSees 【OpenSEES】OpenSEES历史版本下载:v1.7.2-v3.1.0 【OpenSees】应力元纤维单元的Localization Issues 【OpenSees】新版Ibarra-Medina-Krawinkler(IMK)模型的前世今生 【OpenSEES】浅析迭代(二):基于LineSearch优化迭代算法 【OpenSEES】浅析迭代(三):基于Krylov优化迭代算法 【OpenSees】SecAggregator为DispBC赋予剪切刚度乃无用功 WSAP 【工具】OSRun [OpenSees运行辅助工具][开源] 【工具】FSV [OpenSees纤维截面可视化工具][开源]