Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
model::TrialFunction< _name, _nComponents, _FiniteElementType > Class Template Reference

#include <TrialFunction.h>

Inheritance diagram for model::TrialFunction< _name, _nComponents, _FiniteElementType >:
Collaboration diagram for model::TrialFunction< _name, _nComponents, _FiniteElementType >:

Public Types

typedef double Scalar
typedef _FiniteElementType FiniteElementType
typedef FiniteElementType::ElementType ElementType
typedef FiniteElementType::NodeType NodeType
typedef TrialFunction< _name, _nComponents, FiniteElementType > TrialFunctionType
typedef std::map< size_t, double > DirichletConditionContainerType
typedef std::map< size_t, std::array< bool, dofPerNode > > DirichletNodeMapType
typedef TypeTraits< TrialFunctionType >::BaryType BaryType
typedef TypeTraits< TrialFunctionType >::ShapeFunctionMatrixType ShapeFunctionMatrixType
typedef TypeTraits< TrialFunctionType >::ShapeFunctionGradMatrixType ShapeFunctionGradMatrixType
typedef TypeTraits< TrialFunctionType >::ShapeFunctionDefMatrixType ShapeFunctionDefMatrixType
Public Types inherited from model::TrialBase< TrialFunction< _name, _nComponents, _FiniteElementType > >
typedef double Scalar
typedef TypeTraits< TrialFunction< _name, _nComponents, _FiniteElementType > >::FiniteElementType FiniteElementType
typedef FiniteElementType::MeshType MeshType
typedef TypeTraits< TrialFunction< _name, _nComponents, _FiniteElementType > >::ElementType ElementType
typedef TypeTraits< TrialFunction< _name, _nComponents, _FiniteElementType > >::BaryType BaryType
typedef TypeTraits< TrialFunction< _name, _nComponents, _FiniteElementType > >::NodeType NodeType
typedef TrialFunction< _name, _nComponents, _FiniteElementType > TrialFunctionType
typedef std::map< size_t, std::array< bool, TypeTraits< TrialFunctionType >::dofPerNode > > DirichletNodeMapType
typedef std::map< size_t, double > DirichletConditionContainerType

Public Member Functions

 TrialFunction (FiniteElementType &fe)
 TrialFunction (const TrialFunctionType &)=delete
 TrialFunction (TrialFunctionType &&)=delete
TrialFunctionType & operator= (const TrialFunctionType &other)
FiniteElementType & fe () const
TrialFunctionType & operator= (const double &c)
TrialFunctionType & setConstant (const Eigen::Matrix< double, _nComponents, 1 > &c)
TrialFunctionType & operator= (const Eigen::VectorXd &temp)
TrialFunctionType & operator+= (const Eigen::VectorXd &temp)
TrialFunctionType & operator-= (const Eigen::VectorXd &temp)
size_t gSize () const
size_t elementSize () const
size_t nodeSize () const
const NodeType & node (const size_t &n) const
template<typename Condition>
void addDirichletCondition (const size_t &nodeListID, const Condition &cond, const std::array< bool, dofPerNode > &constrainDof)
void clearDirichletConditions ()
DirichletConditionContainerType & dirichletConditions () const
DirichletNodeMapType & dirichletNodeMap () const
Eigen::VectorXd & dofVector ()
const Eigen::Matrix< double, Eigen::Dynamic, 1 > & dofVector () const
Eigen::Matrix< double, dofPerNode, 1 > dofs (const NodeType &node) const
Eigen::Matrix< double, dofPerNode, 1 > dofs (const size_t &gID) const
Eigen::Matrix< double, dofPerElement, 1 > dofs (const ElementType &ele) const
Public Member Functions inherited from model::TrialExpressionBase< TrialFunction< _name, _nComponents, _FiniteElementType > >
 TrialExpressionBase ()=default
TrialFunction< _name, _nComponents, _FiniteElementType > & derived ()
TrialFunction< _name, _nComponents, _FiniteElementType > * p_derived ()
 operator const TrialFunction< _name, _nComponents, _FiniteElementType > & () const
Public Member Functions inherited from model::TrialBase< TrialFunction< _name, _nComponents, _FiniteElementType > >
 TrialBase (FiniteElementType &fe)
