Re: [deal.II] Form a BlockSparseMatrix based on block matrices from a different BlockSparseMatrix

2023-04-25 Thread Tao Jin
Dear Wolfgang, Thank you so much for your guidance. Step-35 is the example where "SynchronousIterators" is used. "" using IteratorTuple = std::tuple::active_cell_iterator, typename DoFHandler::active_cell_iterator>; using IteratorPair = SynchronousIterators;

Re: [deal.II] Form a BlockSparseMatrix based on block matrices from a different BlockSparseMatrix

2023-04-20 Thread Wolfgang Bangerth
On 4/20/23 17:27, Tao Jin wrote: My question is, is there a way to involve two different dof_handlers when using the WorkStream class, something like the following: What you are looking for is an object that looks like a *pair* of iterators and when you call ++it on it, then it increments

Re: [deal.II] Form a BlockSparseMatrix based on block matrices from a different BlockSparseMatrix

2023-04-20 Thread Tao Jin
Dear Wolfgang, Thank you so much for your inputs. Indeed, Step-31 is a good example for what I am looking for. However, I have a follow-up question regarding using the *WorkStream* class based on TBB during the assembly stage when two different dof_handlers are involved. To be specific, in

Re: [deal.II] Form a BlockSparseMatrix based on block matrices from a different BlockSparseMatrix

2023-04-16 Thread Wolfgang Bangerth
On 4/15/23 22:31, Tao Jin wrote: During a time interval, I want to use the first split operator *A  B * u1 = b1 *to solve*u1 *and*u2.* *B  C    u2    b2* Then, plug the solved u1 and u2 into the second split operator *F * u3 = b3* where *F* contains the information of the newly solved *u1* and

[deal.II] Form a BlockSparseMatrix based on block matrices from a different BlockSparseMatrix

2023-04-15 Thread Tao Jin
Dear all, This is a similar question related to a post two years ago: https://groups.google.com/g/dealii/c/1L6gLFtvTCo/m/frIyTDXbBwAJ I am developing a fractional time stepping algorithm based on an operator split. Basically, I can obtain the following monolithc system after the finite element