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
Solidify writableCoupledValue
API
#22563
Comments
Dependency resolution needs to be figured out here. For that MOOSE relies on InputParameters. Basically we'd need to declare coupled variables a written to in the input parameters if we want the execution order to be resolved such that variables written to by one object are available by the next object that would use them. This is a mess. Right now It's frankly a miracle to me that any of this currently works. |
Why is coupling |
Reason
External library routines called from UserObjects can potentially produce a lot of data that needs to go into auxiliary variable fields.
writableCoupledValue
provides a way to write those fields without temporarily storing the data in maps and assigning them through AuxKernels.Design
A few additional checks will be required to make this a solid API.
writableCoupledValue
should register the variable as a provided quantity, and user objects that request a variable should mark it as a required property. The complication here is that we need to ignore any coupled (aux)variables in user objects that are simply updated through AuxKernels.Impact
Simplify updating AuxVariables from calculations in UserObjects. Get rid of a lot of boiler plate code and simplify ease of use.
The text was updated successfully, but these errors were encountered: