Skip to content

Conversation

@aplowman
Copy link
Collaborator

@aplowman aplowman commented Jul 10, 2025

Will fix #392. Some points below are from my chat with Aiden a few weeks ago.

Port existing functionality from old-matflow:

  • Initial basic support
  • Generate a Docker image for test running CIPHER locally (in serial) to assist development
  • Check if we still need the parameter: delete_VTIs
  • Support the other generate_phase_field_input methods:
  • Respect the num_VTU_files parameter
  • Document the environment requirements (cipher_processing_env and cipher_env)
  • Quick tests on:
    • CSF3 (UoM)
    • CSF4 (UoM)
    • CSD3 (UoC)
  • Merge my CIPHER PR to reduce memory usage
  • Release a new version of cipher-parse, containing:
    • Fixed GitHub actions workflows (updates required)
    • small fixes identified so far
    • support for generating mappings in separate files (already implemented)
    • simplified/more modern dependencies (e.g. we won't need integration with old-matflow now)
  • Re-implement (and publish to docs site as demos, with suggested resource requirements) pertinent workflows/post-processing from the abnormal grain growth work:
    • "grain growth reversal" simulations in 2D and 3D:
      • sampling two textures from MTEX, and generating with Dream3D a volume element with a nucleus and these textures
      • interface binning
      • ability to change grain size
      • with/without nucleus
    • Processing results to allow plots of nucleus vs matrix growth curves (maybe as a new task)
  • Ability to separate VE-generation workflow from simulation workflow
    • The parameter import functionality that is in old-matflow is not yet re-implemented in new-matflow, but we can define a task to load the VE from an existing workflow (I think I did this somewhere else).

Possible new features requested (possibly in cipher-parse):

  • Recreate VE with centre shifted if anomalous grain happens to be the edge of the VE
    • Need to discuss with Aiden more
  • Integrate Sam's reshuffle algorithm which clusters orientations together
    • Need to discuss with Aiden more

aplowman and others added 12 commits September 18, 2025 15:12
This is specific to running on Windows with Docker,
which should be set by the user.
- Set default value here instead of in the python script.
This is clearly incompatible with the current Matflow.
Started with the easier ones:

Remove dropbox archiving
Adapt task syntax for
- sample texture from model ODF mtex for phase 1
- Visualise orientations and move straight after sampling tasks
- visualise VE VTK
gcapes and others added 13 commits October 1, 2025 09:55
Remove explanation from previous commit.

Note that this workflow gives an error:

```
ValueError: Action 0 input 'orientations' of schema 'generate_volume_element_from_statistics_dual_phase_orientations_Dream3D' is not a schema input, but nor is it an action output from a preceding action.
```
These are in thd old matflow format.
Debugging the workflow turned up some incorrect syntax,
incorrect filenames (scripts not matching the first function names),
missing default values for input parameters.

It also turns out that Dream3D needs the full path to the precipitates file.
I still get this error that I got before converting to old matflow
orientations format:

```
  File "/home/mbexegc2/projects/lightform/cipher-workflows/cipher-aiden_2025-10-29_133031/artifacts/submissions/0/scripts/generate_volume_element_from_statistics_dual_phase_orientations_Dream3D_act_3.py", line 40, in parse_dream_3D_volume_element_from_stats
    ori_1 = validate_orientations(orientations_phase_1)
  File "/home/mbexegc2/projects/lightform/cipher-workflows/.venv/lib/python3.10/site-packages/damask_parse/utils.py", line 983, in validate_orientations
    ori_type = orientations.get('type')
AttributeError: 'Orientations' object has no attribute 'get'
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support CIPHER

3 participants