On 1/16/24 07:03, Alex Quinlan wrote:
I've come up against another issue in my mixed-dimensional mesh. I am now
trying to implement MPI, which requires partitioning the triangulation.
In my case, I have two triangulations: one for the solid <3,3> elements and
one for the shell <2,3> elements. These two triangulations are couple at
multiple points. I combine them into a blockmatrix with the form:
[ A_solid , B_coupling;
C_coupling, D_shell ]
I may also need to expand this in the future to a matrix with 3x3 or nxn blocks.
Do you have any thoughts on how I can partition this problem? The suite of
GridTools::partition_triangulation seem like they will not work for my
two-triangulation approach.
Can you elaborate what the problem you are facing is? At least for the
diagonal blocks of the matrix, you would simply use a matrix class such as
PETScWrappers::MPI::SparseMatrix that knows how to partition itself onto
different processes. Similarly, for your vectors, you'd use the appropriate
block vector class in which each vector block is partitioned. You'd have to
initialize these individually, but I suspect you're already doing that anyway.
In each case, blocking (into the 2x2 structure you show above) and
partitioning (among MPI processes) are orthogonal issues.
The biggest issue I see is how you can build the off-diagonal blocks above
because to do so, you need to know information about both meshes on the same
process, and generally the partition of one triangulation owned by a specific
process does not geometrically overlap with the partition of the other
triangulation owned by the same process.
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: bange...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/0efa50f2-b1aa-4274-8736-6cb9a9641a4c%40colostate.edu.