Skip to content

Repository files navigation

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
tension_DAMASK_Al ✅ Available as a demo workflow (tension_DAMASK_Al)
tension_DAMASK_Mg ✅ Available as a demo workflow (tension_DAMASK_Mg)
single_crystal_parameter_fitting ✅ Available as a demo workflow (fit_single_crystal_parameters)
Dream3D_RVE_simulation ❌ Requires generate_volume_element/from_statistics/Dream3D
fit_yield_function ✅ Available as as a demo workflow

Task schemas

Task Status Notes
generate_microstructure_seeds
⇒ method: random/damask ✅ generate_microstructure_seeds / MicrostructureSeeds
generate_volume_element
⇒ method: single_voxel_grains/damask ❌ Unimplemented
⇒ method: particle_RVE/damask ❌ Unimplemented
⇒ method: dual_phase_ti_alpha_colony ❌ Unimplemented
⇒ method: from_damask_input_files ✅/❌ Demo workflow: damask-input-files; orientations not yet accepted
⇒ method: from_dream3d_pipeline ❌ Unimplemented
⇒ method: extrusion ✅ generate_volume_element/extrusion
⇒ method: from_statistics/Dream3D ✅/❌ generate_volume_element/from_statistics - Not yet tested with orientations input
⇒ method: from_statistics_dual_phase_orientations/Dream3D ❌ Unimplemented
⇒ method: random_voronoi/damask ✅ generate_volume_element/from_voronoi
⇒ method: random_voronoi/neper ❌ Unimplemented
⇒ method: random_voronoi_from_orientations ✅ Use generate_volume_element/from_voronoi
⇒ method: random_voronoi_from_dual_phase_orientations ❌ Unimplemented
modify_volume_element
⇒ method: add_buffer_zones/damask ✅ modify_VE/add_buffer_zones
⇒ method: new_orientations/damask ❌ Unimplemented
⇒ method: geometry ❌ Unimplemented
⇒ method: spread_orientations/damask ✅ modify_VE/spread_orientations
⇒ method: grid_size/damask ✅ modify_VE/grid_size
generate_load_case
⇒ method: mixed/formable ✅ define_load_case / LoadCase
⇒ method: cyclic_uniaxial/formable ✅ define_load_case / LoadCase
⇒ method: uniaxial/formable ✅ define_load_case / LoadCase
⇒ method: biaxial/formable ✅ define_load_case / LoadCase
⇒ method: plane_strain/formable ✅ define_load_case / LoadCase
⇒ method: planar_2D/formable ✅ define_load_case / LoadCase
⇒ method: random_2D/formable ✅ define_load_case / LoadCase
⇒ method: random_3D/formable ✅ define_load_case / LoadCase
get_tensile_test
⇒ method: from_CSV/formable ✅ read_tensile_test
simulate_volume_element_loading
⇒ method: simulate_volume_element_loading ✅ simulate_VE_loading
optimise_single_crystal_parameters
⇒ method: levenberg_marquardt/formable ✅ fit_single_crystal_parameters
load_microstructure
⇒ method: EBSD+DIC/DefDAP ✅ load_microstructure/EBSD
⇒ method: EBSD/DefDAP ✅ load_microstructure/EBSD_DIC
visualise_volume_element
⇒ method: vtk/damask ✅ visualise_VE/vtk
⇒ method: Dream3D/Dream3D ❌ Unimplemented
visualise_volume_element_response
⇒ method: texture_pole_figure/mtex ❌ Unimplemented
⇒ method: texture_odf_section/mtex ❌ Unimplemented
generate_MK_model
⇒ method: default/abaqus ❌ Unimplemented
simulate_MK_deformation
⇒ method: FE/abaqus ❌ Unimplemented
find_forming_limit_curve
⇒ method: strain_rate_ratio/abaqus ❌ Unimplemented
visualise_orientations
⇒ method: pole_figure/mtex ✅ visualise_orientations
generate_phase_field_input
⇒ method: from_random_voronoi/cipher ❌ Unimplemented
⇒ method: from_random_voronoi_with_orientations/cipher ❌ Unimplemented
⇒ method: from_volume_element/cipher ❌ Unimplemented
simulate_grain_growth
⇒ method: phase_field/cipher ❌ Unimplemented
fit_yield_function
⇒ method: least_squares/formable ✅ fit_yield_function
simulate_orientations_loading
⇒ method: Taylor/damask ❌ Unimplemented
sample_orientations
⇒ method: from_CTF_file/mtex ✅ sample_orientations_from_ctf_file/mtex
⇒ method: from_CRC_file/mtex ✅ sample_orientations_from_crc_file/mtex
sample_texture
⇒ method: from_ODF/mtex - Use sample_texture_from_ODF_mat/mtex
⇒ method: from_model_ODF/mtex ✅ sample_texture_from_model_ODF/mtex
⇒ method: from_CTF_file/mtex ✅ sample_texture_from_CTF_file/mtex
⇒ method: from_CRC_file/mtex ✅ sample_texture_from_CRC_file/mtex
⇒ method: from_random/damask ❌ Unimplemented
⇒ method: from_ODF_mat/mtex ✅ sample_texture_from_ODF_mat/mtex
estimate_ODF
⇒ method: from_CTF_file/mtex - Bug in MTEX's ODF export.
⇒ method: from_CRC_file/mtex - Bug in MTEX's ODF export.
get_model_texture
⇒ method: unimodal/mtex - Use sample_texture_from_model_ODF/mtex
⇒ method: fibre/mtex - Use sample_texture_from_model_ODF/mtex
⇒ method: random/mtex ✅ sample_texture_random/mtex

Acknowledgements

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



About

Computational materials science workflow management in Python

Topics

Resources

Stars

14 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages