Clean up LocalOperators
Note: If you start to work on an operator, please post a comment in this issue to let everybody know
The LocalOperators need a major cleanup:
-
Use range-based for loops for quadrature loops
-
More sensible handling of
inside()
andoutside()
for intersections:- These methods now return an entity, not an EntityPointer, so the returned objects should be used like an entity (no more dereferencing or access to members with
->
) - Recreating the entity over and over again inside the quadrature loop is not very efficient, so do the following:
- These methods now return an entity, not an EntityPointer, so the returned objects should be used like an entity (no more dereferencing or access to members with
// store grid cells once
auto inside_cell = ig.inside();
auto outside_cell = ig.outside();
// range-based for in the quadrature loop
for (const auto ip : quadrature_rule)
{
auto x_inside = ig.geometryInInside(ip.position());
auto b = velocity.evaluate(inside_cell,x_inside);
outside_cell.geometry();
}
- Silence all those compiler warnings due to unused local
typedef
s
How to work on this
- Branch from
master
, name your branch something likefeature/clean-up-elasticity
- Push your branch to the GitLab repository
- Open a merge request from your branch to
master
- Optimally, reference this issue in the merge request text by writing something like
This merge request is related to #5
(#5
is a reference to this issue, and GitLab will notice and cross-reference the issue and the merge request)