Skip to main content

Computational workflow management for materials science.

Project description

DOI PyPI version

MatFlow

MatFlow is a framework for running reproducible workflows in materials science developed in the EPSRC programme grant LightForm, a research programme on light alloy formability. It is a python program that interacts with software (open-source and proprietary) used in materials science via extensions (see supported extensions below). It is particularly suited for hybrid workflows (involving experimental data and computational work), like for example HPC model calibration. Outputs,together with details of the worflow are automatically stored in an open source file format for post-processing, which Matflow can automatically upload to data repositories like Zenodo.

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 Version
DAMASK Düsseldorf Advanced Material Simulation Kit (crystal plasticity) Released PyPI version
MTEX Matlab toolbox for analyzing and modeling crystallographic textures Released PyPI version
formable Formability analyses in Python Released PyPI version
DefDAP A python library for correlating EBSD and HRDIC data. Released PyPI version
Abaqus Finite element analysis In-progress PyPI version
Neper Polycrystal generation and meshing Released/In-progress PyPI version

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

matflow-0.2.25.tar.gz (81.5 kB view details)

Uploaded Source

Built Distribution

matflow-0.2.25-py3-none-any.whl (93.7 kB view details)

Uploaded Python 3

File details

Details for the file matflow-0.2.25.tar.gz.

File metadata

  • Download URL: matflow-0.2.25.tar.gz
  • Upload date:
  • Size: 81.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.1.post20200515 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for matflow-0.2.25.tar.gz
Algorithm Hash digest
SHA256 32a94f16be91f7d88d1a0a820f7130d5b61de3c36b41b31cd5d8c75c84a1fe9b
MD5 4ac6e3852de6dd20801c5540ca1e3c67
BLAKE2b-256 d77c3903f1c84ca6e1352c1267070d418cebce3d7260213eb06d109d632691e9

See more details on using hashes here.

File details

Details for the file matflow-0.2.25-py3-none-any.whl.

File metadata

  • Download URL: matflow-0.2.25-py3-none-any.whl
  • Upload date:
  • Size: 93.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.1.post20200515 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for matflow-0.2.25-py3-none-any.whl
Algorithm Hash digest
SHA256 a3c2b309ccdbe9b34db9429a9c7b43c77caeb9856e28e52efe296f965c3b4357
MD5 ffce5ba98f7c01d93fb85b4bd6f57b96
BLAKE2b-256 60ed07c1d5b443779443a6dffecd4f55047cfa138289b678f77da9c8f424a7a6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page