Dear Oded, I think that the BlockMatrixArray <https://www.dealii.org/8.4.1/doxygen/deal.II/classBlockMatrixArray.html> class might offer the functionality that you're looking for? If so then I'm not quite sure what the equivalent class for the BlockVector would be. If there is none, then you have two options at this point: (1) Manually construct a new BlockVector yourself (you'd basically concatenate blocks to form the superblocks) (2) Author an equivalent class "BlockVectorArray". I think that this wouldn't be too difficult, because it would essentially mimic BlockMatrixArray but offer the functionality provided by the Vector classes. This might be a nice addition to deal.II, so I'm happy to help you with this if you'd like to give it a go.
Best, J-P On Tuesday, December 13, 2016 at 8:22:42 PM UTC+1, Oded Yaakobi wrote: > > Hello, > > > > Does anyone know whether it is possible to create BlockSparseMatrix and > BlockVector objects with a nested hierarchy of blocks? > > > > I will give a concrete example to explain my question. I am interested to > model a generalized case of Stokes flow in and around a droplet. My model > is described by Eqs. (1), (2), (5) and (6) with the interface matching > conditions Eqs. (9) and (10) in the attachment to the post > https://groups.google.com/forum/#!topic/dealii/KbaZormL-Dk > > For your convenience, the document is attached here again. > > > > For simplicity, let’s assume for the moment that the second term in Eq. > (9) is absent. > > > > In contrast to what I wrote in the document, it now seems to me that a > better way to order the primary degrees of freedom in the four blocks is > {v_n, v_e, P_i, P_e}. As far as I understand, the resulting block system > matrix would have zeros on the lower-right blocks that corresponds to the > blocks {P_i, P_i}, {P_i, P_e}, {P_e, P_i}, and {P_e, P_e}. Another > property of the matrix is that the off-diagonal blocks {v_n, v_e} and {v_e, > v_n} are nonzero due to the interface matching condition for the velocity, > Eq. (9). > > > > In order to find the solution of the unknown block vector, I would like to > follow step-22 and use the Schur complement. However, in order to do so, I > should have access to “super-blocks” that each one of them is composed of 4 > regular blocks of the BlockSparseMatrix system matrix. For example, the > lower-right zero “super-block” is {P_i & P_e , P_i & P_e}. A similar type > of access is also required for the BlockVector of unknowns. > > > > Does dealii support this functionality? > > If not, do you have another suggestion how to obtain the solution of the > unknown block vector? > > > > Thank you, > > Oded > > > -- 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.