Closed dschwen closed 1 week ago
Job Precheck on d48748c 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/docs/PRs/27493/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 4d26c5e4c87d95ff4124129109ec8f51f6528a7d
Job Documentation on 662f966 wanted to post the following:
View the site here
This comment will be updated on new commits.
Job Coverage on 0db3591 wanted to post the following:
14e79c | #27493 0db359 | ||||
---|---|---|---|---|---|
Total | Total | +/- | New | ||
Rate | 85.11% | 85.11% | +0.00% | 100.00% | |
Hits | 103108 | 103110 | +2 | 2 | |
Misses | 18044 | 18043 | -1 | 0 |
14e79c | #27493 0db359 | ||||
---|---|---|---|---|---|
Total | Total | +/- | New | ||
Rate | 84.90% | 84.86% | -0.04% | 78.28% | |
Hits | 27458 | 27671 | +213 | 209 | |
Misses | 4882 | 4936 | +54 | 58 |
solid_mechanics
new line coverage rate 78.28% is less than the suggested 90.0%This comment will be updated on new commits.
Job Conda (ARM Mac) on 13efc9f : invalidated by @dschwen
I will restore @dewenyushu 's functionality in a follow on PR. This one has gotten quite large. @hugary1995 there are potentially some small conflicts with your pending PR (such as the FileName -> std::path issue). If your PR get's in first I'll update my PR accordingly.
Failures are unrelated
Rebasing on @hugary1995 just merged PR went without any conflicts but left two copies of a new function we both implemented.
@dschwen let me know if you want me to look at the framework stuff
- An element loop runs the strain calculator (Material) and the MOOSEXXXToNEML2 gatherers (Userobject).
- The ExecuteNEML2Model (Userobject) calls NEML2 to perform the batched update upon finalize.
- An element loop runs the NEML2XXXToMOOSE gatherers (Material) and the kernels to assemble the residual.
Actually now that I had a closer look at this, doesn't this require two element loops before the residual evaluation? Is that possible or am I missing something obvious?
Also, let's deprecate the old design. We could give it a short deprecation period as I doubt anyone is heavily using it.
Actually now that I had a closer look at this, doesn't this require two element loops before the residual evaluation? Is that possible or am I missing something obvious?
Ignore my question... We are apparently running an element UO loop prior to the residual element loop.
Will the strain calculators be executed twice in both step 1 and 3? I hope the framework is smart enough to skip unnecessary material objects, but IIRC the last time I looked at the threaded loop, there wasn't such check in place.
I was working on a huge PR to limit material execution to exactly what is needed during each loop, but it got out of hand. The compute false materials were a challenge (we are relying on all materials to get evaluated in some places).
Follow on work :#27553
FSI failure is unrelated.
Motivation
Currently a now driver user object / material need to bee written for every new set of NEML2 model inputs and outputs to execute a NEML2 model from MOOSE. Furthermore the current UO design is not conducive to inheritance and results in a lot of code duplication in new driver objects.
Design
Create a modular user object based system, where inputs and outputs can be mapped between NEML2 variables and MOOSE Variables/MaterialProperties at run time.
Impact
Execute arbitrary NEML2 models with arbitrary inputs and outputs