Commit 99499925 authored by Praetorius, Simon's avatar Praetorius, Simon
Browse files

Improve documentation of (Bi)LinearForm

parent 460a9b12
......@@ -45,7 +45,9 @@ namespace AMDiS
using ElementMatrix = FlatMatrix<CoefficientType>;
public:
/// Constructor. Wraps the reference into a non-destroying shared_ptr or moves the basis into a new shared_ptr.
/// Constructor. Wraps the reference into a non-destroying shared_ptr or moves
/// the basis into a new shared_ptr. The additional arguments can be the communication
/// object. If not provided, a new communication is created.
template <class RB_, class CB_, class... Args>
BiLinearForm(RB_&& rowBasis, CB_&& colBasis, Args&&... args)
: Super(FWD(rowBasis), FWD(colBasis), FWD(args)...)
......@@ -72,30 +74,31 @@ namespace AMDiS
* functions the operator is applied to.
*
* \tparam ContextTag One of \ref tag::element_operator, \ref tag::intersection_operator
* or \ref tag::boundary_operator indicating where to assemble this operator.
* or \ref tag::boundary_operator indicating where to assemble
* this operator.
* \tparam Expr An pre-operator that can be bound to a gridView, or a valid
* GridOperator.
* \tparam row A tree-path for the RowBasis
* \tparam col A tree-path for the ColBasis
* GridOperator.
* \tparam row A tree-path for the RowBasis
* \tparam col A tree-path for the ColBasis
*
* [[expects: row is valid tree-path in RowBasis]]
* [[expects: col is valid tree-path in ColBasis]]
* @{
**/
template <class ContextTag, class Expr, class RowTreePath, class ColTreePath>
void addOperator(ContextTag contextTag, Expr const& expr, RowTreePath row, ColTreePath col);
template <class ContextTag, class Expr, class Row, class Col>
void addOperator(ContextTag contextTag, Expr const& expr, Row row, Col col);
// Add an operator to be assembled on the elements of the grid
template <class Expr, class RowTreePath = RootTreePath, class ColTreePath = RootTreePath>
void addOperator(Expr const& expr, RowTreePath row = {}, ColTreePath col = {})
template <class Expr, class Row = RootTreePath, class Col = RootTreePath>
void addOperator(Expr const& expr, Row row = {}, Col col = {})
{
using E = typename RowLocalView::Element;
addOperator(tag::element_operator<E>{}, expr, row, col);
}
// Add an operator to be assembled on the intersections of the grid
template <class Expr, class RowTreePath = RootTreePath, class ColTreePath = RootTreePath>
void addIntersectionOperator(Expr const& expr, RowTreePath row = {}, ColTreePath col = {})
template <class Expr, class Row = RootTreePath, class Col = RootTreePath>
void addIntersectionOperator(Expr const& expr, Row row = {}, Col col = {})
{
using I = typename RowLocalView::GridView::Intersection;
addOperator(tag::intersection_operator<I>{}, expr, row, col);
......
......@@ -42,6 +42,8 @@ namespace AMDiS
public:
/// Constructor. Stores the shared_ptr of the basis and creates a new DataTransfer.
/// The additional arguments can be the communication object. If not provided,
/// a new communication is created.
template <class GB_, class... Args,
Dune::disableCopyMove<Self, GB_, Args...> = 0>
explicit LinearForm(GB_&& basis, Args&&... args)
......@@ -65,14 +67,15 @@ namespace AMDiS
* Stores an operator in a list that gets assembled during a call to \ref assemble().
* The operator may be assigned to a specific context, i.e. either an element
* operator, an intersection operator, or a boundary operator.
* The \p row and \p col tree paths specify the sub-basis for test and trial
* functions the operator is applied to.
* The \p path tree paths specify the sub-basis for test functions the operator
* is applied to.
*
* \tparam ContextTag One of \ref tag::element_operator, \ref tag::intersection_operator
* or \ref tag::boundary_operator indicating where to assemble this operator.
* or \ref tag::boundary_operator indicating where to assemble
* this operator.
* \tparam Expr An pre-operator that can be bound to a gridView, or a valid
* GridOperator.
* \tparam path A tree-path for the Basis
* GridOperator.
* \tparam path A tree-path for the Basis
*
* [[expects: path is valid tree-path in Basis]]
* @{
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment