Flow123d  master-1fea4ce
Public Member Functions | Private Member Functions | Private Attributes | List of all members
EqualOrderDiscreteSpace Class Reference

#include <discrete_space.hh>

Inheritance diagram for EqualOrderDiscreteSpace:
Inheritance graph
[legend]
Collaboration diagram for EqualOrderDiscreteSpace:
Collaboration graph
[legend]

Public Member Functions

 EqualOrderDiscreteSpace (MeshBase *mesh, MixedPtr< FiniteElement > fe)
 
unsigned int n_elem_dofs (const ElementAccessor< 3 > &cell) const override
 Number of dofs associated to element (not shared by adjacent elements). More...
 
unsigned int n_edge_dofs (const Edge &edge) const override
 Number of dofs associated to edge. More...
 
unsigned int n_node_dofs (unsigned int nid) const override
 Number of dofs associated to node. nid is the node index in the mesh duplicate_nodes object. More...
 
MixedPtr< FiniteElementfe () const override
 
- Public Member Functions inherited from DiscreteSpace
template<unsigned int dim>
unsigned int n_face_dofs (unsigned int face_id)
 Number of dofs associated to generalized n-face (node, line, triangle or tetrahedron). More...
 
virtual ~DiscreteSpace ()
 Destructor. More...
 

Private Member Functions

template<IntDim dim>
void _init_n_dofs ()
 

Private Attributes

MixedPtr< FiniteElementfe_
 
std::vector< unsigned int > _n_elem_dofs
 
std::vector< unsigned int > _n_edge_dofs
 
std::vector< unsigned int > _n_node_dofs
 

Additional Inherited Members

- Protected Member Functions inherited from DiscreteSpace
 DiscreteSpace (MeshBase *mesh)
 Constructor. More...
 
- Protected Attributes inherited from DiscreteSpace
MeshBasemesh_
 

Detailed Description

Implementation of DiscreteSpace when all elements have the same FiniteElement.

Definition at line 92 of file discrete_space.hh.

Constructor & Destructor Documentation

◆ EqualOrderDiscreteSpace()

EqualOrderDiscreteSpace::EqualOrderDiscreteSpace ( MeshBase mesh,
MixedPtr< FiniteElement fe 
)
inline

Definition at line 94 of file discrete_space.hh.

Member Function Documentation

◆ _init_n_dofs()

template<IntDim dim>
void EqualOrderDiscreteSpace::_init_n_dofs ( )
inlineprivate

Definition at line 120 of file discrete_space.hh.

◆ fe()

MixedPtr< FiniteElement > EqualOrderDiscreteSpace::fe ( ) const
overridevirtual

Return Mixed of finite element objects.

TODO: The function should be in foem fe(const ElementAccessor<3> &). But we do not in fact depend on the element accessor now. This is temporary solution, which would work only if its type is EqualOrderDiscreteSpace. Otherwise, the general way would require a new "element FE handler" that would manage FEValues for all FE types within a given DiscreteSpace.

Implements DiscreteSpace.

Definition at line 23 of file discrete_space.cc.

◆ n_edge_dofs()

unsigned int EqualOrderDiscreteSpace::n_edge_dofs ( const Edge edge) const
inlineoverridevirtual

Number of dofs associated to edge.

Implements DiscreteSpace.

Definition at line 109 of file discrete_space.hh.

◆ n_elem_dofs()

unsigned int EqualOrderDiscreteSpace::n_elem_dofs ( const ElementAccessor< 3 > &  cell) const
inlineoverridevirtual

Number of dofs associated to element (not shared by adjacent elements).

Implements DiscreteSpace.

Definition at line 106 of file discrete_space.hh.

◆ n_node_dofs()

unsigned int EqualOrderDiscreteSpace::n_node_dofs ( unsigned int  nid) const
inlineoverridevirtual

Number of dofs associated to node. nid is the node index in the mesh duplicate_nodes object.

Implements DiscreteSpace.

Definition at line 112 of file discrete_space.hh.

Member Data Documentation

◆ _n_edge_dofs

std::vector<unsigned int> EqualOrderDiscreteSpace::_n_edge_dofs
private

Definition at line 134 of file discrete_space.hh.

◆ _n_elem_dofs

std::vector<unsigned int> EqualOrderDiscreteSpace::_n_elem_dofs
private

Definition at line 133 of file discrete_space.hh.

◆ _n_node_dofs

std::vector<unsigned int> EqualOrderDiscreteSpace::_n_node_dofs
private

Definition at line 135 of file discrete_space.hh.

◆ fe_

MixedPtr<FiniteElement> EqualOrderDiscreteSpace::fe_
private

Definition at line 132 of file discrete_space.hh.


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