|
| DirichletValues (const B &basis) |
|
template<typename F , typename TreePath = Dune::TypeTree::HybridTreePath<>> |
void | fixBoundaryDOFs (F &&f, TreePath &&treePath={}) |
| Function to fix (set boolean values to true or false) degrees of freedom on the boundary. More...
|
|
template<typename F > |
void | fixDOFs (F &&f) |
| Function to fix (set boolean values to true or false) degrees of freedom. More...
|
|
template<typename MultiIndex >
requires (not std::integral<MultiIndex>) |
void | setSingleDOF (const MultiIndex i, bool flag) |
| Fixes and unfixes (set boolean value to true or false) a specific degree of freedom. More...
|
|
void | setSingleDOF (std::size_t i, bool flag) |
| Fixes or unfixes (set boolean value to true or false) a specific degree of freedom. More...
|
|
void | reset () |
| Resets all degrees of freedom. More...
|
|
const auto & | basis () const |
|
template<typename MultiIndex >
requires (not std::integral<MultiIndex>) |
bool | isConstrained (const MultiIndex &multiIndex) const |
|
bool | isConstrained (std::size_t i) const |
|
auto | fixedDOFsize () const |
|
auto | size () const |
|
auto & | container () const |
|
template<typename F > |
void | storeInhomogeneousBoundaryCondition (F &&f) |
| Function to insert a function for inhomogeneous Dirichlet boundary conditions. More...
|
|
void | evaluateInhomogeneousBoundaryCondition (Eigen::VectorXd &xIh, const double &lambda) |
| Function to evaluate all stored inhomogeneous Dirichlet boundary functions. More...
|
|
void | evaluateInhomogeneousBoundaryConditionDerivative (Eigen::VectorXd &xIh, const double &lambda) |
| Function to evaluate all stored inhomogeneous Dirichlet boundary derivative functions. More...
|
|
template<typename B, typename FC = std::vector<bool>>
class Ikarus::DirichletValues< B, FC >
The DirichletValues class provides functionalities for fixing degrees of freedom and storing inhomogeneous Dirichlet boundary conditions. It supports fixing degrees of freedom using various callback functions and stores functions for inhomogeneous Dirichlet boundary conditions.
- Template Parameters
-
B | Type of the finite element basis |
FC | Type for storing Dirichlet flags (default is std::vector<bool>) |
template<typename B , typename FC = std::vector<bool>>
template<typename F , typename TreePath = Dune::TypeTree::HybridTreePath<>>
This function takes a callback function, which will be called with the boolean vector of fixed boundary degrees of freedom and the usual arguments of Dune::Functions::forEachBoundaryDOF
.
- Parameters
-
f | A callback function |
treePath | An optional argument specifying a tree path to a subspacebasis, e.g. Dune::Indices::_0 |