In file bilinearform.hpp:

class BilinearForm

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

[more] BilinearForm(const FESpace & afespace, const FESpace & afespace2, const string & aname, const Flags & flags)
[more]virtual ~BilinearForm()
[more]void AddIntegrator(BilinearFormIntegrator* bfi, const bool deletable = true)
[more]void AddIndependentIntegrator(BilinearFormIntegrator* bfi, const int master_surface, const int slave, const bool deletable = true)
[more]int NumIntegrators() const
[more]BilinearFormIntegrator* GetIntegrator(const int i)
[more]const BilinearFormIntegrator* GetIntegrator(const int i) const
[more]BilinearFormIntegrator* GetIndependentIntegrator(const int i)
[more]const BilinearFormIntegrator* GetIndependentIntegrator(const int i) const
[more]void SetLinearForm(LinearForm* alf)
for static condensation of internal bubbles
[more]void Assemble(LocalHeap & lh)
[more]void ReAssemble(LocalHeap & lh, bool reallocate = 0)
[more]virtual void AssembleLinearization(const BaseVector & lin, LocalHeap & lh, bool reallocate = 0) = 0
[more]void ApplyMatrix(const BaseVector & x, BaseVector & y) const
[more]virtual void AddMatrix(double val, const BaseVector & x, BaseVector & y) const = 0
[more]virtual void ApplyLinearizedMatrixAdd(double val, const BaseVector & lin, const BaseVector & x, BaseVector & y) const = 0
[more]virtual void ApplyLinearizedMatrixAdd(Complex val, const BaseVector & lin, const BaseVector & x, BaseVector & y) const = 0
[more]const BaseMatrix& GetMatrix() const
[more]const BaseMatrix& GetMatrix(int level) const
[more]BaseMatrix& GetMatrix()
[more]BaseMatrix& GetMatrix(int level)
[more]const FESpace& GetFESpace() const
[more]int MixedSpaces() const
[more]const FESpace& GetFESpace2() const
[more]int GetNLevels() const
[more]void SetGalerkin(int agalerkin = 1)
[more]void SetDiagonal(int adiagonal = 1)
[more]void SetSymmetric(int asymmetric = 1)
[more]void SetHermitean(int ahermitean = 1)
[more]void SetMultiLevel(int amultilevel = 1)
[more]void GalerkinProjection()
[more]void SetEpsRegularization(double val)
[more]void SetUnusedDiag(double val)
[more]int UseGalerkin() const
[more]virtual string GetClassName() const
[more]virtual void PrintReport(ostream & ost)
[more]virtual void MemoryUsage(ARRAY<MemoryUsageStruct*> & mu) const
[more]void WriteMatrix(ostream & ost) const
[more]virtual BaseVector* CreateVector() const = 0
[more]virtual void CleanUpLevel()
frees matrix

Protected Fields

[more]const FESpace& fespace
Finite element space
[more]const FESpace* fespace2
Test-space if different from trial-space, otherwise 0
[more]bool nonassemble
[more]int diagonal
[more]int multilevel
[more]int galerkin
galerkin projection of coarse grid matrices
[more]int hermitean
complex forms are hermitean
[more]int symmetric
bilinear form is symmetric
[more]double eps_regularization
add epsilon for regularization
[more]double unuseddiag
diagonal value for unused dofs
[more]BilinearForm* low_order_bilinear_form
low order bilinear-form, 0 if not used
[more]LinearForm* linearform
modify linear form due to static condensation
[more]ARRAY<BaseMatrix*> mats
matrices (sparse, application, diagonal, )
[more]ARRAY<BilinearFormIntegrator*> parts
bilinearform-integrators
[more]ARRAY<bool> parts_deletable
is biform responsible for the deallocation ?
[more]ARRAY<BilinearFormIntegrator*> independent_parts
[more]ARRAY<bool> independent_parts_deletable
is biform responsible for the deallocation ?
[more]ARRAY< Vec<2,int> > independent_meshindex
[more]bool timing

