-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Let us control the pressure action #29603
base: next
Are you sure you want to change the base?
Conversation
479d04e
to
dfdaab3
Compare
Job Documentation, step Docs: sync website on 59e325e wanted to post the following: View the site here This comment will be updated on new commits. |
Job Coverage, step Generate coverage on 59e325e wanted to post the following: Framework coverage
Modules coverageSolid mechanics
Full coverage reportsReports
This comment will be updated on new commits. |
Job GCC min debug on dfdaab3 : invalidated by @GiudGiud unrelated timeout |
I think I'm fine with your implementation @GiudGiud . I don't see a reason (or if it even makes sense) why someone would turn off one of the BC's (disp_x, _y, or _z) created by a Pressure BC and not the others. So I would be in favor of preventing the user from doing that in the first place (your first bullet point) About your documentation note, you say that "enable" has to be explicitly set in the input file but I do not see that in the test case. |
Yeah, we have problem with controlling components - they need to "forward" the controllable parameters. We do this as with
However, I've noticed that trying to control @GiudGiud I will go ahead and see if I can figure out something here. |
Ok, so I found that this was the solution to my problem at least:
Does |
I don't recall writing this.
seems the syntax isn't right. I think the true syntax is Pressure/BoundaryCondition/... |
dfdaab3
to
bb4a56b
Compare
@jessecarterMOOSE ok I adapted the message. If there is no reason to control them separately then imo what we have here is fine. |
What you have seems simple and effective. I might try moving components to use this approach too. |
I just tried your same approach with components, but it has no effect. I don't understand how yours works. When you do
it's creating a copy of the initial value |
I'll double check. |
bb4a56b
to
a7db33a
Compare
" connectControllableParams("rho", obj_class_name, obj_name, "rho");" is the correct solution here. Thanks @joshuahansel ! |
a7db33a
to
ccea8d9
Compare
Could you generalize this? Seems useful for other actions that create kernels etc. |
I think so for physics / actions that create equations. |
I would vote against any sort of automatic parameter connection. I think in most cases you'd want a specific Physics parameter like I think the only thing to improve would be to somehow connect when someone tries to control a parameter that doesn't actually do anything (like a Physics parameter that the developer forgot to connect to an object parameter), but I'm not sure how we'd detect that (without just using special logic for Physics etc. in the control system), so maybe not. |
This could be great but I m not sure we can do if we have some sort Physics-wide "enable" (that ties the Physics enable to all the kernels, and probably just the kernels). I dont know that
This would be great. I think it might be possible if we:
|
Ok, so I guess you mean Physics task that does the check, rather than some logic that lives in the control system. Yeah I think that's good. It doesn't need to be in this PR, but at least make an issue for it. |
ok created #29687 |
ccea8d9
to
57f02e2
Compare
ok took care of that last test failure I think. imo people need to stop inheriting classes but not their parameters... |
Use the proper mechanics for forwarding
57f02e2
to
59e325e
Compare
@jessecarterMOOSE can you look at the caveat in the documentation file and confirm it works for you?
It is fairly unconventional. @joshuahansel can you please take a look too?
We have 3 other options at least:
EDIT: no current APIs to do that
Whichever solution we find here might end up being deployed largely for Physics. So we can control a Physics all at once