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

Some interfaces introduce parameters and attributes to many objects without enforcing their effect #29609

Open
GiudGiud opened this issue Dec 23, 2024 · 1 comment
Labels
P: minor A defect that does not affect the accuracy of results. T: defect An anomaly, which is anything that deviates from expectations.

Comments

@GiudGiud
Copy link
Contributor

GiudGiud commented Dec 23, 2024

Bug Description

TransientInterface introduces the implicit parameter and the _implicit attribute, which is implemented properly in Kernel.C and affects Coupleable.C and nowhere else afaik. Users and app developers do not know about it, and generally wont use it properly because the logic is confusing (it swaps out current and old, and old and older in coupleable discretely)
so for example: _is_implicit ? coupledValue("u") : coupledValueOld("u") is wrong. Because in the back-end, coupleable does return (_c_is_implicit) ? var->sln() : var->slnOld();
This interface is used by 90% of objects in MOOSE

MaterialPropertyInterface introduces use_interpolated_state and prop_getter_suffix which are only used in objects that actually retrieve material property (stateful ones for the latter). This is not all of the user objects, most of them carry the parameter with no benefit.

SetupInterface introduces execute_on to numerous objects, some of which do not implement timestepSetup or execute() and therefore do not change their execution behavior

Steps to Reproduce

Examine TransientInterface
or
set implicit = true in a finite volume kernel and watch nothing happen differently

Impact

Avoid frustration from using parameters which are not respected

We need to enforce the respect of user parameters by design

[Optional] Diagnostics

No response

@GiudGiud GiudGiud added P: minor A defect that does not affect the accuracy of results. T: defect An anomaly, which is anything that deviates from expectations. labels Dec 23, 2024
GiudGiud added a commit to GiudGiud/moose that referenced this issue Dec 23, 2024
GiudGiud added a commit to GiudGiud/moose that referenced this issue Dec 23, 2024
Suppress  isObjectAction which is not  meant to  be set by the user
refs idaholab#29609
GiudGiud added a commit to GiudGiud/moose that referenced this issue Dec 23, 2024
It is added by the TransientInterface (useful for dt) and is only implemented in Kernel.C essentially
refs idaholab#29609
GiudGiud added a commit to GiudGiud/moose that referenced this issue Dec 23, 2024
Improve parameter groups for SIMPLE
refs idaholab#29609
GiudGiud added a commit to GiudGiud/moose that referenced this issue Dec 23, 2024
GiudGiud added a commit to GiudGiud/moose that referenced this issue Dec 23, 2024
Suppress  isObjectAction which is not  meant to  be set by the user
refs idaholab#29609
GiudGiud added a commit to GiudGiud/moose that referenced this issue Dec 23, 2024
Improve parameter groups for SIMPLE
refs idaholab#29609
GiudGiud added a commit to GiudGiud/moose that referenced this issue Dec 24, 2024
Improve parameter groups for SIMPLE
refs idaholab#29609
GiudGiud added a commit to GiudGiud/moose that referenced this issue Dec 25, 2024
Improve parameter groups for SIMPLE
refs idaholab#29609
@GiudGiud
Copy link
Contributor Author

I ll update the issue at some point. My initial assessment wasn't quite right

GiudGiud added a commit to GiudGiud/moose that referenced this issue Dec 25, 2024
Improve parameter groups for SIMPLE
refs idaholab#29609
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P: minor A defect that does not affect the accuracy of results. T: defect An anomaly, which is anything that deviates from expectations.
Projects
None yet
Development

No branches or pull requests

1 participant