Thanks, Wolfgang. I seem to have it working now, though I've hit some other unrelated snags that I need to resolve. Once I get those fixed and confirm that my program is running correctly, I would be willing to work on a patch.
Thanks, Alex On Friday, January 19, 2024 at 1:00:51 PM UTC-5 Wolfgang Bangerth wrote: > > 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/3d597190-6c08-4250-a3e6-a895aa4aa4dbn%40googlegroups.com.