python dll 调用 方法未找到_【编程】Python效率测试与调用.Net的基本方法

本文探讨了Python通过Pythonnet调用.NET DLL进行效率测试。在比较Python原生实现与调用.NET的反应谱求解耗时后,发现Python效率较低,建议在处理大量任务时结合其他高效语言如C#。同时,文章列举了多个OpenSees和结构性能设计的相关资源。
摘要由CSDN通过智能技术生成
“以反应谱求解为例,纯Python效率低难以承担批量任务 ” Python是科研利器(地震波转反应谱 附源码),但其 效率常为人诟病 。研究所需求取 43万条地震波 的反应谱 (【广东省性能设计规程】与国家高规对比浅谈反应谱的修正与完善),此时 效率 便尤为关键。本推送将简述 Python调用.Net的基本方法 ,并以反应谱求解为例来对比 Python与.Net间的效率差异 。

1d89997ab5866b5d36b1d6258a7dae81.png

Python调用.Net

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

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()
1d6260cd55017db39dea6157753ba87d.png

效率测试

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

ff050f1cfa871a7cdc80d154c72fcc97.png

7c6d24cf018cd4ec28d1b55d86207686.png 基于.Net、Python的反应谱求解方法 ,及Phyton调用.Net的例子均已 开源 。点击 即可下载。

2ab2aafea91635a677d9a01845d5ad18.png

245aa5a7c489a0862b7cb5f1cc45e070.png

精彩回顾:

【会议总结】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 [约束混凝土本构计算工具]

d605a31e94fae8fcbe94f20d78175042.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值