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

HexRef class #18

Open
wants to merge 25 commits into
base: master
Choose a base branch
from
Open

HexRef class #18

wants to merge 25 commits into from

Conversation

jfkiviaho
Copy link
Collaborator

HexRef is a MATAR-Kokkoified fusion of the ref_element and HexN classes from elements library.
It incorporates Steven Walton's implementation of Bernstein basis functions along with my implementation of Lagrange and Legendre (Jacobi) basis functions.

jfkiviaho and others added 25 commits June 7, 2022 20:27
Starting out, all the source for from HexN::setup_HexN and
ref_element::init is now in the constructor for HexRef. The basis and
basis derivative evaluation routines from HexN have also been ported
over.
 - Interface is more or less set
 - Data structures holding quadrature points in "cells" and on "patches"
 - Still need to finish data structures holding evaluations of basis
   functions and their gradients in "cells" and on "patches"
 - Created TensorProductBasis class as an interface for evaluations of
   tensor products of different types of basis function over the
   hexahedral element
 - Copied LagrangeElement and LegendreElement classes over from
   elements/ directory and made them TensorProductBasis derived classes
 - Copied over quadrature point and weight routines over from elements/
   directory and reorganized them
Focus MATAR-Kokkoification in elements-kokkos/
…kkos

Merged Steven's Bernstein polynomial and element work in
 - Added missing functionality for computing and storing  basis function
   evaluations to HexRef
 - Fixed a few minor bugs in Bernstein implementation
 - Added example demonstrating initialization of HexRef and printing out
   data stored in HexRef

In this first implementation, HexRef uses run-time polymorphism to
switch between Lagrange, Legendre, and Bernstein tensor product basis
evaluations.
Dr. Collins suggested that the desired functionality might be better
implemented by templating over the basis function type and using
compile-time polymorphism.
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.

None yet

3 participants