Skip to content

Mixed dimension assembly in C++ and form independence for subdomains #3262

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

Merged
merged 29 commits into from
Aug 28, 2024

Conversation

jorgensd
Copy link
Member

@jorgensd jorgensd commented Jun 7, 2024

This PR exposes the mixed (dimensional) assembly functions to C++ and adds a demo.

Would resolve #3113.

This PR also simplifies the newly created mesh independent form creation (#3263) such that the user can send in integration entities.

Added additional test that exposes this feature in the context of sub-meshes for a rank-1 tensor.

@jorgensd jorgensd added enhancement New feature or request demo New demo or demo enhancements/improvements labels Jun 7, 2024
@jorgensd jorgensd added this to the 0.9.0 milestone Jun 7, 2024
@jorgensd jorgensd changed the title Codim-0 assembly interface for C++ Mixed dimensional assembly interface for C++ Jun 7, 2024
@jorgensd jorgensd changed the title Mixed dimensional assembly interface for C++ Mixed (dimensional) assembly interface for C++ Jun 7, 2024
@jorgensd jorgensd requested a review from jpdean June 18, 2024 06:23
@jorgensd jorgensd changed the title Mixed (dimensional) assembly interface for C++ Mixed dimension assembly in C++ and form independence for subdomains Jun 27, 2024
@jorgensd jorgensd requested a review from IgorBaratta June 27, 2024 19:57
jorgensd and others added 3 commits June 27, 2024 20:43
Required for more advanced integration sets that are outside the standard compute_integral_data way.
Copy link
Member

@jpdean jpdean left a comment

Choose a reason for hiding this comment

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

Looks good! Just a few small comments :)

"""
sd = form.ufl_form.subdomain_data()
Copy link
Member

Choose a reason for hiding this comment

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

Nice to get rid of this mess!

@jpdean
Copy link
Member

jpdean commented Aug 15, 2024

Maybe the description could be updated to remove the comment on shared pointers?

@jorgensd
Copy link
Member Author

Maybe the description could be updated to remove the comment on shared pointers?

Addressed and all other comments have been addressed as well.

@jorgensd jorgensd requested a review from jpdean August 16, 2024 08:23
Copy link
Member

@jpdean jpdean left a comment

Choose a reason for hiding this comment

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

Looks good! :)

@jorgensd jorgensd enabled auto-merge August 28, 2024 12:50
@jorgensd jorgensd added this pull request to the merge queue Aug 28, 2024
Merged via the queue into main with commit 38ae5e5 Aug 28, 2024
26 of 27 checks passed
@jorgensd jorgensd deleted the dokken/submesh-codim0-cpp branch August 28, 2024 13:22
schnellerhase pushed a commit to schnellerhase/fenics-dolfinx that referenced this pull request Sep 11, 2024
…EniCS#3262)

* Modify interface of all C++ demos

* Add newline

* Fix C++ unit tests

* Update  create form

* Update code to use self made ptr

* Dokken/subdomain form independent (FEniCS#3287)

* Add subdomains to form creation independent of mesh

* Try some fixes

* Try fixing wrapper

* Fix subdomain data packing

* ruff fix

* Update binding

* Fix docstrings and let user pass in integration entities.
Required for more advanced integration sets that are outside the standard compute_integral_data way.

* Address Joe's comments

* Rename

* Update docs

* Rename test function

---------

Co-authored-by: Chris Richardson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
demo New demo or demo enhancements/improvements enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

dolfinx::fem::create_form does not support entity-maps
3 participants