随时间变化的分子激发态布居模型
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测试。 需要numpy,scipy,pandas,pyyaml和matplotlib>;=1.5(如果使用pip安装,则自动处理)。 使用pytest使用[pytest mpl插件编写的测试(https://github.com/astrofrog/pytest-mpl rel="nofollow">https://github.com/astrofrog/pytest mpl)。 在Windows环境下开发。推荐PyPI第三方库