On 1/18/24 12:56, Alex Quinlan wrote:
Where I start to get confused is when I try to reinitialize the system
matrix. What I want to do is something like:
system_matrix.reinit(dsp, mpi_communicator);
This has my MPI communicator and the sparsity pattern that I’ve built
up. However, this isn’t a valid call to
PETScWrappers::MPI::BlockSparseMatrix.reinit(). There’s a similar
function that takes the arguments ( *const std::vector< IndexSet
<https://www.dealii.org/current/doxygen/deal.II/classIndexSet.html> > &sizes,*const BlockDynamicSparsityPattern <https://www.dealii.org/current/doxygen/deal.II/classBlockDynamicSparsityPattern.html> &bdsp, const MPI_Comm <https://www.dealii.org/current/doxygen/deal.II/classMPI__Comm.html> com )
I don’t really understand what I would put in for the "sizes" vector.
What exactly am I trying to pass with this argument? Is it all of the
locally owned/relevant dofs? Do I just combine the vector of locally
owned shell dofs and locally owned solid dofs?
The argument is poorly named. It is a vector of index sets (in your case
a vector of 2 index sets) each of which contains which of the elements
of a block are locally owned. Perhaps the corresponding function in
other block classes uses a better named and/or documented argument. (The
name dates back to a time when we just passed down how many rows each
process owns, rather than being explicit -- with an index set -- which
rows these actually are.)
This would probably be worth fixing. Would you be willing to write a
patch that renames the argument?
Best
W.
--
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/a83197f2-7439-49eb-93de-94dc4f922ba4%40colostate.edu.