In file comp/fespace.hpp:

class FESpace

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

[more] FESpace(const MeshAccess & ama, int aorder, int adim, bool acomplex)
[more]virtual ~FESpace()
[more]virtual void Update()
[more]virtual void Update(LocalHeap & lh)
[more]virtual void PrintReport(ostream & ost)
[more]int GetOrder() const
[more]int GetDimension() const
[more]bool IsComplex() const
[more]void SetBEM(bool abem)
[more]virtual const char* GetType()
will be replaced by getclassname !
[more]virtual int GetNDof() const = 0
[more]virtual int GetNDofLevel(int level) const
[more]virtual const FiniteElement& GetFE(int elnr, LocalHeap & lh) const
[more]virtual void GetDofNrs(int elnr, ARRAY<int> & dnums) const = 0
[more]virtual void GetExternalDofNrs(int elnr, ARRAY<int> & dnums) const
[more]virtual const FiniteElement& GetSFE(int selnr, LocalHeap & lh) const
[more]virtual void GetSDofNrs(int selnr, ARRAY<int> & dnums) const = 0
[more]virtual void GetBEMDofNrs(ARRAY<int> & dnums) const
[more]bool DefinedOn(int elnr) const
[more]bool DefinedOnBoundary(int belnr) const
[more]void SetDefinedOn(const BitArray & defon)
[more]void SetDefinedOnBoundary(const BitArray & defon)
[more]void SetDirichletBoundaries(const BitArray & dirbnds)
[more]const FiniteElement& GetFE(ELEMENT_TYPE type) const
[more]FESpace& LowOrderFESpace()
[more]const FESpace& LowOrderFESpace() const
[more]virtual void LockSomeDofs(BaseMatrix & mat) const
[more]virtual Table<int> * CreateSmoothingBlocks(int type = 0) const
[more]virtual BitArray* CreateIntermediatePlanes(int type = 0) const
for anisotropic plane smoothing
[more]virtual const ngmg::Prolongation* GetProlongation() const
[more]void SetProlongation(ngmg::Prolongation* aprol)
[more]MatrixGraph* GetGraph(int level, bool symmetric)

Protected Fields

[more]int order
order of finite elements
[more]int dimension
how many components
[more]bool iscomplex
complex space
[more]bool eliminate_internal
[more]ngmg::Prolongation* prol
prolongation from coarser level to finer level
[more]ARRAY<MatrixGraph*> graphs
stores matrix graph.
[more]ARRAY<int> definedon
on which subdomains is the space defined ?
[more]ARRAY<int> definedonbound
on which boundaries is the space defined ?
[more]ARRAY<int> BEMboundary
[more]FiniteElement* tet
[more]FiniteElement* prism
[more]FiniteElement* pyramid
[more]FiniteElement* hex
[more]FiniteElement* trig
[more]FiniteElement* quad
[more]FiniteElement* segm
[more]BilinearFormIntegrator* evaluator
[more]BilinearFormIntegrator* boundary_evaluator
[more]FESpace* low_order_space
if non-zero, pointer to low order space
[more]ARRAY<bool> directsolverclustered
if directsolverclustered[i] is true, then the unknowns of domain i are clustered


Inherited from NGS_Object:

Public Methods

ovoid SetName(const string & aname)
oconst string& GetName() const
oconst MeshAccess& GetMeshAccess() const

oint order
order of finite elements

oint dimension
how many components

obool iscomplex
complex space

obool eliminate_internal

ongmg::Prolongation* prol
prolongation from coarser level to finer level

oARRAY<MatrixGraph*> graphs
stores matrix graph. attention: either sym or non-sym ... obsolete !!!

oARRAY<int> definedon
on which subdomains is the space defined ?

oARRAY<int> definedonbound
on which boundaries is the space defined ?

oARRAY<int> BEMboundary

oFiniteElement* tet

oFiniteElement* prism

oFiniteElement* pyramid

oFiniteElement* hex

oFiniteElement* trig

oFiniteElement* quad

oFiniteElement* segm

oBilinearFormIntegrator* evaluator

oBilinearFormIntegrator* boundary_evaluator

oFESpace* low_order_space
if non-zero, pointer to low order space

oARRAY<bool> directsolverclustered
if directsolverclustered[i] is true, then the unknowns of domain i are clustered

o FESpace(const MeshAccess & ama, int aorder, int adim, bool acomplex)

ovirtual ~FESpace()

ovirtual void Update()

ovirtual void Update(LocalHeap & lh)

ovirtual void PrintReport(ostream & ost)

oint GetOrder() const

oint GetDimension() const

obool IsComplex() const

ovoid SetBEM(bool abem)

ovirtual const char* GetType()
will be replaced by getclassname !

ovirtual int GetNDof() const = 0

ovirtual int GetNDofLevel(int level) const

ovirtual const FiniteElement& GetFE(int elnr, LocalHeap & lh) const

ovirtual void GetDofNrs(int elnr, ARRAY<int> & dnums) const = 0

ovirtual void GetExternalDofNrs(int elnr, ARRAY<int> & dnums) const

ovirtual const FiniteElement& GetSFE(int selnr, LocalHeap & lh) const

ovirtual void GetSDofNrs(int selnr, ARRAY<int> & dnums) const = 0

ovirtual void GetBEMDofNrs(ARRAY<int> & dnums) const

obool DefinedOn(int elnr) const

obool DefinedOnBoundary(int belnr) const

ovoid SetDefinedOn(const BitArray & defon)

ovoid SetDefinedOnBoundary(const BitArray & defon)

ovoid SetDirichletBoundaries(const BitArray & dirbnds)

oconst FiniteElement& GetFE(ELEMENT_TYPE type) const

oFESpace& LowOrderFESpace()

oconst FESpace& LowOrderFESpace() const

ovirtual void LockSomeDofs(BaseMatrix & mat) const

ovirtual Table<int> * CreateSmoothingBlocks(int type = 0) const

ovirtual BitArray* CreateIntermediatePlanes(int type = 0) const
for anisotropic plane smoothing

ovirtual const ngmg::Prolongation* GetProlongation() const

ovoid SetProlongation(ngmg::Prolongation* aprol)

oMatrixGraph* 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++.