MFEM v2.0
Public Member Functions
DiscreteLinearOperator Class Reference

#include <bilinearform.hpp>

Inheritance diagram for DiscreteLinearOperator:
Inheritance graph
[legend]
Collaboration diagram for DiscreteLinearOperator:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 DiscreteLinearOperator (FiniteElementSpace *domain_fes, FiniteElementSpace *range_fes)
void AddDomainInterpolator (DiscreteInterpolator *di)
virtual void Assemble (int skip_zeros=1)

Detailed Description

Class for constructing the matrix representation of a linear operator, v = L u, from one FiniteElementSpace (domain) to another FiniteElementSpace (range). The constructed matrix A is such that

V = A U

where U and V are the vectors of degrees of freedom representing the functions u and v, respectively. The dimensions of A are

number of rows of A = dimension of the range space and number of cols of A = dimension of the domain space.

This class is very similar to MixedBilinearForm. One difference is that the linear operator L is defined using a special kind of BilinearFormIntegrator (we reuse its functionality instead of defining a new class). The other difference with the MixedBilinearForm class is that the "assembly" process overwrites the global matrix entries using the local element matrices instead of adding them.

Note that if we define the bilinear form b(u,v) := (Lu,v) using an inner product in the range space, then its matrix representation, B, is

B = M A, (since V^t B U = b(u,v) = (Lu,v) = V^t M A U)

where M denotes the mass matrix for the inner product in the range space: V1^t M V2 = (v1,v2). Similarly, if c(u,w) := (Lu,Lw) then

C = A^t M A.

Definition at line 276 of file bilinearform.hpp.


Constructor & Destructor Documentation

DiscreteLinearOperator::DiscreteLinearOperator ( FiniteElementSpace domain_fes,
FiniteElementSpace range_fes 
) [inline]

Definition at line 279 of file bilinearform.hpp.


Member Function Documentation

void DiscreteLinearOperator::AddDomainInterpolator ( DiscreteInterpolator di) [inline]

Definition at line 283 of file bilinearform.hpp.

References MixedBilinearForm::AddDomainIntegrator().

void DiscreteLinearOperator::Assemble ( int  skip_zeros = 1) [virtual]

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines