Dear deal.II community

I have attempted to implement a Galerkin BEM method by adapting the 
collocation method in Step-34 
<https://dealii.org/current/doxygen/deal.II/step_34.html>. This first 
implementation is quite crude. I compute the singular integrals over 
identical elements i.e.
        int_T1 psi(x) int_T1 phi(y) G(x,y) dy dx
by wrapping the existing QGaussOneOverR 
<https://dealii.org/current/doxygen/deal.II/classQGaussOneOverR.html> in an 
outer loop over a QGauss 
<https://dealii.org/current/doxygen/deal.II/classQGauss.html> quadrature. 
In all other cases I use a tensor QGauss quadrature. Although slow, the 
method does converges. However, I do not observe higher-order convergence 
when increasing the order of the basis functions. I assume this is due to 
the poor handling of the singular and near singular integrals.

I now want to improve this method focusing on the 3D problem with 
quadrilateral elements. The plan is to use one quadrature for the double 
integral itself through a series of coordinate transforms as proposed in 
[2, Sec 5.2]. Note that this is also the approach taken in BEM++ [1]. This 
method provides four different integration schemes (x_i,y_i,w_i), 
corresponding to the different cases

   - T1 and T2 are identical.
   - T1 and T2 share an edge, i.e. T1(s,0) = T2(s,0).
   - T1 and T2 share a vertex, i.e. T1(0,0) = T2(0,0).
   - T1 and T2 do not overlap.

In each case, the quadrature can be evaluated as
        sum_i w_i tilde(psi)(x_i) tilde(phi)(y_i) tilde(G)(x_i,y_i).

While reading the documentation, I came across FECouplingValues 
<https://dealii.org/current/doxygen/deal.II/classFECouplingValues.html>, 
which seems intended to support this type of element pair integration. 
However, I am struggling to understand how to practically handle the 
different geometric cases (identity, shared edge, shared vertex) and the 
required rotations within this framework.

Concretely, I would appreciate pointers on the following:

   1. Is FECouplingValues the right tool for implementing these four 
   quadrature cases for Galerkin BEM?
   2. If so, is the intended workflow to explicitly construct paired 
   (x_i,sqrt(w_i)) and (y_i,sqrt(w_i)) for each case (and possibly for each 
   rotation), and then instantiate FECouplingValues separately for each 
   configuration? This seems rather heavy, and I am wondering if there is a 
   cleaner approach.
   3. Do you know of any examples or code fragments in deal.II (or user 
   projects) that implement Galerkin BEM?

References:
[1] BEM++ Documentation, http://www.bempp.org/quadrature.html
[2] Sauter and Schwab, Boundary Element Methods, 2011

Best regards,
Jakob

-- 
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 [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/dealii/a96009fc-7f70-4cba-adc6-dfbfe7168593n%40googlegroups.com.

Reply via email to