const TrialBase & field () const
std::shared_ptr< const void > ownership () const
bool sameField (const TrialBase &other) const
FiniteElementType & fe () const
size_t gSize () const
Eigen::Matrix< double, Eigen::Dynamic, 1 > & dofVector () const
void setPeriodicGradient (const Eigen::Matrix< double, dofPerNode, dim > &gradient) const
const Eigen::Matrix< double, dofPerNode, dim > & periodicGradient () const
void setPeriodicNodalOffset (const Eigen::VectorXd &values) const
const Eigen::VectorXd & periodicNodalOffset () const
void setFullDofVector (const Eigen::VectorXd &values) const
Eigen::Matrix< double, dofPerNode, 1 > dofs (const NodeType &node) const
const ElementType & element (const size_t &n) const
const MeshType & mesh () const
size_t elementSize () const
size_t nodeSize () const
const NodeType & node (const size_t &n) const
void clearDirichletConditions () const
DirichletNodeMapType & dirichletNodeMap () const
DirichletConditionContainerType & dirichletConditions () const
void addDirichletCondition (const size_t &nodeListID, const Condition &cond, const std::array< bool, dofPerNode > &constrainDof) const

Static Public Member Functions

static ShapeFunctionMatrixType sfm (const ElementType &ele, const BaryType &bary)
static ShapeFunctionGradMatrixType sfmGrad (const ElementType &ele, const BaryType &bary)
static ShapeFunctionDefMatrixType sfmDef (const ElementType &ele, const BaryType &bary)

Static Public Attributes

static constexpr int rows =_nComponents
static constexpr int cols =1
static constexpr int dim =ElementType::dim
static constexpr int nodesPerElement =ElementType::nodesPerElement
static constexpr int dofPerNode =TypeTraits<TrialFunctionType>::dofPerNode
static constexpr int dofPerElement =TypeTraits<TrialFunctionType>::dofPerElement
Static Public Attributes inherited from model::TrialBase< TrialFunction< _name, _nComponents, _FiniteElementType > >
static constexpr int dim
static constexpr int nodesPerElement
static constexpr int dofPerNode
static constexpr int dofPerElement

Detailed Description

template<char _name, int _nComponents, typename _FiniteElementType>
class model::TrialFunction< _name, _nComponents, _FiniteElementType >

Definition at line 32 of file TrialFunction.h.

Member Typedef Documentation

◆ BaryType

template<char _name, int _nComponents, typename _FiniteElementType>
typedef TypeTraits<TrialFunctionType>::BaryType model::TrialFunction< _name, _nComponents, _FiniteElementType >::BaryType

Definition at line 56 of file TrialFunction.h.

◆ DirichletConditionContainerType

template<char _name, int _nComponents, typename _FiniteElementType>
typedef std::map<size_t,double> model::TrialFunction< _name, _nComponents, _FiniteElementType >::DirichletConditionContainerType

Definition at line 53 of file TrialFunction.h.

◆ DirichletNodeMapType

template<char _name, int _nComponents, typename _FiniteElementType>
typedef std::map<size_t,std::array<bool,dofPerNode> > model::TrialFunction< _name, _nComponents, _FiniteElementType >::DirichletNodeMapType

Definition at line 54 of file TrialFunction.h.

◆ ElementType

template<char _name, int _nComponents, typename _FiniteElementType>
typedef FiniteElementType::ElementType model::TrialFunction< _name, _nComponents, _FiniteElementType >::ElementType

Definition at line 40 of file TrialFunction.h.

◆ FiniteElementType

template<char _name, int _nComponents, typename _FiniteElementType>
typedef _FiniteElementType model::TrialFunction< _name, _nComponents, _FiniteElementType >::FiniteElementType

Definition at line 39 of file TrialFunction.h.

◆ NodeType

template<char _name, int _nComponents, typename _FiniteElementType>
typedef FiniteElementType::NodeType model::TrialFunction< _name, _nComponents, _FiniteElementType >::NodeType

Definition at line 41 of file TrialFunction.h.

◆ Scalar

template<char _name, int _nComponents, typename _FiniteElementType>
typedef double model::TrialFunction< _name, _nComponents, _FiniteElementType >::Scalar

Definition at line 38 of file TrialFunction.h.

◆ ShapeFunctionDefMatrixType

template<char _name, int _nComponents, typename _FiniteElementType>
typedef TypeTraits<TrialFunctionType>::ShapeFunctionDefMatrixType model::TrialFunction< _name, _nComponents, _FiniteElementType >::ShapeFunctionDefMatrixType

Definition at line 59 of file TrialFunction.h.

◆ ShapeFunctionGradMatrixType

template<char _name, int _nComponents, typename _FiniteElementType>
typedef TypeTraits<TrialFunctionType>::ShapeFunctionGradMatrixType model::TrialFunction< _name, _nComponents, _FiniteElementType >::ShapeFunctionGradMatrixType

Definition at line 58 of file TrialFunction.h.

◆ ShapeFunctionMatrixType

template<char _name, int _nComponents, typename _FiniteElementType>
typedef TypeTraits<TrialFunctionType>::ShapeFunctionMatrixType model::TrialFunction< _name, _nComponents, _FiniteElementType >::ShapeFunctionMatrixType

Definition at line 57 of file TrialFunction.h.

◆ TrialFunctionType

