NGSolve
4.9
|
We specify the scalar (double or Complex) of the biform. More...
#include <bilinearform.hpp>
Public Member Functions | |
S_BilinearForm (const FESpace &afespace, const string &aname, const Flags &flags) | |
S_BilinearForm (const FESpace &afespace, const FESpace &afespace2, const string &aname, const Flags &flags) | |
void | AddMatrix1 (SCAL val, const BaseVector &x, BaseVector &y) const |
virtual void | AddMatrix (double val, const BaseVector &x, BaseVector &y) const |
y += val * Mat * x | |
virtual void | AddMatrix (Complex val, const BaseVector &x, BaseVector &y) const |
y += val * Mat * x | |
virtual void | LapackEigenSystem (FlatMatrix< SCAL > &elmat, LocalHeap &lh) const |
void | ApplyLinearizedMatrixAdd1 (SCAL val, const BaseVector &lin, const BaseVector &x, BaseVector &y) const |
virtual void | ApplyLinearizedMatrixAdd (double val, const BaseVector &lin, const BaseVector &x, BaseVector &y) const |
y += val * lin.mat * x | |
virtual void | ApplyLinearizedMatrixAdd (Complex val, const BaseVector &lin, const BaseVector &x, BaseVector &y) const |
y += val * lin.mat * x | |
virtual double | Energy (const BaseVector &x) const |
evaulates internal energy (usually 1/2 x^T A x) | |
virtual void | ComputeInternal (BaseVector &u, const BaseVector &f, LocalHeap &lh) const |
reconstruct internal dofs | |
virtual void | DoAssemble (LocalHeap &lh) |
assemble matrix | |
virtual void | AssembleLinearization (const BaseVector &lin, LocalHeap &lh, bool reallocate=0) |
assembles matrix at linearization point given by lin needed for Newton's method | |
virtual void | AddElementMatrix (const Array< int > &dnums1, const Array< int > &dnums2, const FlatMatrix< SCAL > &elmat, bool inner_element, int elnr, LocalHeap &lh)=0 |
virtual void | ApplyElementMatrix (const BaseVector &x, BaseVector &y, const SCAL &val, const Array< int > &dnums, const ElementTransformation &eltrans, const int elnum, const int type, int &cnt, LocalHeap &lh, const FiniteElement *fel, const SpecialElement *sel=NULL) const |
virtual void | AddDiagElementMatrix (const Array< int > &dnums1, const FlatVector< SCAL > &diag, bool inner_element, int elnr, LocalHeap &lh) |
BaseMatrix & | GetHarmonicExtension () const |
reconstruct internal dofs from static condensation | |
BaseMatrix & | GetHarmonicExtensionTrans () const |
modify rhs doue to static condensation. | |
BaseMatrix & | GetInnerSolve () const |
returns inverse of A_ii | |
BaseMatrix & | GetInnerMatrix () const |
returns A_ii | |
Protected Attributes | |
ElementByElementMatrix< SCAL > * | harmonicext |
BaseMatrix * | harmonicexttrans |
ElementByElementMatrix< SCAL > * | innersolve |
ElementByElementMatrix< SCAL > * | innermatrix |
We specify the scalar (double or Complex) of the biform.
BaseMatrix& ngcomp::S_BilinearForm< SCAL >::GetHarmonicExtension | ( | ) | const [inline, virtual] |
BaseMatrix& ngcomp::S_BilinearForm< SCAL >::GetHarmonicExtensionTrans | ( | ) | const [inline, virtual] |
modify rhs doue to static condensation.
-A_bi A_ii^{-1} stored only for non-symmetric biforms
Implements ngcomp::BilinearForm.