FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
FEAT::Space::NodeFunctionalBase< Space_, DataType_ > Class Template Reference

Node-functional base class template. More...

#include <node_functional_base.hpp>

Inheritance diagram for FEAT::Space::NodeFunctionalBase< Space_, DataType_ >:
FEAT::Space::Argyris::NodeFunctional< Space_, 0, DataType_ > FEAT::Space::Argyris::NodeFunctional< Space_, 1, DataType_ > FEAT::Space::Bernstein2::NodeFunctional< Space_, Shape::Hypercube< 1 >, DataType_ > FEAT::Space::Bernstein2::NodeFunctional< Space_, Shape::Hypercube< 2 >, DataType_ > FEAT::Space::Bernstein2::NodeFunctional< Space_, Shape::Hypercube< 3 >, DataType_ > FEAT::Space::Bernstein2::NodeFunctional< Space_, Shape::Vertex, DataType_ > FEAT::Space::CaiDouSanSheYe::NodeFunctional< Space_, Shape::Hypercube< shape_dim_ >, 0, DataType_ > FEAT::Space::CaiDouSanSheYe::NodeFunctional< Space_, Shape::Hypercube< shape_dim_ >, 1, DataType_ > FEAT::Space::CroRavRanTur::NodeFunctional< Space_, Shape::Hypercube< shape_dim_ >, 1, DataType_ > FEAT::Space::CroRavRanTur::NodeFunctional< Space_, Shape::Simplex< shape_dim_ >, 1, DataType_ > FEAT::Space::Discontinuous::NodeFunctional< Space_, 0, Variant::StdPolyP< 0 >, DataType_, Shape_ > FEAT::Space::Discontinuous::NodeFunctional< Space_, 0, Variant::StdPolyP< 1 >, DataType_, Shape::Hypercube< shape_dim_ > > FEAT::Space::Discontinuous::NodeFunctional< Space_, 0, Variant::StdPolyP< 1 >, DataType_, Shape::Simplex< shape_dim_ > > FEAT::Space::Hermite3::NodeFunctional< Space_, Shape::Hypercube< 1 >, 0, DataType_ > FEAT::Space::Hermite3::NodeFunctional< Space_, Shape::Hypercube< 2 >, 0, DataType_ > FEAT::Space::Hermite3::NodeFunctional< Space_, Shape::Simplex< 2 >, 0, DataType_ > FEAT::Space::Hermite3::NodeFunctional< Space_, Shape::Simplex< 2 >, 2, DataType_ > FEAT::Space::Lagrange1::NodeFunctional< Space_, 0, DataType_ > FEAT::Space::Lagrange2::NodeFunctional< Space_, Shape::Hypercube< shape_dim_ >, DataType_ > FEAT::Space::Lagrange2::NodeFunctional< Space_, Shape::Simplex< 1 >, DataType_ > FEAT::Space::Lagrange2::NodeFunctional< Space_, Shape::Vertex, DataType_ > FEAT::Space::Lagrange3::NodeFunctional< Space_, Shape::Hypercube< shape_dim_ >, DataType_ > FEAT::Space::Lagrange3::NodeFunctional< Space_, Shape::Simplex< 1 >, DataType_ > FEAT::Space::Lagrange3::NodeFunctional< Space_, Shape::Simplex< 2 >, DataType_ > FEAT::Space::Lagrange3::NodeFunctional< Space_, Shape::Vertex, DataType_ > FEAT::Space::NodeFunctionalNull< Space_, DataType_ > FEAT::Space::P2Bubble::NodeFunctional< Space_, Shape::Simplex< dim_ >, Shape::Simplex< dim_ >, DataType_ > FEAT::Space::P2Bubble::NodeFunctional< Space_, ShapeType_, Shape::Simplex< 1 >, DataType_ > FEAT::Space::P2Bubble::NodeFunctional< Space_, ShapeType_, Shape::Vertex, DataType_ > FEAT::Space::Q1TBNP::NodeFunctional< Space_, Shape::Hypercube< 2 >, 0, DataType_ > FEAT::Space::Q1TBNP::NodeFunctional< Space_, Shape::Hypercube< 3 >, 0, DataType_ > FEAT::Space::Q1TBNP::NodeFunctional< Space_, Shape::Hypercube< shape_dim_ >, 1, DataType_ >

