1 个不稳定版本
0.1.0 | 2021 年 2 月 10 日 |
---|
#464 在 科学
3.5MB
3K SLoC
CPO 分析器
该软件包包含用于分析晶体/晶格优选取向(CPO/LPO)数据的工具。它目前旨在轻松地从 ASPECT 生成的 CPO 数据中创建极点图(https://github.com/geodynamics/aspect/issues/3885),但并不限于这一点。然而,其他类型的输入和分析绘图也在本软件包的范围内。
请注意,此软件包是一个非常早期的(测试版)发布,并且仅适用于其构建的特定目的,但如果有兴趣,可以通用化和扩展目前难以编写的许多功能。这也意味着当前接口和输入文件结构可能会更改。
要运行分析器,需要一个配置文件。配置文件是用 .toml
语言编写的。以下是一个从 ASPECT 数据创建极点图的示例文件
base_dir = "/path/to/base/dir/"
experiment_dirs = ["experiment_1","experiment2"]
compressed = true
[pole_figures]
elastisity_header = false
times = [1.0,5.0,10]
particle_ids = [1,10]
axes = ["AAxis","BAxis","CAxis"]
minerals = ["Olivine","Enstatite"]
带有一些注释(以 #
开头的行)的配置文件,解释了选项
# the location of the experiment dirs.
base_dir = "/path/to/base/dir/"
# the directories containing the experiments. Currently only ASPECT output directories
# are supported.
experiment_dirs = ["experiment_1","experiment2"]
# Whether the Data was compressed with ZLIB.
compressed = true
[pole_figures]
# Wheter to include elasticity information in the header of the polefigure plots.
elastisity_header = false
# For each time in this vector a new polefigure plot is made.
times = [1.0,5.0,10]
# For each id in this vector a new polefigure plot is made.
particle_ids = [1,10]
# A vector containing the pole figure axis to be plotted. These will be added as a
# horizontal axis to the plot. Available options are `AAxis`, `BAxis` and `CAxis`.
axes = ["AAxis","BAxis","CAxis"]
# A vector containing the minerals to be plotted. These will be added as a vertical
# axis to the plot. Available options are `Olivine` and `Enstatite`.
minerals = ["Olivine","Enstatite"]
请注意,除了本示例中显示的选项外,还有更多选项可用,这些选项目前在代码(src/configuration/
目录)和代码文档中可见。在 example
目录中还有一个更详细的示例。
安装
用户安装
CPO 分析器是用 Rust 编写的,从版本 0.1.0 开始发布于 crates.io。对于此选项,首先需要安装 cargo。然后用户应该能够使用 cargo install cpo_analyzer
来安装程序。请注意,此安装方法直到在 crates.io 上首次发布之前尚未测试。
开发者安装
通过克隆 Git 仓库并运行 cargo build
或 cargo run config_file.toml
没有特殊的安装说明。只需注意,这会构建调试版本,其速度比发布版本慢得多。要构建/运行发布版本,请添加 --release
标志。
依赖项
Ubuntu Linux
sudoapt install pkg-config libfreetype6-dev libfontconfig1-dev
依赖项
约 15MB
约 253K SLoC