Skip to content

Add Li2O properties - #444

Open
simopier wants to merge 13 commits into
idaholab:develfrom
simopier:TMAP8_Li2O_properties
Open

Add Li2O properties#444
simopier wants to merge 13 commits into
idaholab:develfrom
simopier:TMAP8_Li2O_properties

Conversation

@simopier

@simopier simopier commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Refs #419

    Refs idaholab#419
    AI-assisted: true
    AI-model: GPT-5.4
    AI-version: gpt-5.4
    Co-Authored-By: GPT-5.4 <codex@openai.com>
@simopier simopier self-assigned this Aug 5, 2026
@simopier simopier added the PR: AI assisted Pull requests that utilized AI in their development label Aug 5, 2026
@simopier simopier changed the title Tmap8 li2 o properties Add Li2O properties Aug 5, 2026
@moosebuild

Copy link
Copy Markdown

Job Precheck, step Format Check Clang on 7a051d7 wanted to post the following:

Your code requires style changes.

A patch was auto generated and copied here
You can directly apply the patch by running, in the top level of your repository:

curl -s https://mooseframework.inl.gov/tmap8/docs/PRs/444/clang_format/style.patch | git apply -v

Alternatively, with your repository up to date and in the top level of your repository:

git clang-format 1cb89d53c5ae822e277ffd3620c3bdd44d4eeb6f

Refs idaholab#419
        AI-assisted: true
        AI-model: GPT-5.4
        AI-version: gpt-5.4
        Co-Authored-By: GPT-5.4 <codex@openai.com>
@moosebuild

Copy link
Copy Markdown

Job Build test summary, step Build test summary on b8f7f3a wanted to post the following:

Test summary

Compared against 1cb89d5 in job civet.inl.gov/job/4042583.

No change

@moosebuild

moosebuild commented Aug 5, 2026

Copy link
Copy Markdown

Job Documentation, step Sync to remote on bd08a98 wanted to post the following:

View the site here

This comment will be updated on new commits.

@moosebuild

Copy link
Copy Markdown

Job Coverage, step Generate coverage on b8f7f3a wanted to post the following:

Coverage

1cb89d #444 b8f7f3
Total Total +/- New
Rate 92.15% 85.21% -6.93% 100.00%
Hits 1314 1314 - 116
Misses 112 228 +116 0

Diff coverage report

Full coverage report

This comment will be updated on new commits.

@moosebuild

Copy link
Copy Markdown

Job Coverage, step Verify coverage on b8f7f3a wanted to post the following:

The following coverage requirement(s) failed:

  • Coverage rate 85.21% is less than the required 90.0%

@simopier

simopier commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator Author

@GiudGiud @cticenhour this is ready for review.

The only thing is the ad tests that I somehow can't figure out right now, so suggestions are welcome.

This is providing the base structure for these types of classes and will be expanded later on.

@simopier
simopier requested review from GiudGiud and cticenhour August 7, 2026 22:26
@moosebuild

Copy link
Copy Markdown

Job Precheck, step Python: black format on 337cb08 wanted to post the following:

Python black formatting

Your code requires style changes.

A patch was generated and copied here.

You can directly apply the patch by running the following at the top level of your repository:

curl -s https://mooseframework.inl.gov/tmap8/docs/PRs/444/black/black.patch | git apply -v

Alternatively, you can run the following at the top level of your repository:

black --config pyproject.toml --workers 1 .

@GiudGiud GiudGiud left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will verify all 6 expressions later

code looks good

Comment thread doc/content/source/materials/TritiumDiffusivityLi2O.md Outdated
Comment thread doc/content/source/materials/TritiumDiffusivityLi2O.md Outdated
Comment thread doc/content/source/materials/TritiumSolubilityLi2O.md Outdated
Comment thread doc/content/source/materials/TritiumSolubilityLi2O.md Outdated
Comment thread doc/content/source/materials/TritiumSolubilityLi2O.md Outdated
| Enum | Expression used in TMAP8 | Property units | Validity range (K) | Reference | Notes |
| :- | :- | :- | :- | :- | :- |
| `Ohira1989Tritium` | $K_{s,T} = \exp(1290/T + 1.14)$ | atm$^{1/2}$ | 573.15-1000 K | [!cite](Ohira1989Li2O) | Reduced-species tritium dissolution in single-crystal Li2O |
| `Ohira1989Hydrogen` | $K_{s,T} = \exp(1271/T + 2.33)$ | atm$^{1/2}$ | 473.15-1000 K | [!cite](Ohira1989Li2O) | Reduced-species hydrogen dissolution in single-crystal Li2O |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's the motivation behind having a hydrogen-specific correlation in this T-specific object?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a very strong reason, but here were my thoughts: I found it easier to maintain, and I was also wondering if it was worth creating a brand new object for the different isotopes. I like having them all in one object/doc/figure to be able to compare and identify the isotopic effect.
Maybe we move it away into its own object later on when things are more mature (more models) and we want to differentiate things better?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

works for me

issued_warning = true;
}
return;
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not for now but a solutionInvalid option would be best

Co-authored-by: Guillaume Giudicelli <guillaume.giudicelli@gmail.com>
{
using std::exp;

if (model == "Ohira1989")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a string comparison at every Qp. It's not ideal performance-wise. It'd be best to compare integers (e.g. the position in the enum)

even better would be to set A and Ea once in the material on initialSetup and no longer do any switches

We can keep performance items for later though

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, I created an issue to optimize this once everything is in (it'll be easier to check for accuracy once we have the tests merged and we can see nothing is affected: #455

Also, I Iike setting A and Ea during initial setup a lot, but I dislike using integers instead of the enums since this makes the code less readable and therefore more error-prone. So that's what i suggested in the issue.

Comment thread include/materials/Li2OPropertyHelper.h Outdated
Comment thread include/materials/Li2OPropertyHelper.h Outdated
Comment thread include/materials/Li2OPropertyHelper.h Outdated
Comment thread include/materials/Li2OPropertyHelper.h Outdated
Comment thread doc/content/source/materials/TritiumSolubilityLi2O.md Outdated
Comment thread doc/content/source/materials/TritiumSolubilityLi2O.md Outdated
Comment thread doc/content/source/materials/TritiumSolubilityLi2O.md Outdated
Comment thread doc/content/source/materials/figures/plot_li2o_review_models.py Outdated
Comment thread doc/content/source/materials/figures/plot_li2o_review_models.py Outdated
Co-authored-by: Guillaume Giudicelli <guillaume.giudicelli@gmail.com>
Co-authored-by: Pierre-Clement Simon <pierreclement.simon@gmail.com>
@simopier

Copy link
Copy Markdown
Collaborator Author

Really great catch for the temperature ranges @GiudGiud! The paper actually shows some inconsistency in the temperature range. I now use the text from above Eq. (3) for the range, EXCEPT for the upper temperature for hydrogen since it is much smaller than what their Fig. (3) shows. I added an alert in the documentation too.

I also made these corrections in the documentation and the python script.

@GiudGiud

GiudGiud commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

good on my side though I cannot resolve comments with that level of repo access fyi
tests need fixing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: AI assisted Pull requests that utilized AI in their development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants