33 #ifndef __H__UG__LIB_DISC__LOCAL_FINITE_ELEMENT__LOCAL_FINITE_ELEMENT_PROVIDER__
34 #define __H__UG__LIB_DISC__LOCAL_FINITE_ELEMENT__LOCAL_FINITE_ELEMENT_PROVIDER__
82 template <
typename TRefElem>
89 template <
typename TRefElem>
96 template <
typename TRefElem>
103 template <
typename TRefElem>
110 template <
typename TRefElem>
122 template <
int rdim,
int dim>
127 template <
int dim,
typename TShape,
typename TGrad>
135 template <
int dim,
typename TShape,
typename TGrad>
136 static std::map<LFEID, LocalShapeFunctionSets<dim, TShape, TGrad> >&
165 static std::map<LFEID, DimLocalDoFSets<dim> >&
lds_map();
177 template <
int dim,
typename TShape,
typename TGrad>
211 template <
int dim,
typename TShape,
typename TGrad>
218 {
return get<dim,number,MathVector<dim> >(roid, id, bCreate);}
220 template <
int dim,
typename TShape,
typename TGrad>
227 {
return getptr<dim,number,MathVector<dim> >(roid, id, bCreate);}
Definition: smart_pointer.h:296
Definition: local_dof_set.h:195
Definition: local_dof_set.h:158
Identifier for Local Finite Elements.
Definition: local_finite_element_id.h:98
Definition: local_dof_set.h:120
Definition: local_finite_element_provider.h:60
static std::map< LFEID, LocalShapeFunctionSets< dim, TShape, TGrad > > & lsfs_map()
Definition: local_finite_element_provider_impl.h:47
static void create_lagrange_set(const LFEID &id)
Definition: local_finite_element_provider.cpp:332
static std::map< LFEID, LocalDoFSets > m_mLocalDoFSets
Definition: local_finite_element_provider.h:161
LocalFiniteElementProvider & operator=(const LocalFiniteElementProvider &)
static bool continuous(const LFEID &id, bool bCreate=true)
returns if a Local Shape Function Set is continuous
Definition: local_finite_element_provider.cpp:749
static void create_mini_bubble_set(const LFEID &id)
Definition: local_finite_element_provider.cpp:424
static void create_dof_set(ReferenceObjectID roid, const LFEID &id)
Definition: local_finite_element_provider.cpp:663
static void create_crouxeiz_raviart_set(const LFEID &id)
Definition: local_finite_element_provider.cpp:527
static std::map< LFEID, DimLocalDoFSets< dim > > & lds_map()
Definition: local_finite_element_provider_impl.h:56
~LocalFiniteElementProvider()
Definition: local_finite_element_provider.cpp:705
static void create_piecewise_constant_set(const LFEID &id)
Definition: local_finite_element_provider.cpp:500
static const LocalShapeFunctionSet< dim, TShape, TGrad > & get(ReferenceObjectID roid, const LFEID &id, bool bCreate=true)
returns the Local Shape Function Set
Definition: local_finite_element_provider_impl.h:148
static ConstSmartPtr< LocalShapeFunctionSet< dim > > getptr(ReferenceObjectID roid, const LFEID &id, bool bCreate=true)
returns the Local Shape Function Set
Definition: local_finite_element_provider.h:226
LocalFiniteElementProvider()
Definition: local_finite_element_provider.cpp:701
LocalFiniteElementProvider(const LocalFiniteElementProvider &)
static const LocalShapeFunctionSet< dim > & get(ReferenceObjectID roid, const LFEID &id, bool bCreate=true)
returns the Local Shape Function Set
Definition: local_finite_element_provider.h:217
static void create_set(ReferenceObjectID roid, const LFEID &id)
creates new set at runtime if available
Definition: local_finite_element_provider.cpp:552
static std::map< LFEID, CommonLocalDoFSet > m_mCommonDoFSet
Definition: local_finite_element_provider.h:158
static const CommonLocalDoFSet & get_dofs(const LFEID &id, bool bCreate=true)
returns the common dof set for all reference objects of a dimension
Definition: local_finite_element_provider.cpp:730
static void register_set(const LFEID &id, ConstSmartPtr< LocalShapeFunctionSet< dim, TShape, TGrad > > set)
register a local shape function set for a given reference element type
Definition: local_finite_element_provider_impl.h:65
static LocalFiniteElementProvider & inst()
Definition: local_finite_element_provider.h:73
static ConstSmartPtr< DimLocalDoFSet< dim > > get_dof_ptr(ReferenceObjectID roid, const LFEID &id, bool bCreate=true)
Definition: local_finite_element_provider_impl.h:167
static ConstSmartPtr< LocalShapeFunctionSet< dim, TShape, TGrad > > getptr(ReferenceObjectID roid, const LFEID &id, bool bCreate=true)
returns the Local Shape Function Set
Definition: local_finite_element_provider_impl.h:123
static std::map< LFEID, bool > m_mContSpace
Definition: local_finite_element_provider.h:140
static void create_nedelec_set(const LFEID &id)
Definition: local_finite_element_provider.cpp:480
static void create_sub_dof_set(ReferenceObjectID roid, const LFEID &id)
creates dof set on sub elements
Definition: local_finite_element_provider.cpp:607
virtual base class for local shape function sets
Definition: local_shape_function_set.h:70
ReferenceObjectID
these ids are used to identify the shape of a geometric object.
Definition: grid_base_objects.h:74
@ NUM_REFERENCE_OBJECTS
Definition: grid_base_objects.h:85
Definition: local_finite_element_provider.h:150
ConstSmartPtr< DimLocalDoFSet< dim > > ptr[NUM_REFERENCE_OBJECTS]
Definition: local_finite_element_provider.h:153
const ConstSmartPtr< DimLocalDoFSet< dim > > & operator[](size_t i) const
Definition: local_finite_element_provider.h:152
ConstSmartPtr< DimLocalDoFSet< dim > > & operator[](size_t i)
Definition: local_finite_element_provider.h:151
Definition: local_finite_element_provider.h:143
ConstSmartPtr< LocalDoFSet > & operator[](size_t i)
Definition: local_finite_element_provider.h:144
const ConstSmartPtr< LocalDoFSet > & operator[](size_t i) const
Definition: local_finite_element_provider.h:145
ConstSmartPtr< LocalDoFSet > ptr[NUM_REFERENCE_OBJECTS]
Definition: local_finite_element_provider.h:146
Definition: local_finite_element_provider.h:128
ConstSmartPtr< LocalShapeFunctionSet< dim, TShape, TGrad > > ptr[NUM_REFERENCE_OBJECTS]
Definition: local_finite_element_provider.h:131
const ConstSmartPtr< LocalShapeFunctionSet< dim, TShape, TGrad > > & operator[](size_t i) const
Definition: local_finite_element_provider.h:130
ConstSmartPtr< LocalShapeFunctionSet< dim, TShape, TGrad > > & operator[](size_t i)
Definition: local_finite_element_provider.h:129