-
Notifications
You must be signed in to change notification settings - Fork 109
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
Naming convention: volume/surface *integral* → *terms* #616
Comments
Could you give a few examples regarding what would change and how? |
|
In principle, DG is based on integrals and hence one could argue calling it VolumeIntegral or SurfaceIntegral makes sense. Is it necessary, that DG and SBP have the same names? We could have different names for different solvers if you ask me. |
I am strongly against using different names for the same abstraction depending on the context. That totally defeats multiple dispatch and code reuse. |
Additionally, I don't think DGSEM people will be confused by |
(I'm using some rather extreme wording here to play the devil's advocate. I knew that we will have such discussions and we definitely need them to find a good solution for all of us and Trixi. That's why I chose the tag |
I don't think most of these code changes affect me, but FWIW, I've also used I also think the "volume integral" for entropy stable DGSEM looks pretty different from a standard volume integral... |
For similar reasons why we have separate implementations for 1D/2D/3D: If you are omniscient and/or have multiple years of high-order numerical analysis experience under your belt, all naming conventions are more or less OK for you. However, especially for new users it can be easier to only see a particular name/implementation that is specific to the community you're coming from. For instance, volume integral and surface integral are terms that are immediately recognizable for anyone growing up on David Kopriva's blue book. "Volume terms" and "surface terms" might also refer to other details, or just part of the integrals etc. I am not saying that we shouldn't do it, I am just saying what's "easier to understand" can usually not be determined in an absolute sense, but depends heavily on the perspective... |
Well, I didn't grow up that way. I'm more an autodidact and never had any formal lecture about DG methods or numerical methods for hyperbolic PDEs. Personally, I see DGSEM as "just" a special case of SBP methods. But you're right, there are reasons to keep the current name. On the other hand, there are also reasons to change it. What I would really like to avoid is having the same abstraction multiple times but doing the same thing. |
If it is the consensus to rename it to volume_terms/surface_terms, I can live with it as well. It would be great to have a comment somewhere - maybe in the respective docstrings of the DGSEM and FDSBP types - explaining what the terms In any case, I would propose to do this in a different PR than #617 to make it not a bigger PR than necessary. |
Decided in our meeting some time ago: Nobody has a very strong opinion on this. Thus, it would mostly be an "annoying" change in the sense that it doesn't provide new features while requiring code updates. Thus, we postpone possible changes of the naming convention until they are pressing matters. |
I started to think about implementing FD methods today. I will use the DG struct for that, since block SBP FD methods are just DG methods with another basis (and another structure of the derivative operator, changing the way to efficient implementations completely). Since FD methods are usually implemented in strong form, the term integral for volume/surface contributions doesn't really make sense anymore, I think. Something like volume/surface terms seems to be more appropriate and general, I think.
We should discuss this. If we agree to make the change, we should add appropriate deprecations, mention them in the NEWS.md, and remove the deprecated stuff in Trixi v0.4.
The text was updated successfully, but these errors were encountered: