NGSolve  4.9
Public Member Functions | Protected Attributes
ngcomp::CompoundFESpace Class Reference

A combination of fe-spaces. More...

#include <fespace.hpp>

Inheritance diagram for ngcomp::CompoundFESpace:
ngcomp::FESpace ngcomp::NGS_Object

List of all members.

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 FESpaceoperator[] (int i) const
 get component space
FESpaceoperator[] (int i)
 get component space
virtual const FiniteElementGetFE (int elnr, LocalHeap &lh) const
 returns a compound finite element
virtual const FiniteElementGetSFE (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

Detailed Description

A combination of fe-spaces.


Constructor & Destructor Documentation

ngcomp::CompoundFESpace::CompoundFESpace ( const MeshAccess ama,
const Flags flags,
bool  parseflags = false 
)

generates a compound space.

components will be added later

not much to do.

components will not be deleted


Member Function Documentation

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.


The documentation for this class was generated from the following file: