python流形是derek rayside流形微流控模拟工具的python实现

pymanifold的Python项目详细描述


#pymanifold
manifold微流控模拟语言的python实现

***连接**-将两个节点连接在一起
***端口**-一种允许流体输入或输出的节点类型
**约束**-描述在电路完成后,对于其他三个基元来说过于复杂而无法描述的设计规则或目标
设计时,您可以在原理图上调用solve,它将使用可满足性模理论(SMT)解算器来确定给定的设计和参数是否有解(意味着电路将工作),如果有,则提供参数范围(连接尺寸,流量,压力,等)
电路将保持正常工作

[pysmt](https://github.com/pysmt/pysmt),一个用于python的smt
解算器库,用于确定所设计的微流控电路是否能工作,如果能工作,在多大的参数范围内。

一旦安装完毕(记住调用``pysmt install--z3``来安装
z3 smt解算器在pysmt中并向您添加pythonpath环境变量my calling
``pysmt install--env``并运行该命令。这将安装z3解算器my microsoft,用于解决smt2方程组。

\src/py manifold.py
在python3站点包中(在windows上的c:\\ python35\lib\site包,
/usr/local/lib/python3.5/dist-packages在linux上)。


将微流控电路设计为一个示意图,包括:

**nodes**-包括基本设备,如逻辑门或流体输入通道
**connections**-将两个节点连接在一起
**ports**-允许流体输入或输出的节点类型***约束**-描述设计规则或目标,这些规则或目标太复杂,无法用其他三个原语来描述


电路设计完成后,您可以调用原理图上的"求解",该原理图将使用可满足性模理论(SMT)求解器来确定给定的设计和
参数有一个解决方案(意味着电路将工作),如果有,提供
参数范围(连接尺寸、流量、压力等)
电路将保持功能

在本地机器上运行的用于开发和测试目的的项目副本。


电路将
工作,如果在参数范围内工作。

命令。这将安装z3解算器my microsoft,用于解决smt2方程组。

\在python3站点包中(Windows上的C:\\ python35\lib\site packages,
/usr/local/lib/python3.5/dist-packages on Linux)。


`
并在Docker中使用:
`Docker run-e"pythonpath=/dreal4/opt/dreal/4.18.07.1/lib/python2.7/site packages"-it--rm-v$(pwd):/tmp-w/tmp pymanifold python3 src/pymanifold.py`
在Pymanifold上访问OpenModelica,运行:
`docker container run-it--user$(id-u):$(id-g)--rm pymf om:jessie bash`
创建简单T形连接液滴生成器的代码如下所示
[测试脚本](src/test.py),但仍在开发中:

```
import pymanifold as pymf

节点应具有相同的流速
语法:sch.port(名称、设计、压力、流速、x廑pos、y廑pos)
sch.port(连续节点,"输入",2、5、0、0)
sch.port(分散节点,"输入",2、2、1、1)
sch.port(输出节点,"输出",2、5、2、0)
sch.node(连接节点,2、1、0,kind='t-junction')
语法:sch.channel(shape,min-lu length,width,height,input,output)
sch.channel('rectangle',0.5,0.1,continuous戋node,
junction戋node,phase='continuous')
sch.channel('rectangle',0.5,0.1,0.1,dispersed戋node,
junction相位"分散的")
sch.通道("矩形",0.5,0.1,0.1,连接节点,
输出节点,phase='output')


需要添加的功能有:

*添加一个电动十字轴作为一种新的节点类型,两端有电压,另两个短端有压力驱动的流量。步骤:
*创建一个名为translate-ep-cross的新translate方法
*这需要4个连接,其中两个必须有电压限制,另两个必须有压力
限制
*这将需要创建一个新的端口类型,即电压输入,当前仅
流体注入口存在压力和流量,这将有电压而无流量
*需要附加基于Stephen Chou报告中的正确SMT表达式,以模拟
电泳交叉(EP交叉)https://drive.google.com/open?id=1uf-jun4-ppjhyb1wmqfzaunbzsdkzl
*将该转换方法的名称添加到名为ep_cross
*feature的translate_节点,以将芯片的电特性输出到maplesim(或类似的东西)
*可能使用Dassault Systems的此库[fmpy](https://github.com/catia systems/fmpy)
*或使用[ompython]生成modelica代码(https://github.com/openmodelica/ompython)
以馈送到maplesim中
*使用[read the docs]创建网站以概述使用情况(https://readthedocs.org/)
*填写内容以匹配其他内容像[pysmt](http://pysmt.readthedocs.io)
或[jupyter](http://jupyter.readthedocs.io)
*把这个库放在pip上以简化安装
*收集真实世界微流控芯片设计及其输出信息的数据库
*实现机器学习此数据库上的算法,用于提高库在确定不同设计是否有效时的准确性*-[jsreid13](https://github.com/jsreid13)
**murphy berzish**-*流形的创建者*-[mtrberzi](https://github.com/mtrberzi)
**derek rayside**-*流形的所有者*-[draysid(https://github.com/drayside)
**chris willar**-*对流形的贡献者*-[cwillgit](https://github.com/cwillgit)
**shubham verma**-*对流形的贡献者*-[vermash](https://github.com/vermash)
**yifan mo**-*对流形的贡献者*-[YMO13](https://github.com/ymo13)
**tyson andre**-*贡献者到流形*-[tysonandre](https://github.com/tysonandre)
**max chen**-*贡献者到流形*-[maxqchen](https://github.com/maxqchen)
**nik klassen**-*贡献者到流形*-[nikklassen](https://github.com/nikklassen)
**peter socha**-*manifold的贡献者*-[psocha](https://github.com/psocha)


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

推荐PyPI第三方库


热门话题
有没有一种方法可以将不同的java web应用程序组合到一个web应用程序(war)中而不相互影响?   java一次屏蔽两位   java如何在多个类上初始化元素?   java在后台服务中处理通知或使用GCM(或其他推送通知服务)   java从const方法调用JNI函数   javascript如何使用函数/方法返回?   Java优化:声明类变量与使用临时变量   java字符算术基数8 vs基数10   Java流收集要存储的对象列表   swing我正在用Java中的keyListener制作一个精灵移动器   在Gradle构建脚本中使用Scala(或java)方法   java Android Mediaplayer下一步按钮不起作用   Java Sound API在播放音频文件后将其锁定   java将变量从外部类传递到内部类的最佳方法   使用play framework的博客web应用程序出现java逻辑错误   java我们可以在Spring批处理中处理大型zip文件吗?   java如何检查JTable的选定行的特定列中的值是否已经在JList中?