Demo workflows#

These workflow templates are included in MatFlow as demonstrations. You can copy a demo workflow template to somewhere accessible using the CLI like this:

matflow demo-workflow copy WORKFLOW_NAME DESTINATION

where WORKFLOW_NAME is the name of one of the demo workflows, and DESTINATION is the target copy location, which can be a directory (e.g. "." for the current working directory, or a full file path).

In the Python API, we can copy a demo workflow template file like this:

import matflow as mf

mf.copy_demo_workflow(name, dst)

RVE_extrusion_EBSD#

A workflow to generate a volume element from EBSD data that is extruded in the z-direction. The volume element is modified to include a buffer zone, and uniaxial tension is simulated using DAMASK.

Note: this is a work-in-progress, and material parameters may need to be updated.

RVE_extrusion_EBSD_DIC#

A workflow to generate a volume element from EBSD and DIC data that is extruded in the z-direction. The volume element is modified to include a buffer zone, and uniaxial tension is simulated using DAMASK.

Note: this is a work-in-progress, and material parameters may need to be updated.

cubic_textures#

A simple workflow to demonstrate sampling common “named” cubic textures. Euler angles are taken from L. A. I. Kestens & H. Pirgazi (2016) Texture formation in metal alloys with cubic crystal structures, Materials Science and Technology, 32:13, 1303-1315, DOI: 10.1080/02670836.2016.1231746.

damask_input_files#

Demonstration of passing DAMASK input files (load case file, geometry file, and material file) directly to the simulate_VE_loading_damask task. Input parameters that are used to generate these input files need not be passed.

damask_numerics#

Demonstration of providing custom numerics options to DAMASK via the numerics.yaml file. For a list of supported numerics keys, look in the demo-data file numerics_example.yaml; you can copy this file to your current working directory with this command: matflow demo-data copy numerics_example.yaml .

fit_single_crystal_parameters#

Fit single crystal parameters using an experimental uniaxial tension stress-strain curve and an iterative Levenberg-Marquardt fitting process.

fit_yield_funcs#

A workflow to fit yield functions to crystal plasticity simulations.

generate_volume_element_from_statistics#

This simple workflow generates a pipeline.json file, and then runs it with Dream.3D’s PipelineRunner command. Phases can be specified and parametrised as if using the “Stats Generator” filter in the Dream.3D GUI.

In the second task, we demonstrate using a set of orientations to define a textured volume element. In the third task, we use an ODF preset to the same effect.

modify_volume_element_grid_size#

Workflow to generate a volume element, then increase the grid size, and visualise the original and modified volume elements.

read_tensile_test_CSV#

Read tensile test data from a CSV file.

sample_orientations_CRC_file#

Demonstration of a task to sample a subset of orientations from a CRC file using MTEX, and produce pole figures of the sampled orientations. Note that directory to which the CRC_file_path points should also contain a CPR file with the same file name stem as the CRC file.

Note that sample_orientations schemas pick a random subset of orientations from the EBSD data, whereas the sample_texture schemas first construct an orientation distribution function (ODF), from which orientations are then sampled.

sample_orientations_CTF_file#

Demonstration of a task to sample a subset of orientations from a CTF file using MTEX, and produce pole figures of the sampled orientations.

Note that sample_orientations schemas pick a random subset of orientations from the EBSD data, whereas the sample_texture schemas first construct an orientation distribution function (ODF), from which orientations are then sampled.

sample_texture_CRC_file#

Demonstration of a task to sample texture from a CRC file using MTEX, and produce pole figures of the sampled orientations. Note that directory to which the CRC_file_path points should also contain a CPR file with the same file name stem as the CRC file.

sample_texture_CTF_file#

Demonstration of a task to sample texture from a CTF file using MTEX, and produce pole figures of the sampled orientations.

sample_texture_ODF_mat#

Demonstration of a task to sample texture from an MTEX ODF object stored in a binary .mat file, and produce pole figures of the sampled orientations.

sample_texture_model_ODF#

Demonstration of a task to sample texture from a model orientation distribution function (ODF) using MTEX, and produce pole figures of the sampled orientations.

sample_texture_random#

Demonstration of a task to sample texture randomly using MTEX, and produce pole figures of the sampled orientations.

simulate_yield_surface_2D#

This workflow uses DAMASK full-field crystal plasticity simulations to generate yield surfaces for an aluminium material with different strong textures.

simulate_yield_surface_2D_brass#

WIP: This workflow uses DAMASK full-field crystal plasticity simulations to generate a yield surface for an aluminium material with the Brass texture.

tension_DAMASK_Al#

A simple crystal plasticity simulation using DAMASK. A volume element generated from a random voronoi tessellation is loaded uniaxially, using aluminium (Al) material parameters.

tension_DAMASK_Al_N_repeats#

A simple crystal plasticity simulation using DAMASK. A volume element generated from a random voronoi tessellation is loaded uniaxially, using aluminium (Al) material parameters. Multiple simulations can be generated by using the make/go command-line –var option like this (e.g. for 100 repeats): –var N 100.

tension_DAMASK_Mg#

A simple crystal plasticity simulation using DAMASK. A volume element generated from a random voronoi tessellation is loaded uniaxially, using magnesium (Mg) material parameters.

tension_DAMASK_Ti#

A simple crystal plasticity simulation using DAMASK. A volume element generated from a random voronoi tessellation is loaded uniaxially, using titanium (Ti) material parameters.