Hi,
This type of integral can be computed with the tools presented in the Step-85 tutorial:
https://www.dealii.org/developer/doxygen/deal.II/step_85.html
which you can use if you install the master branch of deal.II (or wait for the soon-released 9.4 version).
In particular, take a look at the assemble_system() function in Step-85 and the NonMatching::FEValues class:
https://www.dealii.org/developer/doxygen/deal.II/classNonMatching_1_1FEValues.html
Best,
Simon
On 13/06/2022 15:17, Oleg Kmechak wrote:
> Hello there,
>
> Facing such a problem.
> Want to evaluate integral over circle (see picture below). Integral has such a form:
> I = Integral[ solution_value(x, y) * my_func(x, y) * dx dy, over circle].
>
> Currently I am using the simplest way to evaluate such integral - rectangular approximation. And most time cost part - is using Functions::FEFieldFunction<dim> to get solution_value(x, y). Solving FEM is faster than evaluation of such integrals.
>
> Also, my_func(x, y) has hidden parameter 'order'. Basically, I am using integral to expand field around tip (in the center of circle) into series. And also with higher order, accuracy of series parameter (result of integration) is poorer.
>
> So maybe once again. How to evaluate fast and accurately integral over such circle (not whole domain)?
>
> Also, maybe I can introduce a function which is equal to 1 inside of circle and 0 - outside. And then integrate over whole domain.
> Also, maybe I can adopt The deal.II Library: Integrators (
dealii.org) <
https://www.dealii.org/current/doxygen/deal.II/group__Integrators.html> to fit my function but not sure how I can do it.
>
> Best regards,
> Oleg Kmechak
>
> Inkedinit_river_with_boundary_cond_LI.jpg
>
> --
> The deal.II project is located at
http://www.dealii.org/ <
http://www.dealii.org/>
> For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en <
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+un...@googlegroups.com <mailto:
dealii+un...@googlegroups.com>.
> To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/e02ebf7a-c4f2-4202-8cd2-057900260914n%40googlegroups.com <
https://groups.google.com/d/msgid/dealii/e02ebf7a-c4f2-4202-8cd2-057900260914n%40googlegroups.com?utm_medium=email&utm_source=footer>.