matflow-new

Computational materials science workflow management in Python

https://github.com/hpcflow/matflow-new

Science Score: 44.0%

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

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

Keywords

materials-science workflow workflow-management workflow-orchestration
Last synced: 6 months ago · JSON representation ·

Repository

Computational materials science workflow management in Python

Basic Info
  • Host: GitHub
  • Owner: hpcflow
  • License: mpl-2.0
  • Language: Python
  • Default Branch: develop
  • Homepage: https://docs.matflow.io
  • Size: 76.4 MB
Statistics
  • Stars: 7
  • Watchers: 4
  • Forks: 6
  • Open Issues: 57
  • Releases: 168
Topics
materials-science workflow workflow-management workflow-orchestration
Created almost 4 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Citation Codeowners

README.md

MatFlow logo

MatFlow

PyPI - Version PyPI - Python Version

Design, run, and share computational materials science workflows

Documentation: https://docs.matflow.io/

Feature parity with the old code (LightForm-group/matflow)

This is a list tracking which workflows/tasks we have reimplemented/tested in the new code.

| Symbol | Meaning | | ------ | -------------------------------------------------------------------------------------- | | ✅ | Tested and functional (may be undocumented) | | ❓ | Untested but should in principle work; may need tweaks to the template parametrisation | | ❌ | Requires a missing core feature in hpcflow, or a missing software integration | | - | Will not be reimplemented (e.g. superseded by another) |

Demo workflows

| Workflow | Status | Notes | | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- | | tensionDAMASKAl | ✅ | Available as a demo workflow (tensionDAMASKAl) | | tensionDAMASKMg | ✅ | Available as a demo workflow (tensionDAMASKMg) | | singlecrystalparameter_fitting | ✅ | Available as a demo workflow (fitsinglecrystalparameters) | | Dream3DRVEsimulation | ❌ | Requires `generatevolumeelement/fromstatistics/Dream3D` | | fityieldfunction | ✅ | Available as as a demo workflow |

Task schemas

