matflow


Namematflow JSON
Version 0.2.27 PyPI version JSON
download
home_pageNone
SummaryComputational workflow management for materials science.
upload_time2024-06-26 11:42:33
maintainerNone
docs_urlNone
authorAdam J. Plowman
requires_pythonNone
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![DOI](https://zenodo.org/badge/219949875.svg)](https://zenodo.org/badge/latestdoi/219949875) [![PyPI version](https://badge.fury.io/py/matflow.svg)](https://badge.fury.io/py/matflow)

## **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](http://lightform.org.uk), 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](https://zenodo.org/).

See [this repository](https://github.com/LightForm-group/UoM-CSF-matflow) 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](https://damask.mpie.de/) | Düsseldorf Advanced Material Simulation Kit (crystal plasticity) | [Released](https://github.com/LightForm-group/matflow-damask) | [![PyPI version](https://img.shields.io/pypi/v/matflow-damask)](https://pypi.org/project/matflow-damask) |
| [MTEX](https://mtex-toolbox.github.io/) | Matlab toolbox for analyzing and modeling crystallographic textures | [Released](https://github.com/LightForm-group/matflow-mtex) | [![PyPI version](https://img.shields.io/pypi/v/matflow-mtex)](https://pypi.org/project/matflow-mtex) |
| [formable](https://github.com/LightForm-group/formable) | Formability analyses in Python | [Released](https://github.com/LightForm-group/matflow-formable) | [![PyPI version](https://img.shields.io/pypi/v/matflow-formable)](https://pypi.org/project/matflow-formable) |
| [DefDAP](https://github.com/MechMicroMan/DefDAP) | A python library for correlating EBSD and HRDIC data. | [Released](https://github.com/LightForm-group/matflow-defdap) | [![PyPI version](https://img.shields.io/pypi/v/matflow-defdap)](https://pypi.org/project/matflow-defdap) |
| [Abaqus](https://www.3ds.com/products-services/simulia/products/abaqus/) | Finite element analysis | In-progress | [![PyPI version](https://img.shields.io/pypi/v/matflow-abaqus)](https://pypi.org/project/matflow-abaqus) |
| [Neper](http://www.neper.info) | Polycrystal generation and meshing | [Released/In-progress](https://github.com/LightForm-group/matflow-neper) | [![PyPI version](https://img.shields.io/pypi/v/matflow-neper)](https://pypi.org/project/matflow-neper) |


### Example inputs/outputs 
| Label                   | Attributes                                                   | Output from tasks                         | Input to tasks                                               |
| ----------------------- | ------------------------------------------------------------ | ----------------------------------------- | ------------------------------------------------------------ |
| ODF                     | crystal_symmetry<br />speciment_symmetry<br />euler_angles<br />euler_angle_labels<br />weights<br />orientation_coordinate_system | get_model_texture<br />estimate_ODF<br /> | sample_texture                                               |
| microstructure_seeds    | position<br />**orientations**<br />grid_size<br />phase_label | generate_microstructure_seeds             | generate_volume_element                                      |
| orientations            | euler_angles<br />euler_angle_labels<br />orientation_coordinate_system | sample_texture                            | generate_volume_element                                      |
| volume_element          | grid<br />size<br />origin<br />**orientations**<br />grain_orientation_idx<br />grain_phase_label_idx<br />phase_labels<br />voxel_grain_idx<br />voxel_homogenization_idx | generate_volume_element                   | visualise_volume_element<br />simulate_volume_element_loading |
| load_case               | total_time<br />num_increments<br />def_grad_aim<br />def_grad_rate<br />stress<br />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`.



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "matflow",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "Adam J. Plowman",
    "author_email": "adam.plowman@manchester.ac.uk",
    "download_url": "https://files.pythonhosted.org/packages/e0/9f/17aaf06e3db6e577b7d73b6b53a2c39a0531d1efb545492446aa3f95c76c/matflow-0.2.27.tar.gz",
    "platform": null,
    "description": "[![DOI](https://zenodo.org/badge/219949875.svg)](https://zenodo.org/badge/latestdoi/219949875) [![PyPI version](https://badge.fury.io/py/matflow.svg)](https://badge.fury.io/py/matflow)\r\n\r\n## **This code has been superseded by a new version that can be found here: https://github.com/hpcflow/matflow-new.**\r\n\r\n# MatFlow\r\n\r\nMatFlow is a framework for running reproducible workflows in materials science developed in the EPSRC programme grant [LightForm](http://lightform.org.uk), 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\r\n(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](https://zenodo.org/).\r\n\r\nSee [this repository](https://github.com/LightForm-group/UoM-CSF-matflow) for information regarding a MatFlow installation.\r\n\r\n## Extensions\r\n\r\nMatFlow uses extension packages to interact with arbitrary software. Here is a list of current MatFlow extensions.\r\n\r\n### Released/in-progress extensions\r\n| Software | Description | Status | Version |\r\n| ------ | ------------- | ------- | ------- |\r\n| [DAMASK](https://damask.mpie.de/) | D\u00fcsseldorf Advanced Material Simulation Kit (crystal plasticity) | [Released](https://github.com/LightForm-group/matflow-damask) | [![PyPI version](https://img.shields.io/pypi/v/matflow-damask)](https://pypi.org/project/matflow-damask) |\r\n| [MTEX](https://mtex-toolbox.github.io/) | Matlab toolbox for analyzing and modeling crystallographic textures | [Released](https://github.com/LightForm-group/matflow-mtex) | [![PyPI version](https://img.shields.io/pypi/v/matflow-mtex)](https://pypi.org/project/matflow-mtex) |\r\n| [formable](https://github.com/LightForm-group/formable) | Formability analyses in Python | [Released](https://github.com/LightForm-group/matflow-formable) | [![PyPI version](https://img.shields.io/pypi/v/matflow-formable)](https://pypi.org/project/matflow-formable) |\r\n| [DefDAP](https://github.com/MechMicroMan/DefDAP) | A python library for correlating EBSD and HRDIC data. | [Released](https://github.com/LightForm-group/matflow-defdap) | [![PyPI version](https://img.shields.io/pypi/v/matflow-defdap)](https://pypi.org/project/matflow-defdap) |\r\n| [Abaqus](https://www.3ds.com/products-services/simulia/products/abaqus/) | Finite element analysis | In-progress | [![PyPI version](https://img.shields.io/pypi/v/matflow-abaqus)](https://pypi.org/project/matflow-abaqus) |\r\n| [Neper](http://www.neper.info) | Polycrystal generation and meshing | [Released/In-progress](https://github.com/LightForm-group/matflow-neper) | [![PyPI version](https://img.shields.io/pypi/v/matflow-neper)](https://pypi.org/project/matflow-neper) |\r\n\r\n\r\n### Example inputs/outputs \r\n| Label                   | Attributes                                                   | Output from tasks                         | Input to tasks                                               |\r\n| ----------------------- | ------------------------------------------------------------ | ----------------------------------------- | ------------------------------------------------------------ |\r\n| ODF                     | crystal_symmetry<br />speciment_symmetry<br />euler_angles<br />euler_angle_labels<br />weights<br />orientation_coordinate_system | get_model_texture<br />estimate_ODF<br /> | sample_texture                                               |\r\n| microstructure_seeds    | position<br />**orientations**<br />grid_size<br />phase_label | generate_microstructure_seeds             | generate_volume_element                                      |\r\n| orientations            | euler_angles<br />euler_angle_labels<br />orientation_coordinate_system | sample_texture                            | generate_volume_element                                      |\r\n| volume_element          | grid<br />size<br />origin<br />**orientations**<br />grain_orientation_idx<br />grain_phase_label_idx<br />phase_labels<br />voxel_grain_idx<br />voxel_homogenization_idx | generate_volume_element                   | visualise_volume_element<br />simulate_volume_element_loading |\r\n| load_case               | total_time<br />num_increments<br />def_grad_aim<br />def_grad_rate<br />stress<br />rotation | generate_load_case                        | simulate_volume_element_loading                              |\r\n| volume_element_response | ...                                                          | simulate_volume_element_loading           |                                                              |\r\n\r\n## Specifying default run options\r\n\r\nDefault 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.\r\n\r\nAdditionally, 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`.\r\n\r\n\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Computational workflow management for materials science.",
    "version": "0.2.27",
    "project_urls": {
        "Github": "https://github.com/Lightform-group/matflow"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "35898bdee96aea6db6212d470755693cb3ddd30cd81838bd88cec5a8ba2f3f4c",
                "md5": "b2e8512629e64d32b5d7e7231cf49405",
                "sha256": "06dfa9829255745639ac66ae5cd81c6da441380a9e1d4ab8b382ee9d9a36e582"
            },
            "downloads": -1,
            "filename": "matflow-0.2.27-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b2e8512629e64d32b5d7e7231cf49405",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 93930,
            "upload_time": "2024-06-26T11:42:30",
            "upload_time_iso_8601": "2024-06-26T11:42:30.943779Z",
            "url": "https://files.pythonhosted.org/packages/35/89/8bdee96aea6db6212d470755693cb3ddd30cd81838bd88cec5a8ba2f3f4c/matflow-0.2.27-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e09f17aaf06e3db6e577b7d73b6b53a2c39a0531d1efb545492446aa3f95c76c",
                "md5": "83d91e601222110718746bc942e451a6",
                "sha256": "d3aeac0884646e3ffea5766b4cdd5e8742359d9ca568b237efd9157f60c17411"
            },
            "downloads": -1,
            "filename": "matflow-0.2.27.tar.gz",
            "has_sig": false,
            "md5_digest": "83d91e601222110718746bc942e451a6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 87026,
            "upload_time": "2024-06-26T11:42:33",
            "upload_time_iso_8601": "2024-06-26T11:42:33.408650Z",
            "url": "https://files.pythonhosted.org/packages/e0/9f/17aaf06e3db6e577b7d73b6b53a2c39a0531d1efb545492446aa3f95c76c/matflow-0.2.27.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-26 11:42:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Lightform-group",
    "github_project": "matflow",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "matflow"
}
        
Elapsed time: 0.27951s