Skip to content

Second Coupling Integral (times d tilde/dn)#1589

Open
int-ptr-ptr wants to merge 12 commits intoPrincetonUniversity:develfrom
int-ptr-ptr:integral-dot-grad-shape
Open

Second Coupling Integral (times d tilde/dn)#1589
int-ptr-ptr wants to merge 12 commits intoPrincetonUniversity:develfrom
int-ptr-ptr:integral-dot-grad-shape

Conversation

@int-ptr-ptr
Copy link
Collaborator

Description

Please describe the changes/features in this pull request.

Issue Number

If there is an issue created for these changes, link it here
solves #1550

Checklist

Please make sure to check developer documentation on specfem docs.

  • I ran the code through pre-commit to check style
  • THE DOCUMENTATION BUILDS WITHOUT WARNINGS/ERRORS
  • I have added labels to the PR (see right hand side of the PR page)
  • My code passes all the integration tests
  • I have added sufficient unittests to test my changes
  • I have added/updated documentation for the changes I am proposing
  • I have updated CMakeLists to ensure my code builds
  • My code builds across all platforms

@int-ptr-ptr int-ptr-ptr changed the base branch from main to devel January 19, 2026 23:37
@lsawade lsawade linked an issue Jan 20, 2026 that may be closed by this pull request
3 tasks
@Rohit-Kakodkar
Copy link
Collaborator

It looks like you're making updates unrelated to the coupling integral in this PR, unless I've missed something. Would you mind updating this PR to include just the coupling integral and its test? I'm unsure where the nonconforming fixture is used—please correct me if I'm wrong. Thanks!

typename IndexType, typename IntersectionFieldViewType,
typename IntersectionFactor, typename IntersectionJacobianType,
typename TransferFunctionDerivativeType, typename CallableType>
KOKKOS_FUNCTION void coupling_integral_dnshape(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Precomputing edge-related values and storing them in the assembly can clean up this code, improve readability, and facilitate integration into coupling_integral.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it alright if we do this in a future PR? I was waiting for this one to go through before updating my work on #1342 in order to put the first coupling_integral in the same test executable.

Precomputation and storage would require changes to nonconforming_interfaces that will bloat this PR even further.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That sounds good. Can you create another issue for that refactor and link it here?

Also, see my other comment.

Copy link
Collaborator

@lsawade lsawade left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not quite understanding why you are rewriting GLL routines here.

See: core/specfem/quadrature/gll/lagrange_poly.cpp

@int-ptr-ptr
Copy link
Collaborator Author

I'm not quite understanding why you are rewriting GLL routines here.

See: core/specfem/quadrature/gll/lagrange_poly.cpp

I had not seen that, as I overlooked the gll namespace (since I wanted other schemes). I noticed that lagrange_poly.xpp uses views. I like how fixture has compile-time (constexpr) access to the quadrature, though I do not explicitly need it at the moment, as well as how it avoids the Kokkos::View dependence.

@lsawade
Copy link
Collaborator

lsawade commented Feb 2, 2026

@int-ptr-ptr, how are your notes coming along?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

additional integral in integrate-coupling

3 participants