Skip to content

Extended PCT capabilities to low pressure for YHx#292

Open
Anthony-Bowers08 wants to merge 318 commits into
idaholab:develfrom
Anthony-Bowers08:yttrium_hydride_lowpressure
Open

Extended PCT capabilities to low pressure for YHx#292
Anthony-Bowers08 wants to merge 318 commits into
idaholab:develfrom
Anthony-Bowers08:yttrium_hydride_lowpressure

Conversation

@Anthony-Bowers08

Copy link
Copy Markdown
Contributor

(Ref. #261)

@simopier simopier self-assigned this Sep 11, 2025
@moosebuild

Copy link
Copy Markdown

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

Coverage

f80c7c #292 f0140f
Total Total +/- New
Rate 91.30% 88.08% -3.22% 100.00%
Hits 1049 1049 - 42
Misses 100 142 +42 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 f0140fa wanted to post the following:

The following coverage requirement(s) failed:

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

@moosebuild

moosebuild commented Oct 29, 2025

Copy link
Copy Markdown

Job Documentation, step Sync to remote on 4d11a94 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 Verify coverage on f0140fa wanted to post the following:

The following coverage requirement(s) failed:

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

@simopier simopier left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thank you for this @Anthony-Bowers08!

I have several high level requests/suggestions:

  1. Instead of adding a new material class, you should instead apply this in the existing ADMatInterfaceReactionYHxPCT class. There, you will see this if statement:
if (!_silence_warnings && ((neighbor_pressure < limit_pressure) || (neighbor_pressure > 1.e6)))

You should edit this if statement so that if the neighbor_pressure is above 1.e6 or lower than ~2.e2 (the lower pressure at which we have data if I remember properly), then an error is provided, if it is between 1.e6 and limit_pressure, then the current calculations for the high pressure regime is applied, and if it is between 2.e2 and limit_pressure, then it calculates the atomic fraction at the surface following the new equation you are proposing.
I think that should do it, and capture the plateau region. My concern is that we might see some oscillations around the plateau region, but we can test that and deploy a solution once we observe that.

  1. I see that you have created an input file and submitted gold file, which is great. However, you need to also edit the test file related to this capability and add tests for all the configurations in the if statement above, with a particular focus on the new cases you are creating. The reason why the coverage currently fails is because despite adding a new input file, no additional test is being run.
    Note also that rather than create a brand new input file, you should instead use the cli_args option in the test file to utilize the existing file, but in the regime of interest to you. You will find example of that in the test file.

  2. You will also need to update the documentation page (format in .md) to detail your new contribution to the existing capabilities.

  3. Your python script should be merged with the existing one for ADMatInterfaceReactionYHxPCT. Do it all in there.

Let me know if you have any questions.

@Anthony-Bowers08 Anthony-Bowers08 force-pushed the yttrium_hydride_lowpressure branch from f0140fa to 05b1c7c Compare February 9, 2026 16:43
@simopier

simopier commented Feb 9, 2026

Copy link
Copy Markdown
Collaborator

The prechecks are failing due to the white spaces:

##########################################################################
ERROR: The following files contain trailing whitespace after applying your patch:
	src/interfacekernels/ADMatInterfaceReactionYHxPCT.C

Run the "delete_trailing_whitespace.sh" script in your $MOOSE_DIR/scripts directory.

ERROR: The following files do not contain a newline character before EOF:
	doc/content/source/interfacekernels/figures/comparison_YHx_PCT.py
	test/tests/yttrium_hydrogen_system/comparison_YHx_PCT.py

Run the "delete_trailing_whitespace.sh" script in your $MOOSE_DIR/scripts directory.
##########################################################################

I thought you had applied the changes I had suggested to get rid of those. Did it not work?

Anthony-Bowers08 pushed a commit to Anthony-Bowers08/TMAP8 that referenced this pull request Feb 9, 2026
@Anthony-Bowers08 Anthony-Bowers08 force-pushed the yttrium_hydride_lowpressure branch 2 times, most recently from 8dad514 to 6a315c7 Compare February 11, 2026 18:08
@simopier

Copy link
Copy Markdown
Collaborator

@Anthony-Bowers08, you will need to fix the conflict with the python script.
Let me know if you don't know how to do it and I can guide you.

@Anthony-Bowers08

Copy link
Copy Markdown
Contributor Author

@simopier , think python script is an updated one from your prior .py yttrium script. I essentially added the low pressure plotting and made into a function based filed. I can revert to your prior .py file and just add the low pressure plotting there.

@simopier

Copy link
Copy Markdown
Collaborator

@simopier , think python script is an updated one from your prior .py yttrium script. I essentially added the low pressure plotting and made into a function based filed. I can revert to your prior .py file and just add the low pressure plotting there.

Please do.

Also, the conflicts means that the files have been updated in your branch and in a recent merge of TMAP8. So it's less about the nature of the change, and more about the fact that several changes from different origins are in conflict. We have recently deployed a formatting script for TMAP8, which affected many of the python scripts. That is probably the culprit.

@Anthony-Bowers08 Anthony-Bowers08 force-pushed the yttrium_hydride_lowpressure branch from 502a728 to b70b205 Compare March 12, 2026 14:27

@simopier simopier left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

You need an issue number in your commit message:

#########################################################################
ERROR: Your patch does not contain a valid ticket reference! (i.e. #1234)
Merge branch 'yttrium_hydride_lowpressure' of https://github.com/Anthony-Bowers08/TMAP8 into test
Modifications, reformatting, and cleaning YHX #Ref 262
##########################################################################

@simopier simopier left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thank you for this extension!
I added comments for you to incorporate.
Let me know if you have any questions.

Comment thread doc/content/source/interfacekernels/ADMatInterfaceReactionYHxPCT.md Outdated
Comment thread doc/content/source/interfacekernels/ADMatInterfaceReactionYHxPCT.md Outdated
Comment thread doc/content/source/interfacekernels/ADMatInterfaceReactionYHxPCT.md Outdated
id=YHx_PCT_Data
caption=PCT data for YHx from [!cite](Lundin_1962).

!media comparison_YHx_PCT.py

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Why do you cut the low pressure data at an atomic fraction of 0.5? It can/should go further than that, especially for higher temperatures.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The fit becomes severely offset to the PCT data for values above 0.5. Please schedule a meeting to discuss if interested.

[YHx_PCT_Data] shows the data used in this interface kernel. The experimental data originates from [!cite](Lundin_1962).
The [YHx_PCT_fit_2D] shows high and low pressure fit with the high pressure fit from [!cite](Matthews2021SWIFT) and the low-pressure is a newly fitted curve.

!media comparison_YHx_PCT.py

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Please use the same colors as for the following figure. You use the same type of color palette, but it would be easier for the reader if you used the same color for the same temperature in both figures.

Comment thread test/tests/yttrium_hydrogen_system/tests Outdated
Comment thread test/tests/yttrium_hydrogen_system/tests Outdated
Comment thread test/tests/yttrium_hydrogen_system/tests Outdated
Comment on lines +311 to +312
nl_rel_tol = 1e-4
nl_abs_tol = 4e-9

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Lin is making changes to these cases, and you should be ready to use his options, which will be merged soon. See #382

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Do not completely re-write this python script.
Add what you need and want to add by expanding what is already there.

lindsayad and others added 12 commits March 23, 2026 16:45
A working case for all three phases of the simulation

Probably all four of these are important components

- Nondimensionalization with different reference concentrations for
  all species so that active set numerics are decent for all
- nl_rel_tol = 1e-9 with no nl_abs_tol
- Reduce growth factor to 1.05 (1.1 was too high ... led to diffs)
- Refine the light case twice (once refined was still not refined enough,
  it led to diffs)

Sometimes you need a sufficient amount of accuracy in order for the
test to be robust, especially in problems like this where for most of the
simulation only like 1/20th of the simulation domain has non-trivial
concentrations

Refs idaholab#200
Co-authored-by: Pierre-Clement Simon <pierreclement.simon@gmail.com>
Co-authored-by: Pierre-Clement Simon <pierreclement.simon@gmail.com>
Add V&V case based on Kobayashi et al. (2015) modeling tritium thermal
desorption spectroscopy from Li2TiO3 with irradiation-induced defects
and O-center trapping with defect annihilation (Sample E).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
moosetest and others added 29 commits May 7, 2026 02:30
Add val-2k: deuterium desorption from self irradiated tungsten with thin film oxide
Remove empty slide from TMAP8 tutorial
…ion. I still need to update the documentation.

(Ref. idaholab#415)
- Update TMAP4 solution on lines 307-308 in comparison file.
- Add citation on line 11 of doc file
- Add alert to doc file to explain why the TMAP8 and TMAP4 analytical solutions were not used.
(ref. idaholab#416)
Co-authored-by: Pierre-Clement Simon <pierreclement.simon@gmail.com>
Correcting steady state analytical solution in ver-1e
Co-authored-by: Pierre-Clement Simon <pierreclement.simon@gmail.com>
Co-authored-by: Pierre-Clement Simon <pierreclement.simon@gmail.com>
Co-authored-by: Pierre-Clement Simon <pierreclement.simon@gmail.com>
Co-authored-by: Pierre-Clement Simon <pierreclement.simon@gmail.com>
…rs08/tmap8 into yttrium_hydride_lowpressure
@simopier

simopier commented Jun 4, 2026

Copy link
Copy Markdown
Collaborator

This PR needs to be properly rebased.

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.

9 participants