一个简单的化学动力学库

cs207-g7的Python项目详细描述


#CS207 FinalProject
这是第7组的CS207最终项目回购协议
[![构建状态](https://travis-ci.org/cs207g7/cs207-finalproject.svg?branch=master)(https://travis ci.org/cs207g7/cs207最终项目)
[![覆盖状态](https://coveralls.io/repos/github/cs207g7/cs207-finalproject/badge.svg?branch=master)"(https://coveralls.io/github/cs207g7/cs207-finalproject?branch=master)

\chemkin——化学动力学计算工具包求某一化学物种的变化率并计算某一物种的变化率。对于多个基本反应,变化率的形式如下:

<;img src="https://github.com/cs207g7/cs207-finalproject/blob/master/reaction_formula.jpg"width="40%">;

`chemkin'是为灵活性、便携性、易用性和易扩展性而设计的。它的软件设计遵循面向对象的方法,代码是用python编写的。然后"从动力学导入chemkin",您可以访问任何想要的函数。

如何运行测试
----
如果您想要运行测试,请使用以下步骤:
1。将github存储库克隆到本地计算机
2。导航到cs207 finalproject文件夹
3。pytest dynamics

main utilities
----
物种
2。基本信息,如反应id、反应类型、反应方程式等。`每个反应的v1和v2将解析后的原始反应包装到反应类中,将反应信息包装到反应类中。这一步的温度是T。

\并且每个"v2"到"v2"都得到每个反应的反应系数,因为系数类型是xml文件中给出的隐式。如果找到"arrhenius",则检查是否给了"b"
以决定使用modified arr还是regular arr;如果找到"constant",则使用constant coeff。
我们只需要用户提供当前反应集的t,并返回反应系数列表。注意,这个函数可以处理可逆和不可逆反应。如果你的反应集包含可逆和不可逆反应,不用担心,函数也可以处理它们。我们稍后将展示我们如何处理可逆的行为。

计算出"v1"、"v2"和"k"后,
用户可以很容易地计算出每个物种的反应速率。


我们可以很容易地得到任何物种的nasa系数,根据给定的t,我们可以相应地提取出相应的系数。温度。为了获得焓,我们使用了以下方法,即基于给定的t,计算entalphy。rm:
<;img src="https://github.com/cs207g7/cs207-finalproject/blob/master/h_over_rt_formula.jpg"width="40%">;
熵,s_over_t
之后,我们使用每个物种的系数和反应温度计算熵。为了获得熵,我们使用了以下方法:基于给定的t,计算熵:
<;img src="https://github.com/cs207-finalproject/blob/master/s嫒over嫒r嫒formula.jpg"width="40%">;
src="https://github.com/cs207g7/cs207-finalproject/blob/master/backward_coeffs_formula.jpg"width="40%">img src="https://github.com/cs207g7/cs207-finalproject/blob/master/reversible_reaction_formula.jpg"width="40%">;

下面的代码片段显示了计算反应速率的完整示例:

``python
from kinetics.chemkin import reaction,reactionparser,chemkin

x=[2,1,0.5,1,0.5,0.5,0.5]
反应=反应(反应分析器("你的XML"),T)
v1,v2=反应。反应组件(
k=反应。反应系数(
rrs=化学反应。反应速率(v1,v2,x,k)
打印(rrs)
```

新功能:集中式历史记录!
----
简介-动机和特征描述

为了节省计算复杂度和运行时间,我们开发了一个功能,可以记录运行的任何反应集的所有详细信息。


我们的库将跟踪用户计算的所有基本反应,然后将这些反应存储在中央数据库中,以便以后通过not我们开发了一个漂亮的网络界面,允许用户根据物种、温度和可逆/不可逆反应进行搜索,以便让每个人都能访问到这个界面。

对于有兴趣建立自己的基本反应数据库的科学家来说,这是非常有用的。实际上,设计的功能允许用户在不需要再次计算的情况下探索反应。

我们的功能最终允许用户快速查找与已计算的反应相关的信息。

chemkin对于填塞反应的好处是,我们的功能可以在每次运行chemkin时将结果无缝地上传到中央数据库。我们的功能将它们存储在一个类似于nasa多项式的数据库中,但是托管在云上,任何人都可以使用。然后,该网站允许用户在不同的兴趣元素中找到选择的反应。


它处理用户计算的每个反应的结果,并将其存储到mysql数据库中。由于模块history.py,用户能够访问数据库中包含的信息。

请访问:http://52.91.33.182/app/


方法

用户无法直接访问这些方法,因为这些方法是从我们处理用户查询的web应用程序"隐藏"执行的。如果用户想要访问方法,他必须下载包并调用方法。

/>
用户可以查询已计算的反应中包含的任何信息。例如,用户可以根据感兴趣的元素(例如类型、反应中的物种、反应温度等)查找所有反应。该功能允许查询三个不同的类别:物种、反应和温度。选择过滤器并单击搜索按钮后,将从云数据库中检索与查询匹配的反应的详细信息。下面的屏幕截图显示了网页。

<;img src="https://github.com/cs207g7/cs207-finalproject/blob/master/webapp.jpg"width="60%">;


请注意,出于隐私考虑,您可以计算反应率,而无需将其上载到中央数据库,只需按照上面"一个完整的示例"部分中显示的示例进行操作。不过,我们也提供了一个简单的API,供您计算和上传结果。

`` python


0.5]

与django合作,也在aws上主持。此加载项在用户级别所需的所有外部库(仅pymysql)都应与cs207_g7一起自动安装。

\

如果您喜欢我们的工作,并希望为Chemkin的未来发展做出贡献,请首先在我们的存储库中设置一个本地分支,并在代码中进行操作,然后发电子邮件给我们(brafetto at g.harvard.edu),告诉我们你想要做什么来申请捐款许可。一个很好的开始是开放问题列表:https://github.com/cs207g7/cs207 finalproject/issues

请随意查看此链接以获取指导:https://akrabat.com/the-初学者指南-guide-to-contribution-to-a-github-project/

,或者,如果您希望以其他方式进行贡献,我们也接受比特币。

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

推荐PyPI第三方库


热门话题
Java xpath解析无法正确解析   java为什么这个JComponent不能正确绘制?   javajavax。加密。BadPaddingException:错误:1e06b065:密码函数:EVP_DecryptFinal_ex:BAD_DECRYPT异常   如何使用Java将数据设置为Selenium Chrome驱动程序的ChromeOptions?   java计算在论坛上回复答案所需的时间   java在循环链表和迭代器API中缺乏确定性   JAVAutil。扫描器使用Java扫描器类,如何获取特定字符串后面的最新数字?   转换Java。util。使用Jersey和JAXBElement映射到JSON对象   java查找Android库包名称和版本   通过ProcessBuilder的java(阻塞)交互式shell   java捕获异常和错误   java组织。springframework。奥姆。冬眠3。HibernateSystemException:未知实体   矩阵乘法/加法中的java并发性   java计算网络的连接计数   java代码没有按它应该做的那样做?   JavaCXFSOAPWS客户端存根。pfx证书认证   Java剥离/删除字符串中的多个单词   nutch教程“根目录下文档中的标记必须格式良好”之后的java“致命错误”