template<char _name, int _nComponents, typename _FiniteElementType>
typedef TrialFunction<_name,_nComponents,FiniteElementType> model::TrialFunction< _name, _nComponents, _FiniteElementType >::TrialFunctionType

Definition at line 43 of file TrialFunction.h.

Constructor & Destructor Documentation

◆ TrialFunction() [1/3]

template<char _name, int _nComponents, typename _FiniteElementType>
model::TrialFunction< _name, _nComponents, _FiniteElementType >::TrialFunction ( FiniteElementType & fe)
inlineexplicit

Definition at line 62 of file TrialFunction.h.

◆ TrialFunction() [2/3]

template<char _name, int _nComponents, typename _FiniteElementType>
model::TrialFunction< _name, _nComponents, _FiniteElementType >::TrialFunction ( const TrialFunctionType & )
delete

◆ TrialFunction() [3/3]

template<char _name, int _nComponents, typename _FiniteElementType>
model::TrialFunction< _name, _nComponents, _FiniteElementType >::TrialFunction ( TrialFunctionType && )
delete

Member Function Documentation

◆ addDirichletCondition()

template<char _name, int _nComponents, typename _FiniteElementType>
template<typename Condition>
void model::TrialFunction< _name, _nComponents, _FiniteElementType >::addDirichletCondition ( const size_t & nodeListID,
const Condition & cond,
const std::array< bool, dofPerNode > & constrainDof )
inline

Definition at line 151 of file TrialFunction.h.

◆ clearDirichletConditions()

template<char _name, int _nComponents, typename _FiniteElementType>
void model::TrialFunction< _name, _nComponents, _FiniteElementType >::clearDirichletConditions ( )
inline

Definition at line 159 of file TrialFunction.h.

◆ dirichletConditions()

template<char _name, int _nComponents, typename _FiniteElementType>
DirichletConditionContainerType & model::TrialFunction< _name, _nComponents, _FiniteElementType >::dirichletConditions ( ) const
inline

Definition at line 165 of file TrialFunction.h.

◆ dirichletNodeMap()

template<char _name, int _nComponents, typename _FiniteElementType>
DirichletNodeMapType & model::TrialFunction< _name, _nComponents, _FiniteElementType >::dirichletNodeMap ( ) const
inline

Definition at line 170 of file TrialFunction.h.

◆ dofs() [1/3]

template<char _name, int _nComponents, typename _FiniteElementType>
Eigen::Matrix< double, dofPerElement, 1 > model::TrialFunction< _name, _nComponents, _FiniteElementType >::dofs ( const ElementType & ele) const
inline

Definition at line 197 of file TrialFunction.h.

◆ dofs() [2/3]

template<char _name, int _nComponents, typename _FiniteElementType>
Eigen::Matrix< double, dofPerNode, 1 > model::TrialFunction< _name, _nComponents, _FiniteElementType >::dofs ( const NodeType & node) const
inline

Definition at line 185 of file TrialFunction.h.

◆ dofs() [3/3]

template<char _name, int _nComponents, typename _FiniteElementType>
Eigen::Matrix< double, dofPerNode, 1 > model::TrialFunction< _name, _nComponents, _FiniteElementType >::dofs ( const size_t & gID) const
inline

Definition at line 191 of file TrialFunction.h.

◆ dofVector() [1/2]

template<char _name, int _nComponents, typename _FiniteElementType>
Eigen::VectorXd & model::TrialFunction< _name, _nComponents, _FiniteElementType >::dofVector ( )
inline

Definition at line 175 of file TrialFunction.h.

◆ dofVector() [2/2]

template<char _name, int _nComponents, typename _FiniteElementType>
const Eigen::Matrix< double, Eigen::Dynamic, 1 > & model::TrialFunction< _name, _nComponents, _FiniteElementType >::dofVector ( ) const
inline

Definition at line 180 of file TrialFunction.h.

◆ elementSize()

template<char _name, int _nComponents, typename _FiniteElementType>
size_t model::TrialFunction< _name, _nComponents, _FiniteElementType >::elementSize ( ) const
inline

Definition at line 120 of file TrialFunction.h.

◆ fe()

template<char _name, int _nComponents, typename _FiniteElementType>
FiniteElementType & model::TrialFunction< _name, _nComponents, _FiniteElementType >::fe ( ) const
inline

Definition at line 71 of file TrialFunction.h.

◆ gSize()

template<char _name, int _nComponents, typename _FiniteElementType>
size_t model::TrialFunction< _name, _nComponents, _FiniteElementType >::gSize ( ) const
inline

Definition at line 115 of file TrialFunction.h.

◆ node()

template<char _name, int _nComponents, typename _FiniteElementType>
const NodeType & model::TrialFunction< _name, _nComponents, _FiniteElementType >::node ( const size_t & n) const
inline