| Task | Status | Notes | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | generatemicrostructureseeds | | | | ⇒ method: random/damask | ✅ | generatemicrostructureseeds / MicrostructureSeeds | | generatevolumeelement | | | | ⇒ method: singlevoxelgrains/damask | ❌ | Unimplemented | | ⇒ method: particle_RVE/damask | ❌ | Unimplemented | | ⇒ method: dualphasetialphacolony | ❌ | Unimplemented | | ⇒ method: fromdamaskinput_files | ✅/❌ | Demo workflow: damask-input-files; orientations not yet accepted | | ⇒ method: fromdream3dpipeline | ❌ | Unimplemented | | ⇒ method: extrusion | ✅ | generate_volume_element/extrusion | | ⇒ method: from_statistics/Dream3D | ✅/❌ | generate_volume_element/from_statistics - Not yet tested with orientations input | | ⇒ method: fromstatisticsdualphaseorientations/Dream3D | ❌ | Unimplemented | | ⇒ method: random_voronoi/damask | ✅ | generatevolumeelement/from_voronoi | | ⇒ method: random_voronoi/neper | ❌ | Unimplemented | | ⇒ method: randomvoronoifrom_orientations | ✅ | Use generatevolumeelement/from_voronoi | | ⇒ method: randomvoronoifromdualphase_orientations | ❌ | Unimplemented | | modifyvolumeelement | | | | ⇒ method: addbufferzones/damask | ✅ | modifyVE/addbuffer_zones | | ⇒ method: new_orientations/damask | ❌ | Unimplemented | | ⇒ method: geometry | ❌ | Unimplemented | | ⇒ method: spread_orientations/damask | ❌ | Unimplemented | | ⇒ method: grid_size/damask | ✅ | modifyVE/gridsize | | generateloadcase | | | | ⇒ method: mixed/formable | ✅ | defineloadcase / LoadCase | | ⇒ method: cyclic_uniaxial/formable | ✅ | defineloadcase / LoadCase | | ⇒ method: uniaxial/formable | ✅ | defineloadcase / LoadCase | | ⇒ method: biaxial/formable | ✅ | defineloadcase / LoadCase | | ⇒ method: plane_strain/formable | ✅ | defineloadcase / LoadCase | | ⇒ method: planar_2D/formable | ✅ | defineloadcase / LoadCase | | ⇒ method: random_2D/formable | ✅ | defineloadcase / LoadCase | | ⇒ method: random_3D/formable | ✅ | defineloadcase / LoadCase | | gettensiletest | | | | ⇒ method: from_CSV/formable | ✅ | readtensiletest | | simulatevolumeelement_loading | | | | ⇒ method: simulatevolumeelement_loading | ✅ | simulateVEloading | | optimisesinglecrystal_parameters | | | | ⇒ method: levenberg_marquardt/formable | ✅ | fitsinglecrystal_parameters | | load_microstructure | | | | ⇒ method: EBSD+DIC/DefDAP | ✅ | load_microstructure/EBSD | | ⇒ method: EBSD/DefDAP | ✅ | loadmicrostructure/EBSDDIC | | visualisevolumeelement | | | | ⇒ method: vtk/damask | ✅ | visualise_VE/vtk | | ⇒ method: Dream3D/Dream3D | ❌ | Unimplemented | | visualisevolumeelement_response | | | | ⇒ method: texturepolefigure/mtex | ❌ | Unimplemented | | ⇒ method: textureodfsection/mtex | ❌ | Unimplemented | | generateMKmodel | | | | ⇒ method: default/abaqus | ❌ | Unimplemented | | simulateMKdeformation | | | | ⇒ method: FE/abaqus | ❌ | Unimplemented | | findforminglimit_curve | | | | ⇒ method: strainrateratio/abaqus | ❌ | Unimplemented | | visualise_orientations | | | | ⇒ method: pole_figure/mtex | ✅ | visualise_orientations | | generatephasefield_input | | | | ⇒ method: fromrandomvoronoi/cipher | ❌ | Unimplemented | | ⇒ method: fromrandomvoronoiwithorientations/cipher | ❌ | Unimplemented | | ⇒ method: fromvolumeelement/cipher | ❌ | Unimplemented | | simulategraingrowth | | | | ⇒ method: phase_field/cipher | ❌ | Unimplemented | | fityieldfunction | | | | ⇒ method: least_squares/formable | ✅ | fityieldfunction | | simulateorientationsloading | | | | ⇒ method: Taylor/damask | ❌ | Unimplemented | | sample_orientations | | | | ⇒ method: fromCTFfile/mtex | ✅ | sampleorientationsfromctffile/mtex | | ⇒ method: fromCRCfile/mtex | ✅ | sampleorientationsfromcrcfile/mtex | | sample_texture | | | | ⇒ method: from_ODF/mtex | - | Use sampletexturefromODFmat/mtex | | ⇒ method: frommodelODF/mtex | ✅ | sampletexturefrommodelODF/mtex | | ⇒ method: fromCTFfile/mtex | ✅ | sampletexturefromCTFfile/mtex | | ⇒ method: fromCRCfile/mtex | ✅ | sampletexturefromCRCfile/mtex | | ⇒ method: from_random/damask | ❌ | Unimplemented | | ⇒ method: fromODFmat/mtex | ✅ | sampletexturefromODFmat/mtex | | estimate_ODF | | | | ⇒ method: fromCTFfile/mtex | - | Bug in MTEX's ODF export. | | ⇒ method: fromCRCfile/mtex | - | Bug in MTEX's ODF export. | | getmodeltexture | | | | ⇒ method: unimodal/mtex | - | Use sampletexturefrommodelODF/mtex | | ⇒ method: fibre/mtex | - | Use sampletexturefrommodelODF/mtex | | ⇒ method: random/mtex | ✅ | sampletexturerandom/mtex |

Acknowledgements

MatFlow development is funded by UKAEA, and was initially developed using funding from the LightForm EPSRC programme grant (EP/R001715/1).



Owner

  • Name: hpcflow
  • Login: hpcflow
  • Kind: organization
  • Location: United Kingdom

