diff --git a/src/rodassembler.hh b/src/rodassembler.hh index 9d1678f232d28bb814870e3d0bc1b428ba2de68f..785e2bf2cd565f2096992f87cf2c483947c3811c 100644 --- a/src/rodassembler.hh +++ b/src/rodassembler.hh @@ -5,6 +5,8 @@ #include <dune/common/fmatrix.hh> #include <dune/istl/matrixindexset.hh> #include <dune/istl/matrix.hh> + +#include "../../common/boundarypatch.hh" #include "configuration.hh" namespace Dune @@ -124,8 +126,17 @@ namespace Dune double pos) const; - /** \brief Return resultant force in canonical coordinates */ - FieldVector<double,3> getResultantForce(const std::vector<Configuration>& sol) const; + /** \brief Return resultant force across boundary in canonical coordinates + + \note Linear run-time in the size of the grid */ + FieldVector<double,3> getResultantForce(const BoundaryPatch<GridType>& boundary, + const std::vector<Configuration>& sol) const; + + /** \brief Return resultant torque across boundary in canonical coordinates + + \note Linear run-time in the size of the grid */ + FieldVector<double,3> getResultantTorque(const BoundaryPatch<GridType>& boundary, + const std::vector<Configuration>& sol) const; protected: