Computational workflow management for materials science.
Project description
MatFlow
MatFlow is a computational workflow management code for materials science.
See this repository for information regarding a MatFlow installation.
Extensions
MatFlow uses extension packages to interact with arbitrary software. Here is a list of current MatFlow extensions.
Released/in-progress extensions
Software | Description | Status |
---|---|---|
DAMASK | Düsseldorf Advanced Material Simulation Kit (crystal plasticity) | Released |
MTEX | Matlab toolbox for analyzing and modeling crystallographic textures | Released |
formable | Formability analyses in Python | Released |
DefDAP | A python library for correlating EBSD and HRDIC data. | Released |
Abaqus | Finite element analysis | In-progress |
Neper | Polycrystal generation and meshing | In-progress |
Example inputs/outputs
Label | Attributes | Output from tasks | Input to tasks |
---|---|---|---|
ODF | crystal_symmetry speciment_symmetry euler_angles euler_angle_labels weights orientation_coordinate_system |
get_model_texture estimate_ODF |
sample_texture |
microstructure_seeds | position orientations grid_size phase_label |
generate_microstructure_seeds | generate_volume_element |
orientations | euler_angles euler_angle_labels orientation_coordinate_system |
sample_texture | generate_volume_element |
volume_element | grid size origin orientations grain_orientation_idx grain_phase_label_idx phase_labels voxel_grain_idx voxel_homogenization_idx |
generate_volume_element | visualise_volume_element simulate_volume_element_loading |
load_case | total_time num_increments def_grad_aim def_grad_rate stress rotation |
generate_load_case | simulate_volume_element_loading |
volume_element_response | ... | simulate_volume_element_loading |
Specifying default run options
Default run options (i.e. options passed to the scheduler) can be specified in a few ways. Firstly, within the workflow file, run_options
specified at the top-level will be used for any tasks that do not have a run_options
specified. If a task does have a run_options
key specified, the global run_options
will not be used at all for that task.
Additionally, you can specify default run options in the MatFlow configuration file (config.yml
, by default generated in ~/.matflow
) with the options default_run_options
and default_sticky_run_options
. The "sticky" defaults are merged with any run options specified in the workflow file (with workflow-specified options taking precedence), whereas the "non-sticky" defaults are only used if no run options are supplied for a task. If no run options are supplied for a task, then both the "sticky" and "non-sticky" defaults will be used (with the "non-sticky" defaults taking precedence over the "sticky" defaults). Similar keys exist for task preparation and processing run options: default_preparation_run_options
, default_sticky_preparation_run_options
and default_processing_run_options
, default_sticky_processing_run_options
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.