The home of the hpcFlow and MatFlow packages for computational workflow management

Citation (CITATION.cff)

# See https://citation-file-format.github.io for more info about the format
cff-version: 1.2.0
message: If you use this software, please cite it as below.

preferred-citation:
  type: article
  doi: 10.12688/materialsopenres.17516.1
  url: https://materialsopenresearch.org/articles/2-2
  title: >
    A novel integrated framework for reproducible formability predictions
    using virtual materials testing
  journal: Materials Open Research
  volume: 2
  year: 2023
  month: 1
  abstract: >
    Background: Formed aluminium alloy sheet materials are increasingly
    adopted in production processes such as vehicle manufacturing, due to the
    potential for weight-saving and improved recyclability when compared to
    more traditional steel alloys. To maximise these benefits whilst
    maintaining sufficient mechanical properties, the link between formability
    and microstructure must be better understood. Virtual materials testing is
    a cost-effective strategy for generating microstructure-informed
    formability predictions.

    Methods: We developed an open-source hybrid framework, combining
    experimental and computational tasks, for generating reproducible
    formability predictions. Starting with experimental texture measurements
    and stress-strain curves, we calibrated crystal plasticity (CP) model
    parameters. The framework used these parameters to perform a large set of
    multiaxial full-field CP simulations, from which various anisotropic yield
    functions were fitted. With these anisotropy parameters, we then employed
    a Marciniak-Kuczyński finite-element model to predict forming limit
    curves, which we compared with those from experimental Nakazima tests.

    Results: We executed the workflow with the aluminium alloy Surfalex HF
    (AA6016A) as a case study material. The 18-parameter Barlat yield function
    provided the best fit, compared to six-parameter functions. Predicted
    forming limits depended strongly on the chosen hardening law, and good
    agreement with the experimental forming limit curve was found. All of the
    generated data have been uploaded to the Zenodo repository. A set of
    Jupyter notebooks to allow interactive inspection of our methods and data
    are also available.

    Conclusions: We demonstrated a robust methodology for replicable virtual
    materials testing, which enables cheaper and faster formability analyses.
    This complete workflow is encoded within a simple yet highly customisable
    computational pipeline that can be applied to any material. To maximise
    reproducibility, our approach takes care to ensure our methods and data —
    and the ways in which that data is processed — are unambiguously defined
    during all steps of the workflow.
  authors:
    # Authors of this citation
    - given-names: Adam
      family-names: Plowman
      affiliation: University of Manchester
      # email: 
      orcid: https://orcid.org/0000-0002-9781-7353
      # website: 
    - given-names: Patryk
      family-names: Jedrasiak
      affiliation: University of Cambridge
      # email: 
      orcid: https://orcid.org/0000-0001-6321-4821
      # website: 
    - given-names: Thomas
      family-names: Jailin
      affiliation: University of Manchester
      # email: 
      orcid: https://orcid.org/0000-0001-8580-8655
      # website: 
    - given-names: Peter
      family-names: Crowther
      affiliation: University of Manchester
      # email: 
      orcid: https://orcid.org/0000-0002-5430-6924
      # website: 
    - given-names: Sumeet
      family-names: Mishra
      affiliation: Indian Institute of Technology Roorkee
      # email: 
      orcid: https://orcid.org/0000-0002-9924-4894
      # website: 
    - given-names: Pratheek
      family-names: Shanthraj
      affiliation: University of Manchester
      # email: 
      orcid: https://orcid.org/0000-0002-6324-0306
      # website: 
    - given-names: Joao
      family-names: Quinta Da Fonesca
      affiliation: University of Manchester
      # email: 
      orcid: https://orcid.org/0000-0001-6063-8135
      website: https://research.manchester.ac.uk/en/persons/joao.fonseca

