Re: [deal.II] Parallized BEM (Step-34)

2024-05-06 Thread Daniel Arndt
Max,

the problem is that GridGenerator::extract_boundary_mesh doesn't
support the volume mesh to be an object of type
parallel::distributed::Triangulation.
This just isn't implemented yet. Do you actually need the input volume
mesh to be distributed?

Best,
Daniel

On Mon, May 6, 2024 at 12:06 PM 'Maximilian Hövener' via deal.II User
Group  wrote:
>
> Dear all,
> in the course of my master thesis at the TU Dortmund I came across Deal.II 
> while searching for a boundary element method. Is it possible to change the 
> BEM explained in Step-34 to use it parallelised?
> I have already tried to make some changes using Step-40. This includes 
> replacing the sparse matrix to a dense matrix using the PETSc library header 
> files. This resulted in the following error message:
>
> An error occurred in line <8242> of file 
> 
>  in function
> std::map::cell_iterator, typename 
> MeshType::face_iterator> 
> dealii::GridGenerator::extract_boundary_mesh(const MeshType&, 
> MeshType<(dim - 1), spacedim>&, const std::set&) [with MeshType 
> = dealii::parallel::distributed::Triangulation; int dim = 3; int spacedim = 
> 3; typename MeshType::face_iterator = 
> dealii::TriaIterator >; typename MeshType<(dim 
> - 1), spacedim>::cell_iterator = dealii::TriaIterator 3> >]
> The violated condition was:
> (dynamic_cast< const parallel::distributed::Triangulation 
> *>( &volume_mesh.get_triangulation()) == nullptr)
> Additional information:
> You are trying to use functionality in deal.II that is currently not
> implemented. In many cases, this indicates that there simply didn't
> appear much of a need for it, or that the author of the original code
> did not have the time to implement a particular case. If you hit this
> exception, it is therefore worth the time to look into the code to
> find out whether you may be able to implement the missing
> functionality. If you do, please consider providing a patch to the
> deal.II development sources (see the deal.II website on how to
> contribute).
>
> I am asuming that the problem results because of the use of the manifold, 
> which is not embedded with parallelisation.
>
> Best regards,
> Max
>
> --
> 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/13ba53e8-2959-42f7-9c11-f7abe5046fb6n%40googlegroups.com.

-- 
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/CAOYDWbKMvef-qBWj7tt%2BHZJwdGWq%3DaRhaBHTG-iRvW3xm%3DUzeA%40mail.gmail.com.


[deal.II] Parallized BEM (Step-34)

2024-05-06 Thread 'Maximilian Hövener' via deal . II User Group
Dear all,
in the course of my master thesis at the TU Dortmund I came across Deal.II 
while searching for a boundary element method. Is it possible to change the 
BEM explained in Step-34 to use it parallelised?
I have already tried to make some changes using Step-40. This includes 
replacing the sparse matrix to a dense matrix using the PETSc library 
header files. This resulted in the following error message:

An error occurred in line <8242> of file 

 
in function
std::map::cell_iterator, 
typename MeshType::face_iterator> 
dealii::GridGenerator::extract_boundary_mesh(const MeshType&, MeshType<(dim - 1), spacedim>&, const std::set&) 
[with MeshType = dealii::parallel::distributed::Triangulation; int dim = 3; 
int spacedim = 3; typename MeshType::face_iterator = 
dealii::TriaIterator >; typename 
MeshType<(dim - 1), spacedim>::cell_iterator = 
dealii::TriaIterator >]
The violated condition was:
(dynamic_cast< const parallel::distributed::Triangulation *>( &volume_mesh.get_triangulation()) == nullptr)
Additional information:
You are trying to use functionality in deal.II that is currently not
implemented. In many cases, this indicates that there simply didn't
appear much of a need for it, or that the author of the original code
did not have the time to implement a particular case. If you hit this
exception, it is therefore worth the time to look into the code to
find out whether you may be able to implement the missing
functionality. If you do, please consider providing a patch to the
deal.II development sources (see the deal.II website on how to
contribute).

I am asuming that the problem results because of the use of the manifold, 
which is not embedded with parallelisation. 

Best regards,
Max

-- 
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/13ba53e8-2959-42f7-9c11-f7abe5046fb6n%40googlegroups.com.