WSAP为开源结构力学求解器,开放简洁、实用的.NET接口。有.NET开发经验的个人及团队,不妨尝试下WSAP来满足力学求解需求,协助打造结构选型、截面优化及条文复核等衍生产品。WSAP相关推送如下:
本期推送主要介绍WSAP框架单元的荷载定义方式。WSAP目前开放了均布荷载、集中荷载、三角形荷载及梯形荷载的.NET接口,荷载间可相互组合使用。WSAP支持任意荷载的分布模式,若有需求可持续开放。点击“阅读原文”可直接查看WSAP开源项目。
算例关键接口示例
-
//模型初始化
-
//量纲:N、mm、t
-
var model =newW ModelNet();
-
-
/// <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="gravityUniformLoad"> 均布荷载 </param>
-
/// <returns> 是否施加成功 </returns>
-
bool isSuccess = model.AddBeamUniformLoad(int elementTag, double gravityUniformLoad);
-
-
/// <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:对框架单元施加三角形荷载(-Z方向)
-
/// 荷载分布形式:/
-
/// </summary>
-
/// <param name="elementTag"> 单元编号 </param>
-
/// <param name="gravityMaxLoad"> 三角形荷载峰值 </param>
-
/// <param name="loadLengthFacotr"> 三角形荷载峰值位置:距I端长度系数 </param>
-
/// <returns> 是否施加成功 </returns>
-
bool isSuccess = model.AddBeamTriangularLoad(int elementTag, double gravityMaxLoad, double maxLoadLengthFacotr);
-
-
/// <summary>
-
/// WModelNet:对框架单元施加梯形荷载(-Z方向)
-
/// 荷载分布形式:/---
-
/// </summary>
-
/// <param name="elementTag"> 单元编号 </param>
-
/// <param name="gravityMaxLoad"> 梯形荷载峰值 </param>
-
/// <param name="maxLoadLengthFacotrI"> 梯形荷载峰值峰值起始位置:距I端长度系数 </param>
-
/// <param name="maxLoadLengthFacotrJ"> 梯形荷载峰值峰值终点位置:距I端长度系数 </param>
-
/// <returns> 是否施加成功 </returns>
-
bool isSuccess = model.AddBeamTrapezoidLoad(int elementTag, double gravityMaxLoad, double maxLoadLengthFacotrI, double maxLoadLengthFacotrJ);
-
-
/// <summary>
-
/// WModelNet:创建有限元模型
-
/// </summary>
-
/// <param name="clearLoadCases"> 是否清空荷载 </param>
-
/// <returns> 是否创建成功 </returns>
-
bool isSuccess = model.CreateFEModel(bool clearLoadCases);
-
-
/// <summary>
-
/// WModelNet:基于荷载的线性求解器
-
/// </summary>
-
/// <returns> 是否求解成功 </returns>
-
bool isSuccess = model.DoLinearStaticAnalyze();
荷载测试
图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