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

Add interface for per element operations #35

Merged
merged 159 commits into from
Jan 9, 2025
Merged

Conversation

cwsmith
Copy link
Contributor

@cwsmith cwsmith commented Sep 26, 2024

This includes:

  • definition of linear and quadratic shape functions for simplicies (edges, triangles, and tets)
  • support for user/application element-to-dof ordering and the subsequent index into the arrays holding field data - i.e., the user/application has a different definition of the ordering/numbering of dof holders in a triangle/tet than what MeshFields uses. Note, this PR does not yet include programmatic access to the built-in/native MeshFields canonical ordering for each type of element+shape function combination.
  • tests using dummy mesh and Omega_h data to exercise the APIs

Discussion:

  • is a test of the shape function values, as done in shapefun.cc from pumi, a good addition?
    • yes

Todo:

  • add test for tetrahedrons e118072
  • add test that creates a field over an omegah mesh and evaluates the field d49551c
  • add tests that check the results of the evaluate operation using
    • linear shape function @ centroid d49551c
    • linear shape function @ interior 82f3a4f
    • quadratic shape function @ centroid 34b26b3
    • quadratic shape function @ interior 34b26b3
    • quadratic shape function with linear analytic function @ interior 34b26b3
  • add helper method that writes the field to Omega_h tags for rendering/etc.
  • extend evaluate to accept a multiple points per element 2535f17
  • documentation - class/struct interaction
  • documents - nomenclature
  • add mesh+fields interface and implement with omegah a87c33c

[ ] add static asserts for templated interfaces and classes See #43
[ ] test with cabana controller See #44

src/MeshField.hpp Fixed Show fixed Hide fixed
src/MeshField.hpp Dismissed Show dismissed Hide dismissed
src/MeshField.hpp Fixed Show fixed Hide fixed
src/MeshField_Field.hpp Dismissed Show dismissed Hide dismissed
test/testOmegahElement.cpp Fixed Show fixed Hide fixed
test/testOmegahElement.cpp Fixed Show fixed Hide fixed
test/testOmegahElement.cpp Fixed Show fixed Hide fixed
test/testOmegahElement.cpp Fixed Show fixed Hide fixed
test/testOmegahElement.cpp Fixed Show fixed Hide fixed
test/testOmegahElement.cpp Dismissed Show dismissed Hide dismissed
test/testOmegahElement.cpp Fixed Show fixed Hide fixed
test/testOmegahElement.cpp Dismissed Show dismissed Hide dismissed
test/testOmegahElement.cpp Dismissed Show dismissed Hide dismissed
test/testOmegahElement.cpp Fixed Show fixed Hide fixed
test/testOmegahElement.cpp Dismissed Show dismissed Hide dismissed
@cwsmith cwsmith marked this pull request as ready for review January 9, 2025 19:11
src/MeshField.hpp Dismissed Show dismissed Hide dismissed
Copy link

github-actions bot commented Jan 9, 2025

Package Line Rate Complexity Health
...build-kokkos.install.include 65% 0
...build-kokkos.install.include.Serial 97% 0
...build-kokkos.install.include.View.Hooks 100% 0
...build-kokkos.install.include.View 88% 0
...build-kokkos.install.include.desul.atomics 100% 0
...build-kokkos.install.include.impl 75% 0
...build-omegah.install.include 25% 0
meshFields.src 94% 0
meshFields.test 96% 0
Summary 86% (2051 / 2393) 0

@cwsmith cwsmith merged commit bb17f21 into main Jan 9, 2025
7 checks passed
@cwsmith cwsmith deleted the cws/elementInterface branch January 21, 2025 19:06
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