Private Methods

[more]virtual void DoAssemble(LocalHeap & lh) = 0
[more]virtual void AllocateMatrix() = 0

oconst FESpace& fespace
Finite element space

oconst FESpace* fespace2
Test-space if different from trial-space, otherwise 0

obool nonassemble

oint diagonal

oint multilevel

oint galerkin
galerkin projection of coarse grid matrices

oint hermitean
complex forms are hermitean

oint symmetric
bilinear form is symmetric

odouble eps_regularization
add epsilon for regularization

odouble unuseddiag
diagonal value for unused dofs

oBilinearForm* low_order_bilinear_form
low order bilinear-form, 0 if not used

oLinearForm* linearform
modify linear form due to static condensation

oARRAY<BaseMatrix*> mats
matrices (sparse, application, diagonal, )

oARRAY<BilinearFormIntegrator*> parts
bilinearform-integrators

oARRAY<bool> parts_deletable
is biform responsible for the deallocation ?

oARRAY<BilinearFormIntegrator*> independent_parts

oARRAY<bool> independent_parts_deletable
is biform responsible for the deallocation ?

oARRAY< Vec<2,int> > independent_meshindex

obool timing

o BilinearForm(const FESpace & afespace, const FESpace & afespace2, const string & aname, const Flags & flags)

ovirtual ~BilinearForm()

ovoid AddIntegrator(BilinearFormIntegrator* bfi, const bool deletable = true)

ovoid AddIndependentIntegrator(BilinearFormIntegrator* bfi, const int master_surface, const int slave, const bool deletable = true)

oint NumIntegrators() const

oBilinearFormIntegrator* GetIntegrator(const int i)

oconst BilinearFormIntegrator* GetIntegrator(const int i) const

oBilinearFormIntegrator* GetIndependentIntegrator(const int i)

oconst BilinearFormIntegrator* GetIndependentIntegrator(const int i) const

ovoid SetLinearForm(LinearForm* alf)
for static condensation of internal bubbles

ovoid Assemble(LocalHeap & lh)

ovoid ReAssemble(LocalHeap & lh, bool reallocate = 0)

ovirtual void AssembleLinearization(const BaseVector & lin, LocalHeap & lh, bool reallocate = 0) = 0

ovoid ApplyMatrix(const BaseVector & x, BaseVector & y) const

ovirtual void AddMatrix(double val, const BaseVector & x, BaseVector & y) const = 0

ovirtual void ApplyLinearizedMatrixAdd(double val, const BaseVector & lin, const BaseVector & x, BaseVector & y) const = 0

ovirtual void ApplyLinearizedMatrixAdd(Complex val, const BaseVector & lin, const BaseVector & x, BaseVector & y) const = 0

oconst BaseMatrix& GetMatrix() const

oconst BaseMatrix& GetMatrix(int level) const

oBaseMatrix& GetMatrix()

oBaseMatrix& GetMatrix(int level)

oconst FESpace& GetFESpace() const

oint MixedSpaces() const

oconst FESpace& GetFESpace2() const

oint GetNLevels() const

ovoid SetGalerkin(int agalerkin = 1)

ovoid SetDiagonal(int adiagonal = 1)

ovoid SetSymmetric(int asymmetric = 1)

ovoid SetHermitean(int ahermitean = 1)

ovoid SetMultiLevel(int amultilevel = 1)

ovoid GalerkinProjection()

ovoid SetEpsRegularization(double val)

ovoid SetUnusedDiag(double val)

oint UseGalerkin() const

ovirtual string GetClassName() const

ovirtual void PrintReport(ostream & ost)

ovirtual void MemoryUsage(ARRAY<MemoryUsageStruct*> & mu) const

ovoid WriteMatrix(ostream & ost) const

ovirtual BaseVector* CreateVector() const = 0

ovirtual void CleanUpLevel()
frees matrix

ovirtual void DoAssemble(LocalHeap & lh) = 0

ovirtual 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++.