Skip to content

enable configuration file for material properties#97

Draft
gknapp1 wants to merge 5 commits into
candidate-v2.0.0from
material-config
Draft

enable configuration file for material properties#97
gknapp1 wants to merge 5 commits into
candidate-v2.0.0from
material-config

Conversation

@gknapp1

@gknapp1 gknapp1 commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

This PR implements two main features:

  • Creates a repository workflow for pulling material file data from Myna and using Mist to automatically generate AdditiveFOAM input files from that data
    • An initial pull of that data is included in the PR and the workflow is set to run once a week
    • If the weekly workflow notices changes in the Myna material database, a PR will automatically be created on AdditiveFOAM repo to merge the changes into main
  • Modifies the thermoPath file format and associated reader to allow for users to user the OpenFOAM file #include syntax to set values from the database.
    • The AMB2018-02-B tutorial is updated to use this feature
    • To keep functionObjects synced up with the material parameters, a change to the default behavior for the function objects was added to have them pull from thermoPath table for setting isoValues. If the user manually specifies isoValue/isoValues in controlDict, then those will be used as-is.

Since this feature needs some changes to the solver to support this approach to material configuration, this feature is in draft state until the following structural decisions & changes are implemented through other PRs:

  • Should thermoPath move into the transportProperties dict?
  • What does a single-file material configuration file (.cfg) look like?
  • Where is the source of truth for solidus and liquidus temperatures: thermoPath or some user-set values?
  • How should functionObjects inherit solidus and liquidus values as defaults: through reference in the controlDict functionObject dicts (e.g., $solidus) or through default settings read from thermoPath and set in the solver?

This feature will also be in draft state until the following features are added, based on the decisions above:

  • A Mist-based script to produce a single .cfg file instead of the current structure is needed
  • A tutorial that pull the material properties across all files from the material .cfg files (e.g., emissivity in 0/T, Marangoni coefficient in 0/U)

gknapp1 added 5 commits June 16, 2026 15:13
…files

- pull request CI enforces that the material files haven't been manually changed
- weekly chron job checks the main branch of the Myna repo for any changes, updates if so
- thermoPath is now a FoamDict, allowing it to use the #include syntax
- transportProperties also now uses the #include syntax
- function objects now set isoValues to default to thermoPath values, if not directly set by the user
- some updates to the build files due to functionObjects now depending on the readThermoPath utility
- Allrun provides setting the path to the AdditiveFOAM repo to find the materials config file folder
- not really needed, but the intent is clearer
@gknapp1 gknapp1 requested a review from colemanjs June 16, 2026 20:28
@gknapp1 gknapp1 self-assigned this Jun 16, 2026
@colemanjs

Copy link
Copy Markdown
Collaborator

Is there a minimum working example here where we just provide material configuration files, similar to what we provide for the nlight laser profiles, here:

https://github.com/ORNL/AdditiveFOAM/blob/candidate-v2.0.0/tutorials/nLightAFX/constant/nLightAFX.cfg

@gknapp1

gknapp1 commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator Author

Is there a minimum working example here where we just provide material configuration files, similar to what we provide for the nlight laser profiles, here:

https://github.com/ORNL/AdditiveFOAM/blob/candidate-v2.0.0/tutorials/nLightAFX/constant/nLightAFX.cfg

@colemanjs Yes, I updated the AMB2018-02-B tutorial to use the material configuration file instead of directly specifying the thermoPath and transportProperties.

@gknapp1 gknapp1 marked this pull request as draft June 17, 2026 17:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants