#orientation #cpo #pole-figures #lpo #crytal-preferred

bin+lib cpo_analyzer

分析晶体优选取向(CPO)数据工具,包括创建极点图

1 个不稳定版本

0.1.0 2021 年 2 月 10 日

#464科学

GPL-2.0-or-later

3.5MB
3K SLoC

Continous integration Build Status codecov

CPO 分析器

pole figure

该软件包包含用于分析晶体/晶格优选取向(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 buildcargo run config_file.toml 没有特殊的安装说明。只需注意,这会构建调试版本,其速度比发布版本慢得多。要构建/运行发布版本,请添加 --release 标志。

依赖项

Ubuntu Linux

sudoapt install pkg-config libfreetype6-dev libfontconfig1-dev

依赖项

约 15MB
约 253K SLoC