Merge pull request #804 from atgeirr/small-improvements

Avoid copying data for minor speed improvement
This commit is contained in:
Markus Blatt 2023-05-10 15:00:28 +02:00 committed by GitHub
commit 0b4a8661fd
3 changed files with 8 additions and 16 deletions

View File

@ -347,7 +347,7 @@ public:
* \param timeIdx The index of the solution vector used by the
* time discretization.
*/
const GlobalPosition& pos(unsigned dofIdx, unsigned) const
decltype(auto) pos(unsigned dofIdx, unsigned) const
{ return stencil_.subControlVolume(dofIdx).globalPos(); }
/*!

View File

@ -101,29 +101,25 @@ public:
{ element_ = element; }
void update()
{
const auto& geometry = element_.geometry();
centerPos_ = geometry.center();
volume_ = geometry.volume();
}
{ }
/*!
* \brief The global position associated with the sub-control volume
*/
const GlobalPosition& globalPos() const
{ return centerPos_; }
decltype(auto) globalPos() const
{ return element_.geometry().center(); }
/*!
* \brief The center of the sub-control volume
*/
const GlobalPosition& center() const
{ return centerPos_; }
decltype(auto) center() const
{ return element_.geometry().center(); }
/*!
* \brief The volume [m^3] occupied by the sub-control volume
*/
Scalar volume() const
{ return volume_; }
{ return element_.geometry().volume(); }
/*!
* \brief The geometry of the sub-control volume.
@ -138,8 +134,6 @@ public:
{ return element_.geometryInFather(); }
private:
GlobalPosition centerPos_;
Scalar volume_;
Element element_;
};

View File

@ -45,8 +45,7 @@ class ThreadedEntityIterator
using EntityIterator = typename GridView::template Codim<codim>::Iterator;
public:
ThreadedEntityIterator(const GridView& gridView)
: gridView_(gridView)
, sequentialIt_(gridView_.template begin<codim>())
: sequentialIt_(gridView.template begin<codim>())
, sequentialEnd_(gridView.template end<codim>())
{ }
@ -90,7 +89,6 @@ public:
}
private:
GridView gridView_;
EntityIterator sequentialIt_;
EntityIterator sequentialEnd_;