Hello everyone, I have written a small feature enhancement that allows MGTransferPrebuilt to be used with parallel PETSc matrices. If possible I would like to contribute this change back to the main development branch. I guess that I should submit a pull request but I made changes that I would like to discuss before submission (or are these things usually discussed with the pull requests on github?).
- The trilinos wrapper has an optional argument that allows the matrix to be initialized with an incomplete sparsity pattern and have the trilinos wrapper distribute it by itself. The PETSc wrapper does not offer this functionality so I had to manually distribute the sparsity pattern. Since dynamic sparsity patterns have no copy constructor and I also couldn't find a copy method, that means that I had to change the argument type from "const SparsityPatternType&" to "SparsityPatternType&". The only call site to this function clears the sparsity pattern immediately after use, but I would still make sure that the library authors are aware of and OK with this change. - The PETSc matrix wrapper has an AssertThrow statement that prohibits the number of locally stored columns from being 0 if the number of locally stored rows is nonzero (source/lac/petsc_parallel_sparse_matric.cc - line 385). If there is a coarse level where the # of DoFs is smaller than the process count and one where that is not the case, then this is guaranteed to fire an exception. Is there a bug in PETSc which requires this assertion to be present in the first place? I could not find a rule in the PETSc documentation prohibiting this use case. Additionally, I noticed that MGTransferPrebuilt is only instantiated for the cases where dim = spacedim, should I change this? Best regards, Alexander Knieps. -- 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. For more options, visit https://groups.google.com/d/optout.