0mar / dealiiscale

Finite element simulation of a two-scale problem implemented in deal.II
1 stars 1 forks source link

Find out where to place the microgrids on the macrogrid #8

Closed 0mar closed 4 years ago

0mar commented 5 years ago

Currently, we place a microgrid on every cell on the macrogrid. This has upsides and downsides.

The main downside is that we are not able to associate cell integration on the macrogrid with the microgrid values. Normally, if we want to evaluate a (macro) function, we evaluate it over quadrature point in a cell. If this function is well defined for every degree of freedom, we can interpolate the values at the quadrature points. However, deal.II does not have these tools available for functions which are not finite element functions or continuous functions, making our approximation a bit hacky.

So why not build a microgrid for every degree of freedom then?

It seems a bit difficult to do so, because deal.II is very agnostic about where degrees of freedom are located on the grid. This is abstracted away from the implementations. and if it is not possible to find out where a degree of freedom (read: the support of a basis function) is located on the grid, it is tough to evaluate any other continuous or finite element functions in this point, leading to more hacky approximations.

Although I am leaning towards changing towards the second approach, I am not quite sure how to do it yet

0mar commented 5 years ago

As long as the implementation sticks to Q1/Q-higher-order basis functions, we can get the support points of the basis functions with the function below. https://dealii.org/developer/doxygen/deal.II/namespaceDoFTools.html#a4b90c3b003bd739b12c6f6edfa4588ca

0mar commented 4 years ago

Closed with 3786faa, but still needs multi-example convergence testing