NGSolve
4.9
|
A combination of fe-spaces. More...
#include <fespace.hpp>
Public Member Functions | |
CompoundFESpace (const MeshAccess &ama, const Flags &flags, bool parseflags=false) | |
generates a compound space. | |
CompoundFESpace (const MeshAccess &ama, const Array< FESpace * > &aspaces, const Flags &flags, bool parseflags=false) | |
generates a compound space components are provided in aspaces | |
virtual | ~CompoundFESpace () |
not much to do. | |
void | AddSpace (FESpace *fes) |
add an additional component space | |
virtual string | GetClassName () const |
virtual void | Update (LocalHeap &lh) |
updates also components | |
virtual void | FinalizeUpdate (LocalHeap &lh) |
updates also components | |
virtual void | UpdateCouplingDofArray () |
copies dofcoupling from components | |
virtual int | GetNDof () const |
number of dofs of process | |
virtual int | GetNDofLevel (int level) const |
number of dofs on the level | |
IntRange | GetRange (int spacenr) const |
const FESpace * | operator[] (int i) const |
get component space | |
FESpace * | operator[] (int i) |
get component space | |
virtual const FiniteElement & | GetFE (int elnr, LocalHeap &lh) const |
returns a compound finite element | |
virtual const FiniteElement & | GetSFE (int selnr, LocalHeap &lh) const |
returns surface element for boundary interals | |
virtual void | GetDofNrs (int elnr, Array< int > &dnums) const |
get dof-nrs of the element | |
virtual void | GetSDofNrs (int selnr, Array< int > &dnums) const |
returns dofs of sourface element | |
virtual void | GetVertexDofNrs (int vnr, Array< int > &dnums) const |
get number of low-order dofs for node of type nt | |
virtual void | GetEdgeDofNrs (int ednr, Array< int > &dnums) const |
get dofs on edge enr | |
virtual void | GetFaceDofNrs (int fanr, Array< int > &dnums) const |
get dofs on face fnr | |
virtual void | GetInnerDofNrs (int elnr, Array< int > &dnums) const |
get dofs on element (=cell) elnr | |
template<class MAT > | |
NGS_DLL_HEADER void | TransformMat (int elnr, bool boundary, MAT &mat, TRANSFORM_TYPE tt) const |
template<class VEC > | |
NGS_DLL_HEADER void | TransformVec (int elnr, bool boundary, VEC &vec, TRANSFORM_TYPE tt) const |
virtual void | VTransformMR (int elnr, bool boundary, const SliceMatrix< double > &mat, TRANSFORM_TYPE tt) const |
virtual void | VTransformMC (int elnr, bool boundary, const SliceMatrix< Complex > &mat, TRANSFORM_TYPE tt) const |
virtual void | VTransformVR (int elnr, bool boundary, const FlatVector< double > &vec, TRANSFORM_TYPE tt) const |
virtual void | VTransformVC (int elnr, bool boundary, const FlatVector< Complex > &vec, TRANSFORM_TYPE tt) const |
int | GetNSpaces () const |
number of component spaces | |
Protected Attributes | |
Array< FESpace * > | spaces |
pointers to components | |
Array< int > | cummulative_nd |
cummlated number of dofs of components | |
Array< int > | ndlevel |
dofs on each multigrid level |
A combination of fe-spaces.
ngcomp::CompoundFESpace::CompoundFESpace | ( | const MeshAccess & | ama, |
const Flags & | flags, | ||
bool | parseflags = false |
||
) |
generates a compound space.
components will be added later
virtual ngcomp::CompoundFESpace::~CompoundFESpace | ( | ) | [virtual] |
not much to do.
components will not be deleted
virtual void ngcomp::CompoundFESpace::GetVertexDofNrs | ( | int | vnr, |
Array< int > & | dnums | ||
) | const [virtual] |
get number of low-order dofs for node of type nt
get dofs on vertex vnr
Reimplemented from ngcomp::FESpace.