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中的字符串字符下打印星号(*)   java在比较数据后得到错误的结果   java如何在使用JSP创建的网站中创建父子关系和处理?   java配置单元UDF:无法执行求值方法   java GAE项目Intellij远程调试在关闭时不释放端口   java按钮上的放大和缩小功能点击JfreeChart折线图?   java Selenium Chrome Web驱动程序SessionNotCreatedException   java由ADFactoryBuilder生成的线程工厂是线程安全的吗?   java将字符串[]传递给另一个类Android(使用intent)   我为什么要嘲笑java?   JavaLiferay门户不将对象从流程阶段发送到jsp   java我想在单击每个树节点时将要添加的信息放入jpanel jscrollpane中   在Java中模拟数组引用(即对引用的引用)的按引用传递   Jackson将JSON属性反序列化为不同的Java对象   java使用JSP/servlet在网页上显示Excel工作表?   仿射变换Java:使用仿射变换时游戏速度减慢   Servlet JBoss AS 7的java EJB注入   在Oracle数据库中使用Java的plsql   java管理Maven项目中的库依赖项   JavaEclipseLink(JPA)异常:复合主键@JoinColumn