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'
```
@gcapes gcapes marked this pull request as ready for review January 7, 2026 15:41
@gcapes gcapes requested a review from a team as a code owner January 7, 2026 15:41
@dkfellows dkfellows marked this pull request as draft January 8, 2026 13:36
@dkfellows
Copy link
Collaborator

I've marked this as a Draft PR because it's still being baked.

@gcapes
Copy link
Collaborator

gcapes commented Jan 8, 2026

Not sure what you mean "baked", but I think it's ready for review, so I'm going to re-mark it as such.

@gcapes gcapes marked this pull request as ready for review January 8, 2026 13:49
@dkfellows
Copy link
Collaborator

Well, you have merge conflicts...

@gcapes
Copy link
Collaborator

gcapes commented Jan 8, 2026

Two of the merge conflicts (to template components) are easy to resolve - keep both sets of changes. What I'm unclear about is where the demo data has moved to. Looks all to have been deleted, so this will need some advice as part of the review.

@aplowman aplowman merged commit f3f4117 into develop Jan 13, 2026
23 checks passed
@aplowman aplowman deleted the software/cipher branch January 13, 2026 13:55
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

4 participants