Hi Timo,

I tried your proposed solution and it looks like the iteration numbers of 
GMG are similar to what one would expect from the literature.
I will do a more in depth analysis of the results tomorrow, but so far the 
results look very promising.

Thank you very much!

On Wednesday, May 20, 2020 at 9:30:48 PM UTC+2, Timo Heister wrote:
>
> Hi Julian,
>
> you will need to extend MGTransferPrebuilt::prolongate with support for 
> user constraints:
>
> https://github.com/dealii/dealii/blob/70455cc1efde9ad0d5ca4295ea5597fc2fa98171/source/multigrid/mg_transfer_prebuilt.cc#L93
>
> This might be as simple as a call to
>   get_user_constraint_matrix(...).distribute(vector)
>
> Can you try and report back?
>
>
> On Monday, May 18, 2020 at 6:11:34 AM UTC-4, Julian Roth wrote:
>>
>> Dear all,
>>
>> I was trying to solve the Eddy Current Problem with Multigrid. 
>> I have curl-conforming boundary constraints, i.e. n x u = 0.
>>
>> I managed to apply these to the system matrix via 
>> VectorTools::project_boundary_values_curl_conforming_l2()
>> Unlike step-16 where the same approach has been demonstrated for the 
>> LaplaceProblem, I didn't find any method,
>> which allows me to apply the before mentioned boundary constraints to the 
>> MGConstrainedDoFs object.
>> Thus I computed the curl conforming constraints in assemble_multigrid, 
>> when I instantiated the boundary_constraints on each level.
>> The matrix on the finest grid is the same as the system matrix, which 
>> means that my workaround should have worked.
>>
>> How can I apply my boundary constraints to the transfer matrices between 
>> the level meshes, if they are not contained in MGConstrainedDoFs?
>>
>> Currently I am still using:
>> MGTransferPrebuilt<VectorType> mg_transfer(mg_constrained_dofs);
>> mg_transfer.build_matrices(dof_handler);
>>
>> Obviously this isn't correct though, since the boundary constraints 
>> haven't been accounted for.
>> How can I add curl conforming boundary constraints to the transfer 
>> matrices?
>>
>> Is there any other way that I can deal with the curl conforming boundary 
>> conditions, when I am working with Multigrid?
>>
>> Kind regards,
>>
>> Julian
>>
>>
>> P.S. Note that my Multigrid approach is not MatrixFree. Thus I don't 
>> think that I can use
>> MGConstrainedDoFs.add_user_constraints()
>> since this only applies to MatrixFree methods.
>>
>

-- 
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/2b54e1c9-60f7-4e69-bd8a-2fbd5be0b9fc%40googlegroups.com.

Reply via email to