Phase Field schema / Marda working Group

Daniel Wheeler / Trevor Keller

Meeting, 05/23/2023

Motivation

  • Realize the potential of phase field in ICME
  • Improve FAIR and FAIR4RS practices in phase field
    • Make phase field data more interactive
    • Categorize phase field software frameworks
    • Registry of phase field simulations
    • AI potential

PHASE Field Benchmark Team / PFHub

  • Larry Aagensen, INL
  • Stephen DeWitt, ORNL
  • Jon Guyer, NIST
  • Olle Heinonen, ANL
  • Andrea Jokisaari, INL
  • Trevor Keller, NIST
  • David Montiel, U. of Michigan
  • Daniel Schwen, INL
  • Mike Tonks, U. of Florida
  • Peter Voorhees, Northwestern
  • Jim Warren, NIST
  • Daniel Wheeler, NIST

PHASE field Method

Year on year phase field publications

TS=("phase field" OR "phase-field")

Why phase field?

  • Diffusive interface good, sharp bad
  • No explicit interface tracking
  • Many phase field codes available
  • Other reasons why phase field is much better than other continuum macro / meso-scale techniques

Issues preventing wider adoption

  • Difficult to formulate
  • Computationally expensive (resolve interface)
  • Many other things to do with implementation

Hasn't fulfilled potential in ICME

PFHUb Website

  • PFHub website hosting benchmark specifications and results
  • Automated submission procedure
  • Phase field best practices guide
  • Suggested codes and annotated examples

Data Collection

  • What data to we currently collect?
    • Provenance
    • Benchmark ID
    • Implementation repository
    • Post-processed outputs
    • Limited metadata
      • run time
      • memory usage
      • simulation time
    • Limited hardware data
    • Limited software data
id: moose_1a_amjokisaari_ia
benchmark_problem: 1a.0
contributors:
- id: https://orcid.org/0000-0002-4945-5714
  name: A.M. Jokisaari
  affiliation:
  - INL
  email: andrea.jokisaari@northwestern.edu
date_created: '2016-06-28'
implementation:
  url: https://bitbucket.org/ajokisaari/coral
  commit: e8fc74f
results:
  fictive_time: 935803.78997793
  hardware:
    architecture: cpu
    cores: 6
    nodes: 1
  memory_in_kb: 815104
  time_in_s: 3720
  dataset_temporal:
  - name: free_energy_1a.csv
    columns:
    - time
    - free_energy
schema:
  url: https://github.com/usnistgov/pfhub-schema/tree/e0010d9/project
summary: MOOSE, IA solver, periodic domain.
framework:
- url: https://mooseframework.inl.gov/modules/phase_field/index.html
  name: MOOSE
  download: https://github.com/idaholab/moose
  version: 1.0.0

YAML file showing PFHub result schema derived using LinkML (Trevor Keller)

Data queries

How can we currently query the data

  • Plot the dendrite tip position for all results for a particular code
  • Show results only from a particular author
  • Show results that use >N nodes
  • Show results that use a GPU

Better ways to query the data

  • Show dendrite curves for all finite difference methods
  • Show the transient free energy curve for all results with nominal O(h⁴) accuracy
  • Show the resource usage per nominal DOF
  • Characterize Ostwald ripening simulations by a length scale associated with the microstructure
  • Color data points in an efficiency plot based on numerical method or meshing strategy

 

Currently collect only derived quantities such as free energy

Data Collection updated

What else should we collect?

  • Descriptions of discretization methods (FD, FV, FE, Spectral, ...)
  • Nominal order of accuracy, nominal DOF, meshing strategy
  • Description of linear solvers, preconditioners, non-linear strategy
  • Time stepping strategy (implicit v explicit)
  • Field variables at various times for statistical post-processing
  • Links to input files (rather than just the implementation repository)
  • Container (Docker build, Singularity build, Nix build)
  • Descriptions of typical phase field data files
  • What about the actual problem being solved?

 

Not collecting the field variables currently (results during evolution of BM1, Trevor Keller)

Submission Workflow

Submitter has a temporary website to view the submission

GitHub pull-requests (PR) provide a platform for data submissions

  • Generate a "pfhub.yaml" using a Jupyter Notebook
  • Submit pfhub.yaml and data to Zenodo (or other archival service with DOI)
  • Submit DOI to usnistgov/pfhub issue

  • Automatically opens PR and launches automated checks, informs admins and fires up temporary views of the data
  • Discussion between submitter and admins in the PR, change or update data if necessary on Zenodo
  • Submission is then registered on PFHub website

Ask the submitter to check the submission

Clean up any issues and then admins approve and submitter approves

Automated tests are run on submission

FAir Improvements

  • New schema in human readable form using LinkML
    • Seamless conversion between schema.org, json-schema, jsonld, yaml
  • Require implementation to be in publicly accessible archive
  • Encourage use of FAIR4RS principles (metadata.json)
  • Require curation of result data on Zenodo (or similar)
  • Improve data accessibility using Jupyter Notebooks and Python utility (in place of JS stack and custom apps)
  • Effort to develop a phase field best practices guide via the wiki (includes model formulation, numerical implementation, data curation, software dev, setup, dissemination)

data Aspirations (PFHUB)

  • Collect enough data to
    • evaluate the code implementation verification
      • order of accuracy claim
      • solve consistently
    • evaluate the code solution verification
      • Does the code solve the correct equation?
    • validate the code
      • Is the code efficient (best method, language, implemented well)?
    • compare codes
    • make results findable and accessible (FA, not IR)
      • sort results records more effectively
  • We are not collecting enough data for this aspiration...

IMpact ideas

  • Provide tools to generate and lint phase field schema compliant metadata file
    • similar to metadata.json for FAIR4RS
  • Generate phase field data examples with metadata
  • Demonstrate secondary data aggregation and data views using metadata
  • Registry of phase field problems (and simulations)

phase-field-schema-marda

By Daniel Wheeler

phase-field-schema-marda

  • 151