Michael,

I implemented something similar to what you proposed. You might want to 
have a look at https://github.com/dealii/dealii/pull/5175

Best,
Daniel

Am Mittwoch, 27. September 2017 17:41:08 UTC+2 schrieb Michał Wichrowski:
>
>
>> I've started working on new version MGTransferBlockMatrixFree and I now 
>> see the problem. MGTransferBlockMatrixFree is easy to rewrite using vector 
>> of dof handres etc, but PreconditionMG requires MGTransfer that have 
>>  copy_to_mg and copy_from_mg that work on single dof handre. I am thinking 
>> of 3 way to resolve it:
>> 1) Rewrite MGTransferBlockMatrixFree using  vector of dof handler, 
>> implement PreconditionBlockMG and probably Multigrid will also need block 
>> version
>> 2) Use standard MGTransfer for individual blocks and implement 
>> PreconditionBlockMG and BlockMultigrid to work with several MGTransfer s.
>> 3) Since MGTransferBlockMatrixFree requires dof handler in build (const 
>> DoFHandler< dim, dim > &mg_dof) method, the pointers to dof_handlers may be 
>> stored and used in copy_from_mg and copy_to_mg. 
>> I think 3) is simplest but also risky solution. 2) seems quite rational 
>> to me. 
>>
>>>
>>> I've decided to implement approach 3). You can find it in attachment. 
> Second file contains test on block Laplace problem. Main difference between 
> this file and one of deal.II test are this lines:
>
>   std::vector< const MGConstrainedDoFs * > mg_constrained_dofs_vector(nb, 
> &mg_constrained_dofs );
>   std::vector< const DoFHandler<dim> * > mg_dofs_vector(nb, &dof );
>   MWichrowski::MGTransferBlockMatrixFree<dim,dim,number> 
> mg_transfer(mg_constrained_dofs_vector);
>   mg_transfer.build(mg_dofs_vector);
>  
>
>> Best,
>>  Michał 
>>
>

-- 
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.

Reply via email to