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
typedefs
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(#5is a reference to this issue, and GitLab will notice and cross-reference the issue and the merge request)