Public Types

typedef DataType_ DataType
 data type More...
 
typedef Space_ SpaceType
 space typedef More...
 

Public Member Functions

 NodeFunctionalBase (const SpaceType &space)
 protected constructor More...
 
void finish ()
 Releases the node-functional from the current cell. More...
 
int get_num_assigned_dofs () const
 Returns the number of assigned dofs on the current cell.
 
template<typename NodeData_ , typename Function_ >
void operator() (NodeData_ &node_data, const Function_ &function) const
 Evaluation operator. More...
 
void prepare (Index cell_index)
 Prepares the node-functional for a given cell. More...
 

Public Attributes

Index _cell_index
 currently active cell index More...
 

Static Public Attributes

static constexpr Index max_assigned_dofs
 specifies the maximum number of assigned DOFs More...
 

Detailed Description

template<typename Space_, typename DataType_>
class FEAT::Space::NodeFunctionalBase< Space_, DataType_ >

Node-functional base class template.

This class acts as a base-class and interface documentation for Finite-Element Node-Functional implementations.

Template Parameters
Space_The finite-element space that this node-functional is used by.
Author
Peter Zajac

Definition at line 29 of file node_functional_base.hpp.

Member Typedef Documentation

◆ DataType

template<typename Space_ , typename DataType_ >
typedef DataType_ FEAT::Space::NodeFunctionalBase< Space_, DataType_ >::DataType

data type

Definition at line 35 of file node_functional_base.hpp.

◆ SpaceType

template<typename Space_ , typename DataType_ >
typedef Space_ FEAT::Space::NodeFunctionalBase< Space_, DataType_ >::SpaceType

space typedef

Definition at line 33 of file node_functional_base.hpp.

Constructor & Destructor Documentation

◆ NodeFunctionalBase()

template<typename Space_ , typename DataType_ >
FEAT::Space::NodeFunctionalBase< Space_, DataType_ >::NodeFunctionalBase ( const SpaceType space)
inlineexplicit

protected constructor

Definition at line 49 of file node_functional_base.hpp.

Member Function Documentation

◆ finish()

template<typename Space_ , typename DataType_ >
void FEAT::Space::NodeFunctionalBase< Space_, DataType_ >::finish ( )
inline

Releases the node-functional from the current cell.

Definition at line 70 of file node_functional_base.hpp.

References FEAT::Space::NodeFunctionalBase< Space_, DataType_ >::_cell_index.

◆ operator()()

template<typename Space_ , typename DataType_ >
template<typename NodeData_ , typename Function_ >
void FEAT::Space::NodeFunctionalBase< Space_, DataType_ >::operator() ( NodeData_ &  node_data,
const Function_ &  function 
) const

Evaluation operator.

This operator applies all node functionals to the AnalyticFunction function. The values of the node functionals are the coefficients of the FE interpolant of function.

Template Parameters
NodeData_Type for the FE coefficient vector.
Function_Type of the AnalyticFuntion to evaluate.
Parameters
[out]node_dataThe coefficients of the FE interpolant of function, aka the values of the node functionals applied to the function. Tiny::Vector of some sort.
[in]functionThe AnalyticFunction to apply the node functionals to.
Returns
The value of the node functional applied onto the function.

◆ prepare()

template<typename Space_ , typename DataType_ >
void FEAT::Space::NodeFunctionalBase< Space_, DataType_ >::prepare ( Index  cell_index)
inline

Prepares the node-functional for a given cell.

Parameters
[in]cell_indexThe index of the cell that is to be used by the node-functional.

Definition at line 62 of file node_functional_base.hpp.

References FEAT::Space::NodeFunctionalBase< Space_, DataType_ >::_cell_index.

Member Data Documentation

◆ _cell_index

template<typename Space_ , typename DataType_ >
Index FEAT::Space::NodeFunctionalBase< Space_, DataType_ >::_cell_index

◆ max_assigned_dofs

template<typename Space_ , typename DataType_ >
constexpr Index FEAT::Space::NodeFunctionalBase< Space_, DataType_ >::max_assigned_dofs
staticconstexpr
Initial value:
= ...
protected:
const SpaceType& _space

specifies the maximum number of assigned DOFs

Definition at line 39 of file node_functional_base.hpp.


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