跳转到主要内容

yt的扩展模块,为Idefix和Pluto添加前端

项目描述

yt_idefix

PyPI yt-project

CI pre-commit.ci status Ruff

作为yt扩展打包的Idefix和Pluto的成熟前端

安装

python -m pip install yt_idefix

支持的格式

代码 格式 支持自 额外的依赖关系
Idefix .dmp v0.1.0
Idefix .vtk v0.3.0
Pluto .vtk v0.9.0
Pluto XDMF v1.1.0 h5py

使用

与yt的集成无缝。 安装 此插件即可使yt与 yt_idefix 支持的数据格式兼容!

yt.load 的附加参数

元数据在加载数据集时从数据文件、定义头文件和ini文件中解析。

定义头文件(Pluto使用definitions.h,Idefix使用definitions.hpp)和ini文件(分别对应pluto.iniidefix.ini)如果与默认名称匹配,位于与数据文件相同的位置,并且是唯一的,则会自动发现。否则,可以使用参数definitions_headerinifile分别显式指定路径(可以是相对于数据文件的相对路径或绝对路径)。

ds = yt.load(
    "data.0010.vtk",
    definitions_header="../definitions.h",
    inifile="example.ini",
)

在可能的情况下,几何形状会自动解析,但作为最后的手段,也可以将其作为关键字参数指定(可能的值是“cartesian”,“spherical”,“cylindrical”和“polar”)。

ds = yt.load("data.0010.vtk", geometry="spherical")

数据以具有单位的物理量形式加载。yt中的默认单位系统是cgs。数据始终解释为有量纲。对于Pluto模拟,元数据从definitions.hpluto.ini检索,以自动猜测正确的磁盘单位。

也可以使用units_override参数在运行时提供单位。

ds = yt.load(
    "data.0010.vtk",
    units_override={
        "length_unit": (100.0, "au"),
        "mass_unit": yt.units.mass_sun,
    },
)

请注意,其他单位也将为了一致性而更改(Pluto)。

可以使用unit_system参数控制显示的单位。接受的值是"cgs"(默认值),"mks""code"

ds = yt.load("data.0010.vtk", unit_system="mks")

对于Pluto数据,未使用units_override指定的单位将与给定的单位一致地推导出来,以下是一些规则:

  1. 温度单位不能被覆盖(始终设置为开尔文)
  2. 一次不能覆盖超过三个单位(为了简单起见,永远不会验证过约束系统)
  3. 当给定的覆盖数少于三个时,Pluto中的基本单位(顺序:velocity_unit,density_unit,length_unit)将被假设
  4. 以下组合是不允许的
{"magnetic_unit", "velocity_unit", "density_unit"},
{"velocity_unit", "time_unit", "length_unit"},
{"density_unit", "length_unit", "mass_unit"}

yt能够从现有字段提供一些派生字段,例如"cell_volume"。与元素物种相关的字段可以根据H和He的原始丰度通过default_species_fields(参数"neutral""ionized")创建。

ds = yt.load("data.0010.vtk", default_species_fields="ionized")

字段名称的约定

密度、压力、速度和磁场分量在磁盘上的字段名称始终规范化为大写,即使Pluto在某些版本中使用小写。

>>> ds.field_list
[('pluto-vtk', 'PRS'),
 ('pluto-vtk', 'RHO'),
 ('pluto-vtk', 'VX1'),
 ('pluto-vtk', 'VX2'),
 ('pluto-vtk', 'VX3')]

这种规范化仅适用于非用户定义的输出和Pluto的离子分数输出。

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适合您平台文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

yt_idefix-2.3.2.tar.gz (36.1 kB 查看哈希值)

上传时间 源代码

构建分布

yt_idefix-2.3.2-py3-none-any.whl (39.4 kB 查看哈希值)

上传时间 Python 3

支持