spice类电子电路模拟器

ahkab的Python项目详细描述


一个用python编写的类似spice的电子电路模拟器

代码应该易于阅读和修改,主要语言是python –2或3–独立于平台。

新闻!

这些天我的资源有限,所以急需的工作是 缓慢地进行,尽管希望是稳定的。如果你感兴趣 您希望为重构或记录特定的 功能,非常欢迎。

Build StatusCoverage StatusPyPi versionGPLv2 licenseDOI

支持的模拟:

结果保存到磁盘,打印或打印到标准输出,并且可以 由最常用的工具(如 OctavegnuplotMatlabgwave和其他)

安装

程序要求:

  • python解释器版本2或3(python2至少是v.2.6, 5.3.3Python3),
  • numpy>;=1.7.0,scipy>;=0.14.0,sympy>;=0.7.6,tablete>;=0.7.3。

强烈建议使用matplotlib,否则无法进行绘图。

如果需要有关依赖项的更多信息,请检查Install notes

用法

一。ahkab可以作为python库运行

fromahkabimportnew_ac,runfromahkab.circuitimportCircuitfromahkab.plottingimportplot_results# calls matplotlib for youimportnumpyasnp# Define the circuitcir=Circuit('Butterworth 1kHz band-pass filter')cir.add_vsource('V1','n1',cir.gnd,dc_value=0.,ac_value=1.)cir.add_resistor('R1','n1','n2',50.)cir.add_inductor('L1','n2','n3',0.245894)cir.add_capacitor('C1','n3','n4',1.03013e-07)cir.add_inductor('L2','n4',cir.gnd,9.83652e-05)cir.add_capacitor('C2','n4',cir.gnd,0.000257513)cir.add_inductor('L3','n4','n5',0.795775)cir.add_capacitor('C3','n5','n6',3.1831e-08)cir.add_inductor('L4','n6',cir.gnd,9.83652e-05)cir.add_capacitor('C4','n6',cir.gnd,0.000257513)cir.add_capacitor('C5','n7','n8',1.03013e-07)cir.add_inductor('L5','n6','n7',0.245894)cir.add_resistor('R2','n8',cir.gnd,50.)# Define the analysisac1=new_ac(2.*np.pi*.97e3,2.*np.pi*1.03e3,1e2,x0=None)# run itres=run(cir,ac1)# plot the resultsplot_results('5th order 1kHz Butterworth filter',[('|Vn8|',"")],res['ac'],outfilename='bpf_transfer_fn.png')

2.ahkab可以使用netlist文件从命令行运行

语法为:

`$ python ahkab -o graph.dat <netlist file>`

有关命令行开关,请参见ahkab --helpalso online on the documentation pages.

文件

这个documentation is available on RTD

在那里,你可以找到 documentationexamples 关于如何从python脚本进行模拟。

参考netlist syntax page 如果您喜欢编写描述电路的netlist文件。

有运行spice或相关商业模拟器的经验 非常有用:这不是给胆小的人的。

发展模式

欢迎使用补丁和拉取请求!

这个项目是如何诞生的

很明显,这个项目是在我还是一个狂热的大学生的时候诞生的 有足够的空闲时间参加“Simulazione Circuitale”(电路 由{a24}在意大利的 米兰理工大学。

我很感谢布朗比拉教授教授教授 我大学时代的有趣课程。-总价值

缺陷和补丁

有效吗?漏洞?有补丁吗?你跑了一些值得注意的 模拟?告诉我!欢迎反馈,我的email address在验证码后可用。

捐款支持发展

如果您希望支持ahkab*的开发,请捐赠给 癌症研究:*

学分

作者:Giuseppe Venturini, 有来自Ian Daniher的贡献 和Rob Crowther

代码:模块py3compat.py是(c)2013-Jinja团队。

依赖关系:非常感谢numpyscipy的作者, sympymatplotlibtabulate

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在数据库中存储工作日数据以及开始时间和结束时间?   mysql Java JPA内部联接查询不起作用   java MQ消息在不同的客户端应用程序中显示不同   javascript如何在xPage上提高typeAhead性能?   java在尝试保存EditText时无法暂停   mongodb“未能使用带参数的构造函数NO_构造函数实例化java.util.List”,   java如何修改使IllegalArgumentException:列“\u id”不存在的游标   转换Android。网Uri到Java。伊奥。输入流   java NetBeans RCP居中弹出窗口无法按预期工作   java将sql开发人员与netbeans连接起来   带有xmldsig签名的java JAXB编组   java ORACLE JDBC批处理执行不会返回受影响行的实际计数   java无法理解如何在由swagger自动生成的jaxrs服务器中访问请求头   java如何处理漏洞CVE20181258,同时将Spring安全版本5与外部客户端(最新版本)一起使用?   JavaSpring数据JPA存储库多租户单模式技术