一个用于解析spice原始数据文件的小python包

spr的Python项目详细描述


spice原始分析器(spr)

一个用来解析spice原始数据文件的小python包。

开始

这些说明将为您提供一份在本地计算机上运行的包的副本。

注意:目前只支持ascii raw spice格式!

安装

来自PYPI

pip install spr

来自源代码
pip install git+https://github.com/goncalo-godwitlabs/spr.git

git clone git@github.com:goncalo-godwitlabs/spr.git
cd spr/
make install

使用量

只需运行:

from spr import load_raw
data = load_raw("/path/to/rawspice.raw")

数据结构

load_raw()正确解析的原始spice文件返回具有以下结构的字典:

{
    "title": <str>,
    "date:": <str>,
    "plotname:": <str>,
    "flags:": <str>,
    "no_vars:": <str>,
    "no_points:": <str>,
    "vars": [
        { "idx": <int>, "name": <str>, "type": <str> },
        { "idx": <int>, "name": <str>, "type": <str> }
        ...
        { "idx": <int>, "name": <str>, "type": <str> }
    ]
    "values": {
        "var1": <numpy.ndarray>,
        "var2": <numpy.ndarray>,
        ...
        "varN": <numpy.ndarray>
    }
}

其中值values是具有实际数据的numpy结构数组。

示例

以下示例使用ngspice运行spice模拟,请确保已安装。 在ubuntu上应该是:

sudo apt install ngspice

带opamp lm741

的反相放大器

检查目录examples/amplifier/以获取有关电路和模拟文件的详细信息。

示意图:

使用以下命令运行模拟:

git clone git@github.com:goncalo-godwitlabs/spr.git
cd spr
make run-example-amplifier

它将启动ngspice生成output.log和rawspice.raw文件,并绘制电压vinvout

带有Opamp LM741的二阶低通滤波器

检查目录examples/lp_filter/以获取有关电路和模拟文件的详细信息。

示意图:

使用以下命令运行模拟:

git clone git@github.com:goncalo-godwitlabs/spr.git
cd spr
make run-example-lp_filter

它将触发ngspice生成output.log和rawspice.raw文件,并绘制db中的增益vout/vin

许可证

这个项目是根据麻省理工学院的许可证授权的-请参见LICENSE.md文件以了解详细信息

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

推荐PyPI第三方库


热门话题
java Slick2D鼠标单击在Windows 10中不起作用   java在多线程中使用titan graph的最佳实践是什么?   java以编程方式访问清单。主类MF   安卓区分对JavaSpring后端的web和本机应用程序请求   java StringTemplate getInstanceOf返回null   java InvalidDataAccessApiUsageException:未找到线程绑定请求:   编码在Java中只对查询键和参数进行url编码的最佳方法是什么?   java如何使用mavenjarplugin从自定义jar文件中排除METAINF文件夹   Java:引发异常后程序未崩溃   安卓如何通过文件名找到/res/raw文件夹中文件的资源id?   html Selenium Java与HTML5的拖放   java是否可以在不同的对象中使用单个输入?   java谷歌应用引擎cron作业后端   java如何将列表项的信息传递给新的列表活动?   java是否可以要求junit在进行测试之前运行一个命令?   在异常中提供附加信息的java可持续方法?   java可编辑JComboBox:使用快捷方式启动操作时获取当前值   java运行时错误“名称错误:applicationarbre/Main”   继承java如何获取超类方法来修改子类字段