随时间变化的分子激发态布居模型

popmodel的Python项目详细描述


#popmodel

< >[构建状态](https://travis-ci.org/awbirdsall/popmodel.svg?branch=master)(https://travis ci.org/awbirdsall/popmodel

python包使用主方程方法计算特定量子态的分子布居。设计用于(目前仅可用)将羟基自由基(OH)激发为一个激发振动状态和一个激发电子状态,使用两个不同的激光器,最多可跟踪四个振动状态。

这意味着我需要为一个研究项目进行缓慢的计算积累,并且需要一些工作来变得更加普遍。

##能力

  • 使用loadhitran从hitran类型文件中提取吸收特征信息(上/下状态、能隙、简并、爱因斯坦系数等)。(仅含oh的振动线,水的解析有限)
  • 根据多普勒和压力展宽计算吸收特征的形状(absprofile.absprofileobject)。
  • 自动定义窄激光线宽在加宽吸收特性上的快速调制(sweep.sweepobject)。
  • 求解odes系统以计算随时间变化的每个状态的人口。odes中包含的过程包括受激吸收/发射、自发发射和lambda双光子/旋转/振动/电子弛豫(main.kineticsrunobject)。
  • 创建种群或激光频率随时间变化的图;创建红外吸收特性图(main.kineticsrun.[…]figure()函数)。
  • 与大气科学有关的方便单位转换函数(atmcalcs
  • 与oh光谱有关的常数和函数(ohcalcs

popmodel的核心是kineticsrun对象。每个kineticsrun实例都需要描述光谱跃迁速率、激光器、检测单元、跃迁线和ode积分的参数字典。预期的字典格式是为从yaml文件中提取而设计的,并且与命令行使用兼容。

##必需的输入文件

###Hitran文件

红外线参数是从oh的140字符格式的hitran 2012文件(默认文件名13_hit12.par)中提取的,可在https://www.cfa.harvard.edu/hitran/" rel="nofollow">https://www.cfa.harvard.edu/hitran/访问。模块中的一些低级函数也可以读取其他分子的hitran文件,但是由于需要解析字符串des分子特定术语描述。有关记录格式的更多文档,请参见Hitran网站。

oh hitran文件的200行摘录包含在src/popmodel/data/hitran_sample.par中,供测试模块使用。提取hitran_sample.par的路径:

~~~ 从pkg_resources导入resource_文件名 hpath=resource_filename('popmodel','data/hitran_sample.par') ~~~

###yaml参数文件

用于设置kineticsrun实例的参数组织在对应于yaml参数文件的字典中。yaml文件必须遵循的格式模板可以在src/popmodel/data/parameters\u template.yaml

提取popmodel中参数的路径

~~~ 从pkg_resources导入resource_文件名 yamlpath=resource_filename('popmodel','data/parameters_template.yaml') ~~~

##示例用法

γ-逗号第19行<

使用pip安装创建命令行命令popmodel。命令行参数格式:hitfile参数[-l]logfile[-c]csvoutput[-i]image[-v]

例如:

~~~ popmodel 13_hit12.par parameters.yaml-l output.log-c output.csv-i output.png ~~~

###python会话

基本用法:

~~~ 将popmodel导入为pm pm.add_streamhandler()可选,将logging.info打印到屏幕 pm.add_filehandler("path/to.log")可选,将logging.info写入文件 par=pm.importyaml("path_to/yaml/parameters.yaml") hpar=pm.loadhitran.processhitran("path_to/13_hit12.par") K=pm.kineticsrun(百帕,**par) SK() K.波普图() ~~~

##安装

pip安装popmodelinstall from pypi

pip install git+https://github.com/awbirdsall/popmodel在github上安装最新提交

##依赖关系

为python 2.7和3.5测试。

需要numpyscipypandaspyyamlmatplotlib>;=1.5(如果使用pip安装,则自动处理)。

使用pytest使用[pytest mpl插件编写的测试(https://github.com/astrofrog/pytest-mpl rel="nofollow">https://github.com/astrofrog/pytest mpl)。

在Windows环境下开发。

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

推荐PyPI第三方库


热门话题
日期和现在之间的Java时间   java以适当的方式更新jLabel和jTextField   java如何从PQ(单链表)中删除最大值   java可以通过任何方式找出哪些NSF文件属于Domino服务器   java Velocity 2不会设置属性   如何使用java流迭代索引映射列表   maven依赖项在编译期间工作,但在java运行时失败。lang.NoClassDefFoundError&java。lang.ClassNotFoundException   java有没有办法完全隐藏Web应用程序代码?   Android appcompat v7 21库中的java FadingActionBar错误   Eclipse/com中的java AdMob。谷歌。安卓gms。ads.AdView   java My Service表示它正在运行,但其状态尚不清楚,似乎没有绑定   java无法启动Apache Tomcat Web应用程序容器   JDK:java中的命名约定。可丢弃的   Spring SerSecurity中的java身份验证错误   Maven:使用JDK8编译Java7   java在使用ExecutorService时如何管理内存?   comm.jar通信串行端口java   java LibGDX创建动画