https://github.com/lightform-group/matflow

Computational materials science workflow management in Python

https://github.com/lightform-group/matflow

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.2%) to scientific vocabulary

Keywords

materials-science matflow workflow
Last synced: 10 months ago · JSON representation

Repository

Computational materials science workflow management in Python

Basic Info
  • Host: GitHub
  • Owner: LightForm-group
  • License: mpl-2.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 566 KB
Statistics
  • Stars: 16
  • Watchers: 6
  • Forks: 4
  • Open Issues: 3
  • Releases: 31
Topics
materials-science matflow workflow
Created over 6 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Changelog License

README.md

DOI PyPI version

This code has been superseded by a new version that can be found here: https://github.com/hpcflow/matflow-new.

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 | crystalsymmetry
speciment
symmetry
eulerangles
euler
anglelabels
weights
orientation
coordinatesystem | getmodeltexture
estimate
ODF
| sampletexture | | microstructureseeds | position
orientations
gridsize
phase
label | generatemicrostructureseeds | generatevolumeelement | | orientations | eulerangles
euler
anglelabels
orientation
coordinatesystem | sampletexture | generatevolumeelement | | volumeelement | grid
size
origin
orientations
grain
orientationidx
grain
phaselabelidx
phaselabels
voxel
grainidx
voxel
homogenizationidx | generatevolumeelement | visualisevolumeelement
simulate
volumeelementloading | | loadcase | totaltime
numincrements
def
gradaim
def
gradrate
stress
rotation | generate
loadcase | simulatevolumeelementloading | | volumeelementresponse | ... | simulatevolumeelement_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.

Owner

  • Name: LightForm
  • Login: LightForm-group
  • Kind: organization
  • Email: lightform@manchester.ac.uk
  • Location: Manchester, UK

LightForm EPSRC Programme Grant

GitHub Events

Total
  • Watch event: 1
  • Fork event: 1
Last Year
  • Watch event: 1
  • Fork event: 1

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 179 last-month
  • Total dependent packages: 3
  • Total dependent repositories: 7
  • Total versions: 32
  • Total maintainers: 1
pypi.org: matflow

Computational workflow management for materials science.

  • Versions: 32
  • Dependent Packages: 3
  • Dependent Repositories: 7
  • Downloads: 179 Last month
Rankings
Dependent packages count: 2.3%
Dependent repos count: 5.6%
Average: 7.9%
Downloads: 15.8%
Maintainers (1)
Last synced: 10 months ago

Dependencies

requirements.txt pypi
  • autopep8 *
  • ipykernel *
  • pylint *
  • rope *
  • twine *
setup.py pypi
  • autopep8 *
  • black *
  • click >7.0
  • hickle >=4.0.1
  • hpcflow >=0.1.16
  • matflow-demo-extension *
  • numpy *
  • pyperclip *
  • ruamel.yaml *
environment.yml pypi