Skip to content

Conversation

@garth-wells
Copy link
Member

@garth-wells garth-wells commented Dec 28, 2024

Switch to a diagonal block preconditioner, with Hypre Auxiliary Space (AMS) for the $H({\rm div})$ block. AMS works in this case because the demo is 2D, in which case RT elements are just a rotation of Nedelec elements. If Hypre is not available (not configured with PETSc or running with complex floats, which are not supported by Hypre) use LU for the $H({\rm div})$ block.

For a 3D mixed Poisson demo, we would need to use the Hypre Auxiliary-space Divergence Solver (ADS) in place of AMS. This requires the 'discrete curl' operator (see #3587).

This change fixes issues with some LU solvers and saddle point problems.

@garth-wells garth-wells added the demo New demo or demo enhancements/improvements label Dec 28, 2024
@garth-wells garth-wells requested a review from jorgensd January 6, 2025 17:31
@garth-wells garth-wells added this to the 0.10.0 milestone Jan 6, 2025
@garth-wells garth-wells requested a review from jpdean January 7, 2025 17:56

# +
a_p00 = inner(sigma, tau) * dx + inner(div(sigma), div(tau)) * dx
a_p11 = inner(u, v) * dx
Copy link
Member

Choose a reason for hiding this comment

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

Same comment as above wrt. extract_blocks.
If we want to highlight both methods in 1 demo, we could keep this one as is as it is the simplest one.

@jorgensd
Copy link
Member

jorgensd commented Jan 8, 2025

@garth-wells In general a really nice addition to DOLFINx. I added some thoughts regarding the demo above.

garth-wells and others added 3 commits January 8, 2025 10:17
Co-authored-by: Jørgen Schartum Dokken <dokken92@gmail.com>
Co-authored-by: Jørgen Schartum Dokken <dokken92@gmail.com>
Co-authored-by: Jørgen Schartum Dokken <dokken92@gmail.com>
@garth-wells garth-wells enabled auto-merge January 11, 2025 14:20
@garth-wells garth-wells added this pull request to the merge queue Jan 11, 2025
Merged via the queue into main with commit 3888650 Jan 11, 2025
34 checks passed
@garth-wells garth-wells deleted the garth/mixed-poisson-block branch January 11, 2025 15:06
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants