Yes I think handing the transfer with mapping is more reasonable... Thanks for your sugeestion.
Best, Wayne 在2023年2月24日星期五 UTC+8 20:27:57<Wolfgang Bangerth> 写道: > On 2/24/23 05:22, 'yy.wayne' via deal.II User Group wrote: > > I use trilinos because MatrixFree method relys on > LinearAlbegra::distributed > > Vector or Block Vector. > > When solve the coarsest level of MatrixFree multigrid problem directly, > > trilinos direct solver only > > handles non-blocked vectors, so I do transfer between BlockVectors and > > Vectors. The ordering of > > DoFs is destructed when fe degree rises to 3 and higher, causing the > transfer > > error. > > The problem with renumbering by component is that the DoFs owned by each > process are no longer a contiguous range, and that just isn't allowed by > the > vector class you are trying to use. It needs to be a contiguous index > range. > > If you need to copy from block vectors to non-block vectors, you might > just > have to copy in a way that doesn't just map from src[i] to dst[i], but > from > src[i] to dst[mapping[i]] where mapping takes care of the translation of > corresponding vector elements. > > Best > W. > > -- > ------------------------------------------------------------------------ > Wolfgang Bangerth email: bang...@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/06c98db3-cf6b-4680-ad08-8a14000aa5ddn%40googlegroups.com.