In file comp/fespace.hpp: Base class for finite element space.
Documentation
Base class for finite element space.
Provides finite elements, global degrees of freedom,
and transformations of element-matrices and element-vectors
Inheritance:
Public Methods
-
FESpace(const MeshAccess & ama, int aorder, int adim, bool acomplex)
-
virtual ~FESpace()
-
virtual void Update()
-
virtual void Update(LocalHeap & lh)
-
virtual void PrintReport(ostream & ost)
-
int GetOrder() const
-
int GetDimension() const
-
bool IsComplex() const
-
void SetBEM(bool abem)
-
virtual const char* GetType()
- will be replaced by getclassname !
-
virtual int GetNDof() const = 0
-
virtual int GetNDofLevel(int level) const
-
virtual const FiniteElement& GetFE(int elnr, LocalHeap & lh) const
-
virtual void GetDofNrs(int elnr, ARRAY<int> & dnums) const = 0
-
virtual void GetExternalDofNrs(int elnr, ARRAY<int> & dnums) const
-
virtual const FiniteElement& GetSFE(int selnr, LocalHeap & lh) const
-
virtual void GetSDofNrs(int selnr, ARRAY<int> & dnums) const = 0
-
virtual void GetBEMDofNrs(ARRAY<int> & dnums) const
-
bool DefinedOn(int elnr) const
-
bool DefinedOnBoundary(int belnr) const
-
void SetDefinedOn(const BitArray & defon)
-
void SetDefinedOnBoundary(const BitArray & defon)
-
void SetDirichletBoundaries(const BitArray & dirbnds)
-
const FiniteElement& GetFE(ELEMENT_TYPE type) const
-
FESpace& LowOrderFESpace()
-
const FESpace& LowOrderFESpace() const
-
virtual void LockSomeDofs(BaseMatrix & mat) const
-
virtual Table<int> * CreateSmoothingBlocks(int type = 0) const
-
virtual BitArray* CreateIntermediatePlanes(int type = 0) const
- for anisotropic plane smoothing
-
virtual const ngmg::Prolongation* GetProlongation() const
-
void SetProlongation(ngmg::Prolongation* aprol)
-
MatrixGraph* GetGraph(int level, bool symmetric)
Protected Fields
-
int order
- order of finite elements
-
int dimension
- how many components
-
bool iscomplex
- complex space
-
bool eliminate_internal
-
ngmg::Prolongation* prol
- prolongation from coarser level to finer level
-
ARRAY<MatrixGraph*> graphs
- stores matrix graph.
-
ARRAY<int> definedon
- on which subdomains is the space defined ?
-
ARRAY<int> definedonbound
- on which boundaries is the space defined ?
-
ARRAY<int> BEMboundary
-
FiniteElement* tet
-
FiniteElement* prism
-
FiniteElement* pyramid
-
FiniteElement* hex
-
FiniteElement* trig
-
FiniteElement* quad
-
FiniteElement* segm
-
BilinearFormIntegrator* evaluator
-
BilinearFormIntegrator* boundary_evaluator
-
FESpace* low_order_space
- if non-zero, pointer to low order space
-
ARRAY<bool> directsolverclustered
- if directsolverclustered[i] is true, then the unknowns of domain i are clustered
Public Methods
-
void SetName(const string & aname)
-
const string& GetName() const
-
const MeshAccess& GetMeshAccess() const
int order
- order of finite elements
int dimension
- how many components
bool iscomplex
- complex space
bool eliminate_internal
ngmg::Prolongation* prol
- prolongation from coarser level to finer level
ARRAY<MatrixGraph*> graphs
- stores matrix graph. attention: either sym or non-sym ... obsolete !!!
ARRAY<int> definedon
- on which subdomains is the space defined ?
ARRAY<int> definedonbound
- on which boundaries is the space defined ?
ARRAY<int> BEMboundary
FiniteElement* tet
FiniteElement* prism
FiniteElement* pyramid
FiniteElement* hex
FiniteElement* trig
FiniteElement* quad
FiniteElement* segm
BilinearFormIntegrator* evaluator
BilinearFormIntegrator* boundary_evaluator
FESpace* low_order_space
- if non-zero, pointer to low order space
ARRAY<bool> directsolverclustered
- if directsolverclustered[i] is true, then the unknowns of domain i are clustered
FESpace(const MeshAccess & ama, int aorder, int adim, bool acomplex)
virtual ~FESpace()
virtual void Update()
virtual void Update(LocalHeap & lh)
virtual void PrintReport(ostream & ost)
int GetOrder() const
int GetDimension() const
bool IsComplex() const
void SetBEM(bool abem)
virtual const char* GetType()
- will be replaced by getclassname !
virtual int GetNDof() const = 0
virtual int GetNDofLevel(int level) const
virtual const FiniteElement& GetFE(int elnr, LocalHeap & lh) const
virtual void GetDofNrs(int elnr, ARRAY<int> & dnums) const = 0
virtual void GetExternalDofNrs(int elnr, ARRAY<int> & dnums) const
virtual const FiniteElement& GetSFE(int selnr, LocalHeap & lh) const
virtual void GetSDofNrs(int selnr, ARRAY<int> & dnums) const = 0
virtual void GetBEMDofNrs(ARRAY<int> & dnums) const
bool DefinedOn(int elnr) const
bool DefinedOnBoundary(int belnr) const
void SetDefinedOn(const BitArray & defon)
void SetDefinedOnBoundary(const BitArray & defon)
void SetDirichletBoundaries(const BitArray & dirbnds)
const FiniteElement& GetFE(ELEMENT_TYPE type) const
FESpace& LowOrderFESpace()
const FESpace& LowOrderFESpace() const
virtual void LockSomeDofs(BaseMatrix & mat) const
virtual Table<int> * CreateSmoothingBlocks(int type = 0) const
virtual BitArray* CreateIntermediatePlanes(int type = 0) const
- for anisotropic plane smoothing
virtual const ngmg::Prolongation* GetProlongation() const
void SetProlongation(ngmg::Prolongation* aprol)
MatrixGraph* GetGraph(int level, bool symmetric)
- Direct child classes:
- SurfaceElementFESpace
RaviartThomasFESpace
NonconformingFESpace
NonConformingFESpace
NodalFESpaceP
NodalFESpaceAlt
NodalFESpace
NedelecFESpace2
NedelecFESpace
L2HighOrderFESpace
HDivSymFESpace
HDivHighOrderFESpace
HCurlHighOrderFESpace
H1HighOrderFESpace
ElementFESpace
CompoundFESpace
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.