Crate cpo_analyzer[][src]

CPO analyzer

This crate contains tools to analyzer Crystal/Lattice Preffered Orientation (CPO/LPO) data. It is currently only able to crate sets of polefigures from ASPECT CPO data, but other type of inputs and plots of analysis are in the scope of this crate.

Note that this crate is a very early (beta) release, and it functions for the specific purpose it was build for, but a lot of functionality that is currently hard-coded can be generalized if there is interest. This also means that the current interface and input file structure is subject to change.

To run the analyzer, a configuration file is needed. The configuration files are written in the .toml language. Here is an example file (where the lines starting with a # are comments):

# 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"]

The configuration file without comments:

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"]

Modules

color_gradients
configuration
pole_figures

Functions

load_configuration_file

Load configuration TOML file into an internal structure which can be used by the process_configuration function.

process_configuration

Entry point for if the location of the config file is already know, such as the run function.

run

Entry point for the commandline agrument/binary version of the program. The location of the configuration file is taken from those commandline arguments, and passed on to the process function.