Skip to content
Snippets Groups Projects
Commit 99499925 authored by Praetorius, Simon's avatar Praetorius, Simon
Browse files

Improve documentation of (Bi)LinearForm

parent 460a9b12
No related branches found
No related tags found
1 merge request!113Cleanup the constructors of MatrixBase, VectorBase, BiLinearForm, and LinearForm
......@@ -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]]
* @{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment