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

SWE example #817

Closed
valeriabarra opened this issue Sep 27, 2021 · 5 comments · May be fixed by #550
Closed

SWE example #817

valeriabarra opened this issue Sep 27, 2021 · 5 comments · May be fixed by #550

Comments

@valeriabarra
Copy link
Contributor

Hi all!

I would like to really apologize for my PR #550 that has been left in a limbo for so long. I was seriously hoping I could have worked on it over the weekends, but life has got in the way and I realistically find it really hard cutting some time for it.

Anyone wants to help by contributing to it or taking it over? I would be more than happy if people want to collaborate and I hope I can help with guidance, conceptually and not only.

For instance, I have now gained some more experience with different ways of handling the treatment of vector quantities across elements on cubed-spheres for these types of problems. For instance, Guba et al. provides possibly a cleaner way than the panel-based approach that I was originally following in the initial development by Nair et al.. I would be more than happy to chat about these different approaches and what would be left to do/verify/validate in the PR.

I feel like that PR was a lot of work and it would be too bad to just "waste" it. Although it was definitely a learning experience so of course that was still something I gained out of it. But I'd understand if we cannot find interested collaborators, or if this additional miniapp was not deemed useful for libCEED's ecosystem.

Thank you and sorry again.

@jedbrown
Copy link
Member

Thanks for raising this @valeriabarra. Are you referring to the appendix of Guba et al? As I read it, they're describing the same thing we do, but writing it in component form. Note that for scalar problems, we don't use an inscribed cube at al. In the body, I see they discuss the hyperviscosity operator, but not advection.
image

This might be okay for explicit models, but implicit would like good conditioning with respect to the global dofs of the system, and having the polar singularity (which they imply is benign non-uniqueness here) is a real issue for implicit.

@jedbrown jedbrown linked a pull request Sep 28, 2021 that will close this issue
5 tasks
@valeriabarra
Copy link
Contributor Author

Thanks for your reply.

I was mainly referring to the transformation of coordinates with local systems on each panel. So yes, their approach described in Appendix A that is arbitrary-quadrilateral-based instead of panel-based would eliminate the need for a lot of auxiliary work that was needed in the panel-based approach (see for instance these FindPanelEdgeNodes and TransformCoords functions that I had worked on). The local maps defined on each element would eliminate the need for if/else or switch branching because they do not need to know if you are transforming coordinates from say panel A to panel B.

@jedbrown
Copy link
Member

Unless I'm unable to read, the appendix only addresses how to differentiate on the surface of the sphere, not how to represent vectors. We derived the same formulation for our BPs on the sphere. But for shallow water, we need to represent tangential vector fields in a basis that doesn't have a singularity and in which we can process all nodes of an element in a consistent chart.

One way to do that (nodally) is to take a Householder QR factorization of the one-column matrix consisting of the radius vector. The last two columns of Q are orthogonal and the process to compute them (a single Householder reflection) is backward stable. But one still needs to convert from a separate chart per node to a single chart per element. Note that this is only an issue for representing tangential vectors.

@valeriabarra
Copy link
Contributor Author

Of course you can read! I was just referring to one sentence in the intro of the Appendix.
Yes, we derived the same formulations to differentiate on the surface of the sphere for the BPs :)
I was just pointing out another piece of literature that I had discovered where this was formalized. But yes, in particular Guba et al. only briefly mention the treatment of vector fields in the text (see beginning of Sec. 2.4).

Anyways, if anyone in the group would like to discuss any of this further or would like to help/collaborate/take over, just let me know!

@valeriabarra
Copy link
Contributor Author

Hi all!
I think it's really ok to close this issue and its related PR - It can always be restored later if anyone wants to pick up that work. My apologies. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants