-
Notifications
You must be signed in to change notification settings - Fork 1.2k
[WIP] Add new flexible FV interpolation machinery. #31974
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
base: next
Are you sure you want to change the base?
Conversation
28b49f7 to
3211d05
Compare
|
|
||
| /** | ||
| * Base class for face interpolation functions used by linear FV objects. | ||
| * Maybe we can extend it a little late to regular FV as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * Maybe we can extend it a little late to regular FV as well. | |
| * Maybe we can extend it a little later to regular FV as well. |
| template <typename Derived> | ||
| static Real callInterpolate(const FVInterpolationMethod & method, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
instead of CRTP you could use type erasure and a registry like @NamjaeChoi transitioned to for Kokkos. But I'm also ok with the CRTP
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd be curious about the details! Could you point me to the relevant parts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's discussed (not super thoroughly) in https://mooseframework.inl.gov/syntax/Kokkos/. Let me know if you want more detail
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice doco!
| * the derived classes can use their own member variables (like a power variable for inverse | ||
| * distance weighting, or a limiter variable etc). | ||
| */ | ||
| class FVInterpolationMethod : public GeneralUserObject |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is this a user object?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know, I just wanted something quick to start with. If I get the green light I will make it a regular mooseobject.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When I hack I hack with user objects.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have my green light. Note that my light will always be greener if not using a user object haha. Then I know there's going to be first class support in the framework
|
I'm not happy with this design yet, will come back a little more. |
Closes #31965