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

首页 结构乌托邦-公众号 【编程】Python效率测试与调用.Net的基本方法

【编程】Python效率测试与调用.Net的基本方法

“以反应谱求解为例,纯Python效率低难以承担批量任务
Python是科研利器(地震波转反应谱 附源码),但其效率常为人诟病。研究所需求取43万条地震波的反应谱【广东省性能设计规程】与国家高规对比浅谈反应谱的修正与完善),此时效率便尤为关键。本推送将简述Python调用.Net的基本方法,并以反应谱求解为例来对比Python与.Net间的效率差异

Python调用.Net

采用第三方模块Pythonnet来调用.Net接口。Pythonnet是cpython的拓展,提供了cpython和.Net程序集之间交互的桥梁。
  • 导入Pythonnet
  1. import clr

  • 引用dll并导入.Net类

clr.AddReference('Spectrum')
from System.Collection.Generic import List
from System import Single
from Spectrum import *
  • 实例化对象并调用方法
sm = SpectrumMethod()
result = sm.GetResults()

效率测试

在Phyton及.Net分别实现基于Newmark的反应谱求解方法。通过裸Phyton及Phyton调用.Net这两种方式对同一地震波进行反应谱求解,将两者求解的耗时记录于下表。由表可知,Phyton效率堪忧。因此建议大家在完成大批量任务时,将Phyton与其他语言(C++、C#)混合使用。

基于.Net、Python的反应谱求解方法,及Phyton调用.Net的例子均已开源。点击“阅读原文”即可下载。


精彩回顾:

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

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

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

【YTO】YJK to OpenSees:框架结构算例验证

【YTO】YJK to OpenSees:剪力墙结构算例验证
  • PBSD

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

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

【PBSD】【Perform3D】论如何利用12条纤维准确模拟梁力学性能

【PBSD】纤维剖分与PMM截面分析文档——柱单元篇

【Perform3D】推荐一款免费的YTP导模工具

  • OpenSees

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

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

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

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

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

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

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

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

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

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

【OpenSEES】浅析Newton迭代(一):减少刚度重构工作量与减少迭代次数谁更有意义?

【OpenSees】常见问题解决方法(一)

【OpenSees】常见问题解决方法(二)

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

  • 工具

【工具】PC端文字识别小工具2.0[Mini_OCR]

【工具】OSV2.0 [OpenSees可视化工具]

【工具】FSV [轻巧OpenSees纤维截面可视化工具]

【工具】GMI2.0 [地震波智能截波工具]

【工具】Ductility(延性系数计算工具)

【工具】CC-Constitution [约束混凝土本构计算工具]


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

作者: ganggouren

为您推荐

发表回复

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

联系我们

联系我们

17717621528

在线咨询: QQ交谈

邮箱: 1356745727@qq.com

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

微信扫一扫关注我们

关注微博
返回顶部