title: "matflow: A Workflow Management System for Materials Science"
# version: 
url: https://docs.matflow.io/
authors:
#    As above, but of the software itself and not the publication
  - given-names: Adam
    family-names: Plowman
    alias: aplowman
    affiliation: University of Manchester
    # email: 
    orcid: https://orcid.org/0000-0002-9781-7353
  - given-names: Peter
    family-names: Crowther
    alias: merrygoat
    affiliation: University of Manchester
    # email: 
    orcid: https://orcid.org/0000-0002-5430-6924
  - given-names: Joao
    family-names: Quinta Da Fonesca
    affiliation: University of Manchester
    # email: 
    orcid: https://orcid.org/0000-0001-6063-8135
    website: https://research.manchester.ac.uk/en/persons/joao.fonseca
  - given-names: Francisco
    family-names: Herrerías-Azcué
    alias: fherreazcue
    affiliation: University of Manchester
    # email: 
    orcid: https://orcid.org/0000-0002-5906-221X
  - given-names: Michael
    family-names: Atkinson
    alias: mikesmic
    affiliation: University of Manchester
    # email: 
    orcid: https://orcid.org/0000-0003-4843-699X
  - given-names: Christopher
    family-names: Fullterton
    alias: cjfullerton
    affiliation: University of Manchester
    # email: 
    orcid: https://orcid.org/0000-0003-1306-2481
contact:
  # How to contact someone about the software
  - address: >
      University of Manchester,
      Oxford Road
    city: Manchester
    country: GB
    # email:
    name: Joao Quinta Da Fonesca
    post-code: M13 9PL
license: MPL-2.0
repository-code: https://github.com/hpcflow/matflow-new
keywords:
  - "workflow management"
  - "materials science"
  - "high-performance computing"

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 85
  • Total pull requests: 194
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 6 days
  • Total issue authors: 7
  • Total pull request authors: 10
  • Average comments per issue: 1.24
  • Average comments per pull request: 0.27
  • Merged pull requests: 153
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 65
  • Pull requests: 86
  • Average time to close issues: 19 days
  • Average time to close pull requests: 15 days
  • Issue authors: 5
  • Pull request authors: 8
  • Average comments per issue: 1.29
  • Average comments per pull request: 0.56
  • Merged pull requests: 49
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • gcapes (40)
  • SJaffa (17)
  • aplowman (14)
  • cjfullerton (7)
  • Gbowker (3)
  • dkfellows (3)
  • fherreazcue (2)
  • hpcflow-actions (1)
Pull Request Authors
  • aplowman (110)
  • hpcflow-actions (70)
  • gcapes (17)
  • cjfullerton (13)
  • dkfellows (13)
  • SJaffa (3)
  • Gbowker (2)
  • fherreazcue (2)
  • AkashKumarSingh11032001 (1)
  • samuel-hg-engel (1)
Top Labels
Issue Labels
documentation (15) bug (6) CI (3) parameters (2) good first issue (1) plugins (1) GUI (1) viz (1) hpcflow (1) enhancement (1) optimisation (1)
Pull Request Labels
bug (3) CI (3) enhancement (3) parameters (1) documentation (1)

Dependencies

poetry.lock pypi
  • 109 dependencies
pyproject.toml pypi
  • Sphinx ^4.4.0 develop
  • black ^21.12b0 develop
  • commitizen ^2.20.3 develop
  • ipykernel ^6.6.1 develop
  • pre-commit ^2.16.0 develop
  • pydata-sphinx-theme ^0.8.0 develop
  • pylint ^2.12.2 develop
  • pytest ^6.2.5 develop
  • sphinx-copybutton ^0.5.0 develop
  • sphinx-jinja ^2.0.1 develop
  • hpcflow-new 0.81.0a0
  • pyinstaller ^4.10
  • python >=3.7,<3.11
.github/workflows/auto_add_to_board.yml actions
  • actions/add-to-project v0.4.0 composite
.github/workflows/build-exes.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
.github/workflows/build-exes.yml.in actions
.github/workflows/release.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/download-artifact v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • softprops/action-gh-release v1 composite
.github/workflows/release.yml.in actions
.github/workflows/test.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/test.yml.in actions
.github/workflows/test_pre_python.yml actions
  • actions/checkout v3 composite