Dune-Fufem 2.11-git
Loading...
Searching...
No Matches
Form language (integration and assembly)

Description

Definition of (bi)-linear form assemblers by integration.

Collaboration diagram for Form language (integration and assembly):

Classes

class  Dune::Fufem::Forms::IntegratedBilinearForm< BilinearOperator, Domain >
 Local assembler corresponding to a bulk bilinear form. More...
 
class  Dune::Fufem::Forms::IntegratedBoundaryBilinearForm< BilinearOperator, Domain >
 Local assembler corresponding to a boundary bilinear form. More...
 
class  Dune::Fufem::Forms::IntegratedBoundaryLinearForm< LinearOperator, Domain >
 Local assembler corresponding to a boundary linear form. More...
 
class  Dune::Fufem::Forms::IntegratedLinearForm< LinearOperator, Domain >
 Local assembler corresponding to a bulk linear form. More...
 
class  Dune::Fufem::Forms::IntegratedSkeletonBilinearForm< BilinearOperator, Patch >
 Local assembler corresponding to a skeleton bilinear form. More...
 
class  Dune::Fufem::Forms::IntegratedSkeletonLinearForm< LinearOperator, Patch >
 Local assembler corresponding to a skeleton linear form. More...
 
class  Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >
 Sum of local assemblers obtained using Dune::Fufem::Forms::integrate(...) More...
 

Functions

template<class MultilinearOperator , class Domain >
requires isOperatorOrSumOperator_v<MultilinearOperator> && IsDomain<Domain>
::value auto Dune::Fufem::Forms::integrate (MultilinearOperator op, const Domain &domain)
 Integrate a k-linear operator to obtain a k-linear form.
 
template<class MultilinearOperator , std::enable_if_t< isOperatorOrSumOperator_v< MultilinearOperator >, int > = 0>
auto Dune::Fufem::Forms::integrate (MultilinearOperator op)
 Integrate a k-linear operator to obtain a k-linear form.
 

Variables

constexpr Bulk Dune::Fufem::Forms::bulk = {}
 Object representing the full grid view as integration domain.
 
constexpr Boundary Dune::Fufem::Forms::boundary = {}
 Object representing the full grid view boundary as integration domain.
 
constexpr Skeleton Dune::Fufem::Forms::skeleton = {}
 Object representing the full grid view skeleton as integration domain.
 

Function Documentation

◆ integrate() [1/2]

auto Dune::Fufem::Forms::integrate ( MultilinearOperator  op)

Integrate a k-linear operator to obtain a k-linear form.

Parameters
opThe operator to integrate (should be a MultilinearOperator or SumOperator)

When passing a k-linear operator, the returned object is a local assembler for assembling the corresponding k-linear form.

This assembler created by this overload will compute bulk integrals over all elements of the underlying GridView.

Local assemblers of the same arity can be chained using operator+.

◆ integrate() [2/2]

template<class MultilinearOperator , class Domain >
requires isOperatorOrSumOperator_v<MultilinearOperator> && IsDomain<Domain>
::value auto Dune::Fufem::Forms::integrate ( MultilinearOperator  op,
const Domain &  domain 
)

Integrate a k-linear operator to obtain a k-linear form.

Parameters
opThe operator to integrate (should be a MultilinearOperator or SumOperator)
domainThe integration domain

When passing a k-linear operator, the returned object is a local assembler for assembling the corresponding k-linear form. The domain object must satisfy IsBulkDomain, IsBoundaryDomain, or IsSkeletonDomain and the integration is done on the respective section of the grid. In particular one can use bulk, boundary, and skeleton to integrate over the whole bulk, boundary or skeleton, or a BoundaryPatch to integrate over a subset of the boundary. With dune-functions >= 2.11 one can also use a Dune::Functions::Experimental::SubDomain as bulk integration domain.

Local assemblers of the same arity can be chained using operator+.

Variable Documentation

◆ boundary

constexpr Boundary Dune::Fufem::Forms::boundary = {}
inlineconstexpr

Object representing the full grid view boundary as integration domain.

◆ bulk

constexpr Bulk Dune::Fufem::Forms::bulk = {}
inlineconstexpr

Object representing the full grid view as integration domain.

◆ skeleton

constexpr Skeleton Dune::Fufem::Forms::skeleton = {}
inlineconstexpr

Object representing the full grid view skeleton as integration domain.