Skip to content

Comments

Example implementation of 1D curvilinear elements#180

Open
sbadrian wants to merge 1 commit intokrcools:masterfrom
sbadrian:feature/beast-curvilinear-support_5
Open

Example implementation of 1D curvilinear elements#180
sbadrian wants to merge 1 commit intokrcools:masterfrom
sbadrian:feature/beast-curvilinear-support_5

Conversation

@sbadrian
Copy link
Contributor

@sbadrian sbadrian commented Dec 4, 2025

Requires an updated CMS version!

This is not yet to be merged, but it provides a BEAST version that allows to easily test the implementation of a 1D Curvilinear Mesh (see the sibling branch on CMS)!

Some explanations:

  1. Overall, the changes to the existing code are minimal.
    My understanding is that the way Sauter-Schwab works these days
    does not necessitate a swapping of the (control) vertices,
    instead we work with a reference element and basically remap the
    barycentric coordinates.

I adapted the unit test for 1D Sauter-Schwab. I do not understand
why I picked SauterSchwab as a reference for itself. Now I use
the Gauss-Legendre. Of course, accuracy is low, but if something would
go fundamentally wrong with the normal or the reordering of vertices
I would expect it to be visible.

  1. My 2D Mie series suffered from early convergence thus the rewrite.

  2. The changes for lagrange.jl where necessary because the number of vertices
    of an element does not help to assess the type in the higher order case.
    (3 vertices can be a triangle or a quadratic segment)

Requires an updated CMS version!

Some explanations:

1) Overall, the changes to the existing code are minimal.
My understanding is that the way Sauter-Schwab works these days
does not necessitate a swapping of the (control) vertices,
instead we work with a reference element and basically remap the
barycentric coordinates.

I adapted the unit test for 1D Sauter-Schwab. I do not understand
why I picked SauterSchwab as a reference for itself. Now I use
the Gauss-Legendre. Of course, accuracy is low, but if something would
go fundamentally wrong with the normal or the reordering of vertices
I would expect it to be visible.

2) My 2D Mie series suffered from early convergence thus the rewrite.

3) The changes for lagrange.jl where necessary because the number of vertices
of an element does not help to assess the type in the higher order case.
(3 vertices can be a triangle or a quadratic segment)
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