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

Rational functions for pyramid #895

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from
Draft

Rational functions for pyramid #895

wants to merge 10 commits into from

Conversation

jmv2009
Copy link

@jmv2009 jmv2009 commented Jan 9, 2025

This commit generates the proper orthonormal rational functions for the pyramid. See #894

Still doing more checks on the derivatives, especially around p=q.

The Lagrangian elements have a problem with these functions at the top vertex (nan), even though the limit is well defined.

These are not yet the orthonormal rational functions that we want though. The first generated proper rational function here are (2x-1+z)(2y-1+z)/(1-z). This should be x y/(1-z) as in Cockburn and Fu and https://defelement.org/elements/examples/pyramid-lagrange-equispaced-1.html However, for orthogonality purposes, the base should then be from -1,-1,zmin to 1,1,zmin and the peak at 0,0,1. This will keep the admissiblity/compatibility. Alternatively it should be (x-1/2)(y-1/2)/(1-z) with the regular base peak at 1/2,1/2,1. So in the end the tilted, asymmetric pyramid is a bad choice. To get the 1 and 2-forms going without immediately needing to apply piola transformations doesn't seems to work.

4 slanted side pyramid + 1/(1-z) extra prefactor orthogonal space. This extra prefactor is not taken into account for the derivatives, as for that usage the prefactor always needs to be cancelled.
4-slanted sided pyramid orthogonal spaces with 1/(1-z) pre-factor to include derivatives of the lower order spaces. This pre-factor is not taken into account for the derivatives, as the pre-factor always needs to be cancelled.
4-slanted face symmetric pyramid has more symmetry, enables othogonal versions of the Cockburn and Fu spaces.
4-slanted face pyramid
@jmv2009
Copy link
Author

jmv2009 commented Feb 1, 2025

I am changing to pyramid such that there are four slanted faces as in https://www.math.u-bordeaux.fr/~durufle/montjoie/pyramid.php. I also changed the orthogonal rational functions to include an extra factor of 1/(1-z) overall. This makes sure that the first order derivatives of the lower order rational functions are included in the function space as required for the generation of for order complexes of elements c.f. Cockburn and Fu. (to be verified again). For complexes with higher derivatives, more such factor may need to be included. There are still a couple of problems:
a) basix.create_lattice is still on the original pyramid
b) picture?
c) Elements with dofs on vertices don't work yet, and will need modification. This will require removing the 1/(1-z) factor, but the orthogonal polynomials will need to stay the same, so it will need to be applied when needing orthogonal polynomials for a quadrature application.

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 this pull request may close these issues.

1 participant