-
Notifications
You must be signed in to change notification settings - Fork 15
Add some documentation on basis functions #347
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
Conversation
89e743f to
2d7d6a4
Compare
459600c to
4227ac3
Compare
| length partitioning the $[0,1]$ interval, | ||
| $x_{i \in {0,...,n}} = (1/2+i)/(n+1)$. | ||
|
|
||
| - `IntegratedGLL`: open basis; the basis of order $n$ histopolates all the |
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 might be wise to expand on the meaning of "histopolate" or provide a link to an explanation.
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 did both.
src/basis-functions.md
Outdated
| [ND](ND_FECollection) and [RT](RT_FECollection) spaces, of the one-dimensional | ||
| bases described above. In most cases the user can simply use the provided | ||
| defaults, Gauss-Lobatto for H1 spaces, Gauss-Lobatto plus Gauss-Legendre for | ||
| ND and RT spaces, and Gauss-Lobatto for L2 spaces. This should not be confused |
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 believe the default for L2 is Gauss-Legendre.
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.
🙈 Embarrassing. I can see from the way I wrote it that my brain was thinking of the right thing, but my hands didn't want to agree... but no excuses, just embarrassing. Thanks for reading this carefully and catching this.
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.
No need to be embarrassed. This is why we proof read for each other. Just a normal part of the process.
| @@ -0,0 +1,114 @@ | |||
| tag-fem: | |||
|
|
|||
| # Basis Functions | |||
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 would be good to have a section that describes a bit about the Basis object in MFEM. It's also worth noting that the object provides evaluations of basis functions and their spatial derivatives at a given set of quadrature points
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've added a paragraph.
| ND and RT spaces, and Gauss-Lobatto for L2 spaces. This should not be confused | ||
| with the integration rule default, which remains Gauss-Legendre for all cases. | ||
|
|
||
| For tensor product elements, e.g. quadrilaterals or hexahedra, the basis |
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.
Perhaps mention that serendipity basis can be used with quads/hexes.
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.
We now mention serendipity elements, with notes for hexahedral elements, the one-dimensional and first order cases.
| one-dimensional basis of Chebyshev polynomials of the first kind. The user can | ||
| use the [`display-basis` miniapp](tools.md#display-basis) to visualize various | ||
| types of basis functions on a single mesh element of their choice. | ||
|
|
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.
Wedge elements are the tensor product of a triangle and segment, and Pyramids are based on Fuentes et al.'s work: https://doi.org/10.1016/j.camwa.2015.04.027
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've basically reworded this slightly and added it in without expanding much (at all).
mlstowell
left a comment
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.
This is a valuable addition to the web pages. Thank you for contributing.
|
@nmnobre -- if you can address the remaining comments, we can make this part of the website updates for mfem-4.9 |
I shall write a bit tomorrow morning then. :) |
acfisher
left a comment
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.
Looks great. Thanks for helping us with the documentation!
helloworld922
left a comment
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.
Looks good to me, thank you for writing this.
|
Thanks, @nmnobre ! |
|
FYI, I had to replace the PDF figure with a PNG to render it properly with mkdocs, see 8cfdecb |
|
Ah, shame, but not a huge deal, we just lose the ability to zoom indefinitely since it was a vector image. |
Hi,
I thought it'd be nice to have some reference for the basis functions we use and build in MFEM.
I'd appreciate if someone could read over this. :) Please do feel free to modify or expand the text as you see fit.
Cheers,
-Nuno