Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advanced stateful material restart #26680

Merged
merged 33 commits into from
Mar 11, 2024
Merged

Conversation

loganharbour
Copy link
Member

This supports restarting and adding/removing stateful properties

Closes #25840

@loganharbour loganharbour force-pushed the stateful_steps branch 2 times, most recently from fed96ce to 797524b Compare January 29, 2024 20:31
@idaholab idaholab deleted a comment from moosebuild Jan 29, 2024
@loganharbour loganharbour changed the title Initial work on advanced stateful properties Advanced stateful properties Jan 29, 2024
@loganharbour loganharbour changed the title Advanced stateful properties Advanced stateful restart Jan 29, 2024
@loganharbour loganharbour changed the title Advanced stateful restart Advanced stateful material restart Jan 29, 2024
@moosebuild
Copy link
Contributor

moosebuild commented Jan 29, 2024

Job Documentation on 209a0e3 wanted to post the following:

View the site here

This comment will be updated on new commits.

@hugary1995
Copy link
Contributor

I was looking for a markdown file but couldn't find one... Just to clarify this PR addresses adding/removing property but doesn't enable the usage of something like "block-restricted" restart, am I right?

@loganharbour
Copy link
Member Author

Just to clarify this PR addresses adding/removing property

correct

but doesn't enable the usage of something like "block-restricted" restart, am I right?

it doesn't, but I could think about that.can you provide more detail?

@hugary1995
Copy link
Contributor

hugary1995 commented Jan 30, 2024

Yeah, one of our collaborators wanted to do checkpoint and restart, and they want to keep adding new blocks to the mesh as they restart. The common blocks between the old mesh and the new mesh are always conformal, i.e. same equation system, same material storage etc.

I think in theory we can support that by asking the user to specify which blocks (from the checkpoint) to restart from. Or more generally speaking, there could be two symmetric parameters blcoks_from and blocks_to.

I hope I explained the usage scenario I had in mind clearly enough... Let me know if otherwise.

I've told our collaborators some workarounds. But this will be a useful capability to have in the future.

@moosebuild
Copy link
Contributor

moosebuild commented Feb 2, 2024

Job Coverage on 209a0e3 wanted to post the following:

Framework coverage

c7df31 #26680 209a0e
Total Total +/- New
Rate 85.29% 85.30% +0.01% 95.38%
Hits 100942 101062 +120 227
Misses 17409 17419 +10 11

Diff coverage report

Full coverage report

Modules coverage

Porous flow

c7df31 #26680 209a0e
Total Total +/- New
Rate 95.35% 95.35% +0.00% 100.00%
Hits 11251 11252 +1 1
Misses 549 549 - 0

Diff coverage report

Full coverage report

Solid mechanics

c7df31 #26680 209a0e
Total Total +/- New
Rate 84.88% 84.75% -0.13% 100.00%
Hits 27134 27086 -48 2
Misses 4835 4874 +39 0

Diff coverage report

Full coverage report

Xfem

c7df31 #26680 209a0e
Total Total +/- New
Rate 82.27% 82.25% -0.02% -
Hits 6836 6834 -2 0
Misses 1473 1475 +2 0

Diff coverage report

Full coverage report

Full coverage reports

Reports

This comment will be updated on new commits.

@dschwen
Copy link
Member

dschwen commented Feb 20, 2024

I'm working on fixing the ComputeElasticityTensorCP issue. Should I add my commits to this branch?

@loganharbour loganharbour marked this pull request as ready for review February 29, 2024 17:07
@loganharbour
Copy link
Member Author

Yeah, one of our collaborators wanted to do checkpoint and restart, and they want to keep adding new blocks to the mesh as they restart. The common blocks between the old mesh and the new mesh are always conformal, i.e. same equation system, same material storage etc.

I think in theory we can support that by asking the user to specify which blocks (from the checkpoint) to restart from. Or more generally speaking, there could be two symmetric parameters blcoks_from and blocks_to.

I hope I explained the usage scenario I had in mind clearly enough... Let me know if otherwise.

I've told our collaborators some workarounds. But this will be a useful capability to have in the future.

@hugary1995 in regard to this conversation, there's nothing stopping us now from adding additional blocks and just initializing the stateful data for those new blocks as new data, while retaining the old ones. There's an error in place for now because it's ambiguous, but we could enable this capability by just providing a list of material objects or material parameters that would be allowed to add new (clean) information while retaining old.

@loganharbour
Copy link
Member Author

@dschwen This is ready. All of the failures but one are due to the solid mechanics rename.

lindsayad added a commit to lindsayad/zapdos that referenced this pull request Mar 6, 2024
@YaqiWang
Copy link
Contributor

YaqiWang commented Mar 6, 2024

Griffin just needs a regolding because of this commit 72b37d4.

@loganharbour
Copy link
Member Author

@dschwen please. Griffin patch is near

@YaqiWang
Copy link
Contributor

YaqiWang commented Mar 7, 2024

@dschwen please. Griffin patch is near

Griffin patch is ready. All tests passed. When this is merged, we will just need to replace the MOOSE submodule hash.

Co-authored-by: Daniel Schwen <daniel@schwen.de>
@lindsayad lindsayad requested a review from dschwen March 11, 2024 16:11
@moosebuild
Copy link
Contributor

Job Valgrind stochastic tools on 209a0e3 : invalidated by @lindsayad

@moosebuild
Copy link
Contributor

Job OpenMPI on 209a0e3 : invalidated by @lindsayad

@lindsayad lindsayad merged commit 521425c into idaholab:next Mar 11, 2024
86 of 88 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Support adding/removing stateful materials in restart
6 participants