Skip to content

Commit

Permalink
Fix link error
Browse files Browse the repository at this point in the history
  • Loading branch information
johnbowen42 committed Sep 24, 2024
1 parent 0a8b42e commit 17cd58c
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 24 deletions.
4 changes: 2 additions & 2 deletions src/serac/numerics/functional/element_restriction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -430,8 +430,8 @@ uint64_t ElementRestriction::ESize() const { return esize; }

uint64_t ElementRestriction::LSize() const { return lsize; }

SERAC_DEVICE DoF ElementRestriction::GetVDofDevice(DoF node, mfem::Ordering::Type ordering_, uint64_t component,
uint64_t num_nodes_, uint64_t components_)
SERAC_HOST_DEVICE DoF ElementRestriction::GetVDofDevice(DoF node, mfem::Ordering::Type ordering_, uint64_t component,
uint64_t num_nodes_, uint64_t components_)
{
if (ordering_ == mfem::Ordering::Type::byNODES) {
return DoF{component * num_nodes_ + node.index(), (node.sign() == 1) ? 0ull : 1ull, node.orientation()};
Expand Down
25 changes: 3 additions & 22 deletions src/serac/numerics/functional/functional.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -293,12 +293,6 @@ class Functional<test(trials...), exec> {
{
if (domain.GetNE() == 0) return;

// Check that Integrand is not a generic lambda.
class DummyArgumentType {};
static_assert(!std::is_invocable<Integrand, DummyArgumentType&>::value);
static_assert(!std::is_invocable<Integrand, DummyArgumentType*>::value);
static_assert(!std::is_invocable<Integrand, DummyArgumentType>::value);

SLIC_ERROR_ROOT_IF(dim != domain.Dimension(), "invalid mesh dimension for domain integral");

check_for_unsupported_elements(domain);
Expand Down Expand Up @@ -341,12 +335,6 @@ class Functional<test(trials...), exec> {
auto num_bdr_elements = domain.GetNBE();
if (num_bdr_elements == 0) return;

// Check that Integrand is not a generic lambda.
class DummyArgumentType {};
static_assert(!std::is_invocable<Integrand, DummyArgumentType&>::value);
static_assert(!std::is_invocable<Integrand, DummyArgumentType*>::value);
static_assert(!std::is_invocable<Integrand, DummyArgumentType>::value);

check_for_missing_nodal_gridfunc(domain);

using signature = test(decltype(serac::type<args>(trial_spaces))...);
Expand Down Expand Up @@ -623,8 +611,7 @@ class Functional<test(trials...), exec> {

integral.ComputeElementGradients(K_elem, which_argument);
}
int nr = 0;
int nc = 0;

for (auto type : {Domain::Type::Elements, Domain::Type::BoundaryElements}) {
auto& K_elem = element_gradients[type];
auto& test_restrictions = form_.G_test_[type].restrictions;
Expand All @@ -643,8 +630,7 @@ class Functional<test(trials...), exec> {
#else
auto elem_matrices_host = elem_matrices;
#endif
nr = elem_matrices.shape()[1];
nc = elem_matrices.shape()[2];

for (uint32_t i = 0; i < uint32_t(elem_matrices.shape()[1]); i++) {
int col = int(trial_vdofs[i].index());

Expand All @@ -668,12 +654,7 @@ class Functional<test(trials...), exec> {

// Copy the column indices to an auxilliary array as MFEM can mutate these during HypreParMatrix construction
col_ind_copy_ = lookup_tables.col_ind;
for (uint32_t i = 0; i < uint32_t(nr); i++) {
for (uint32_t j = 0; j < uint32_t(nc); j++) {
std::cout << values[i * uint32_t(nr) + j] << " ";
}
std::cout << std::endl;
}

auto J_local =
mfem::SparseMatrix(lookup_tables.row_ptr.data(), col_ind_copy_.data(), values, form_.output_L_.Size(),
form_.input_L_[which_argument].Size(), sparse_matrix_frees_graph_ptrs,
Expand Down

0 comments on commit 17cd58c

Please sign in to comment.