Definition at line 130 of file TrialFunction.h.

◆ nodeSize()

template<char _name, int _nComponents, typename _FiniteElementType>
size_t model::TrialFunction< _name, _nComponents, _FiniteElementType >::nodeSize ( ) const
inline

Definition at line 125 of file TrialFunction.h.

◆ operator+=()

template<char _name, int _nComponents, typename _FiniteElementType>
TrialFunctionType & model::TrialFunction< _name, _nComponents, _FiniteElementType >::operator+= ( const Eigen::VectorXd & temp)
inline

Definition at line 99 of file TrialFunction.h.

◆ operator-=()

template<char _name, int _nComponents, typename _FiniteElementType>
TrialFunctionType & model::TrialFunction< _name, _nComponents, _FiniteElementType >::operator-= ( const Eigen::VectorXd & temp)
inline

Definition at line 107 of file TrialFunction.h.

◆ operator=() [1/3]

template<char _name, int _nComponents, typename _FiniteElementType>
TrialFunctionType & model::TrialFunction< _name, _nComponents, _FiniteElementType >::operator= ( const double & c)
inline

Definition at line 76 of file TrialFunction.h.

◆ operator=() [2/3]

template<char _name, int _nComponents, typename _FiniteElementType>
TrialFunctionType & model::TrialFunction< _name, _nComponents, _FiniteElementType >::operator= ( const Eigen::VectorXd & temp)
inline

Definition at line 91 of file TrialFunction.h.

◆ operator=() [3/3]

template<char _name, int _nComponents, typename _FiniteElementType>
TrialFunctionType & model::TrialFunction< _name, _nComponents, _FiniteElementType >::operator= ( const TrialFunctionType & other)
inline

Definition at line 66 of file TrialFunction.h.

◆ setConstant()

template<char _name, int _nComponents, typename _FiniteElementType>
TrialFunctionType & model::TrialFunction< _name, _nComponents, _FiniteElementType >::setConstant ( const Eigen::Matrix< double, _nComponents, 1 > & c)
inline

Definition at line 82 of file TrialFunction.h.

◆ sfm()

template<char _name, int _nComponents, typename _FiniteElementType>
ShapeFunctionMatrixType model::TrialFunction< _name, _nComponents, _FiniteElementType >::sfm ( const ElementType & ele,
const BaryType & bary )
inlinestatic

Definition at line 135 of file TrialFunction.h.

◆ sfmDef()

template<char _name, int _nComponents, typename _FiniteElementType>
ShapeFunctionDefMatrixType model::TrialFunction< _name, _nComponents, _FiniteElementType >::sfmDef ( const ElementType & ele,
const BaryType & bary )
inlinestatic

Definition at line 145 of file TrialFunction.h.

◆ sfmGrad()

template<char _name, int _nComponents, typename _FiniteElementType>
ShapeFunctionGradMatrixType model::TrialFunction< _name, _nComponents, _FiniteElementType >::sfmGrad ( const ElementType & ele,
const BaryType & bary )
inlinestatic

Definition at line 140 of file TrialFunction.h.

Member Data Documentation

◆ cols

template<char _name, int _nComponents, typename _FiniteElementType>
int model::TrialFunction< _name, _nComponents, _FiniteElementType >::cols =1
staticconstexpr

Definition at line 46 of file TrialFunction.h.

◆ dim

template<char _name, int _nComponents, typename _FiniteElementType>
int model::TrialFunction< _name, _nComponents, _FiniteElementType >::dim =ElementType::dim
staticconstexpr

Definition at line 48 of file TrialFunction.h.

◆ dofPerElement

template<char _name, int _nComponents, typename _FiniteElementType>
int model::TrialFunction< _name, _nComponents, _FiniteElementType >::dofPerElement =TypeTraits<TrialFunctionType>::dofPerElement
staticconstexpr

Definition at line 51 of file TrialFunction.h.

◆ dofPerNode

template<char _name, int _nComponents, typename _FiniteElementType>
int model::TrialFunction< _name, _nComponents, _FiniteElementType >::dofPerNode =TypeTraits<TrialFunctionType>::dofPerNode
staticconstexpr

Definition at line 50 of file TrialFunction.h.

◆ nodesPerElement

template<char _name, int _nComponents, typename _FiniteElementType>
int model::TrialFunction< _name, _nComponents, _FiniteElementType >::nodesPerElement =ElementType::nodesPerElement
staticconstexpr

Definition at line 49 of file TrialFunction.h.

◆ rows

template<char _name, int _nComponents, typename _FiniteElementType>
int model::TrialFunction< _name, _nComponents, _FiniteElementType >::rows =_nComponents
staticconstexpr

Definition at line 45 of file TrialFunction.h.


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