In file comp/bilinearform.hpp: A bilinear-form.
Documentation
A bilinear-form.
A bilinear-form provides the system matrix.
It knows about its definition in terms of integrators.
In most cases, it is defined on two copies of the same space V,
but it can also live on V x W.
Inheritance:
Public Methods
-
BilinearForm(const FESpace & afespace, const FESpace & afespace2, const string & aname, const Flags & flags)
-
virtual ~BilinearForm()
-
void AddIntegrator(BilinearFormIntegrator* bfi)
-
int NumIntegrators() const
-
BilinearFormIntegrator* GetIntegrator(int i)
-
const BilinearFormIntegrator* GetIntegrator(int i) const
-
void SetLinearForm(LinearForm* alf)
- for static condensation of internal bubbles
-
void Assemble(LocalHeap & lh)
-
void ReAssemble(LocalHeap & lh, bool reallocate = 0)
-
virtual void AssembleLinearization(const BaseVector & lin, LocalHeap & lh, bool reallocate = 0) = 0
-
void ApplyMatrix(const BaseVector & x, BaseVector & y) const
-
virtual void AddMatrix(double val, const BaseVector & x, BaseVector & y) const = 0
-
virtual void ApplyLinearizedMatrixAdd(double val, const BaseVector & lin, const BaseVector & x, BaseVector & y) const = 0
-
virtual void ApplyLinearizedMatrixAdd(Complex val, const BaseVector & lin, const BaseVector & x, BaseVector & y) const = 0
-
const BaseMatrix& GetMatrix() const
-
const BaseMatrix& GetMatrix(int level) const
-
BaseMatrix& GetMatrix()
-
BaseMatrix& GetMatrix(int level)
-
const FESpace& GetFESpace() const
-
int MixedSpaces() const
-
const FESpace& GetFESpace2() const
-
int GetNLevels() const
-
void SetGalerkin(int agalerkin = 1)
-
void SetDiagonal(int adiagonal = 1)
-
void SetSymmetric(int asymmetric = 1)
-
void SetHermitean(int ahermitean = 1)
-
void SetMultiLevel(int amultilevel = 1)
-
void GalerkinProjection()
-
void SetEpsRegularization(double val)
-
void SetUnusedDiag(double val)
-
int UseGalerkin() const
-
virtual string GetClassName() const
-
virtual void PrintReport(ostream & ost)
-
virtual void MemoryUsage(ARRAY<MemoryUsageStruct*> & mu) const
-
void WriteMatrix(ostream & ost) const
-
virtual BaseVector* CreateVector() const = 0
Protected Fields
-
const FESpace& fespace
- Finite element space
-
const FESpace* fespace2
- Test-space if different from trial-space, otherwise 0
-
bool nonassemble
-
int diagonal
-
int multilevel
-
int galerkin
- galerkin projection of coarse grid matrices
-
int hermitean
- complex forms are hermitean
-
int symmetric
- bilinear form is symmetric
-
double eps_regularization
- add epsilon for regularization
-
double unuseddiag
- diagonal value for unused dofs
-
BilinearForm* low_order_bilinear_form
- low order bilinear-form, 0 if not used
-
LinearForm* linearform
- modify linear form due to static condensation
-
ARRAY<BaseMatrix*> mats
- matrices (sparse, application, diagonal, )
-
ARRAY<BilinearFormIntegrator*> parts
-
bool timing
Private Methods
-
virtual void DoAssemble(LocalHeap & lh) = 0
-
virtual void AllocateMatrix() = 0
Public Methods
-
void SetName(const string & aname)
-
const string& GetName() const
-
const MeshAccess& GetMeshAccess() const
const FESpace& fespace
- Finite element space
const FESpace* fespace2
- Test-space if different from trial-space, otherwise 0
bool nonassemble
int diagonal
int multilevel
int galerkin
- galerkin projection of coarse grid matrices
int hermitean
- complex forms are hermitean
int symmetric
- bilinear form is symmetric
double eps_regularization
- add epsilon for regularization
double unuseddiag
- diagonal value for unused dofs
BilinearForm* low_order_bilinear_form
- low order bilinear-form, 0 if not used
LinearForm* linearform
- modify linear form due to static condensation
ARRAY<BaseMatrix*> mats
- matrices (sparse, application, diagonal, )
ARRAY<BilinearFormIntegrator*> parts
bool timing
BilinearForm(const FESpace & afespace, const FESpace & afespace2, const string & aname, const Flags & flags)
virtual ~BilinearForm()
void AddIntegrator(BilinearFormIntegrator* bfi)
int NumIntegrators() const
BilinearFormIntegrator* GetIntegrator(int i)
const BilinearFormIntegrator* GetIntegrator(int i) const
void SetLinearForm(LinearForm* alf)
- for static condensation of internal bubbles
void Assemble(LocalHeap & lh)
void ReAssemble(LocalHeap & lh, bool reallocate = 0)
virtual void AssembleLinearization(const BaseVector & lin, LocalHeap & lh, bool reallocate = 0) = 0
void ApplyMatrix(const BaseVector & x, BaseVector & y) const
virtual void AddMatrix(double val, const BaseVector & x, BaseVector & y) const = 0
virtual void ApplyLinearizedMatrixAdd(double val, const BaseVector & lin, const BaseVector & x, BaseVector & y) const = 0
virtual void ApplyLinearizedMatrixAdd(Complex val, const BaseVector & lin, const BaseVector & x, BaseVector & y) const = 0
const BaseMatrix& GetMatrix() const
const BaseMatrix& GetMatrix(int level) const
BaseMatrix& GetMatrix()
BaseMatrix& GetMatrix(int level)
const FESpace& GetFESpace() const
int MixedSpaces() const
const FESpace& GetFESpace2() const
int GetNLevels() const
void SetGalerkin(int agalerkin = 1)
void SetDiagonal(int adiagonal = 1)
void SetSymmetric(int asymmetric = 1)
void SetHermitean(int ahermitean = 1)
void SetMultiLevel(int amultilevel = 1)
void GalerkinProjection()
void SetEpsRegularization(double val)
void SetUnusedDiag(double val)
int UseGalerkin() const
virtual string GetClassName() const
virtual void PrintReport(ostream & ost)
virtual void MemoryUsage(ARRAY<MemoryUsageStruct*> & mu) const
void WriteMatrix(ostream & ost) const
virtual BaseVector* CreateVector() const = 0
virtual void DoAssemble(LocalHeap & lh) = 0
virtual void AllocateMatrix() = 0
- This class has no child classes.
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.