拉伸等面积发生器
seagen的Python项目详细描述
希根
扩展等面积(sea)算法的python实现 精确生成粒子的球对称排列 粒子密度,例如,对于精确匹配 任意密度剖面,如Kegerreis等人所述。(2019年),MNRAS 487:4, 5029-5040,https://doi.org/10.1093/mnras/stz1606。
雅各布·凯格瑞斯(2019年)jacob.kegerreis@durham.ac.uk
乔希借
访问https://github.com/jkeger/seagen下载包含示例的代码 为了支持。
这个程序已经被广泛测试过了,但还没有完全测试过如果 如果您发现任何错误、潜在改进或值得添加的功能,请 让我们知道
目录
seagen.py
主程序类和函数。examples.py
演示如何使用seagen模块的示例。setup.py
,setup.cfg
,__init__.py
,MANIFEST.in
Python包文件LICENSE.txt
GNU通用公共许可v3+。
基本用法
- 有关所有详细信息,请参见
seagen.py
中的文档字符串 - 创建单个粒子壳并打印其位置:
importseagenN=100r=1particles=seagen.GenShell(N,r)print(particles.x,particles.y,particles.z)
- 在一个简单的密度剖面上创建一个完整的粒子球体并打印它们
位置和质量:
importseagenimportnumpyasnpN=100000radii=np.arange(0.01,10,0.01)densities=np.ones(len(radii))# e.g. constant densityparticles=seagen.GenSphere(N,radii,densities)print(particles.x,particles.y,particles.z,particles.m)
- 参见
examples.py
了解其他工作示例,例如任意密度 具有多层和额外温度信息的外形。
安装
PyPI
:使用pip install seagen
自动安装软件包,请参阅 https://pypi.org/project/seagen/- 直接下载:单个
seagen.py
文件可以在没有 任何额外的安装,所以您可以下载这个存储库并放置 本地目录或python将查找模块的位置中的文件
要求
- Python 3(用3.6.0测试)
符号等
- 除了一些压痕对齐之外,在大多数情况下都遵循PEP8。
- 数组用前缀
A1_
,或An_
显式标记 ^{多维数组。 - 粒子缩写为
picle