|
void | makeUniqueAndSort (std::ranges::random_access_range auto &r) |
| Sorts and removes duplicate elements from a random access range.*. More...
|
|
template<typename T > |
auto | appendUnique (std::ranges::random_access_range auto &r, T &&v) |
| Appends a value to the range if it is not already present. More...
|
|
template<class C > |
void | printContent (C &&c, std::ostream &os=std::cout) |
| Prints the contents of a container to the specified output stream. More...
|
|
template<class C > |
auto | transformValueRangeToPointerRange (C &cont) |
| Transforms a value range to a pointer range. More...
|
|
template<class C > |
auto | transformPointerRangeToReferenceRange (C &cont) |
| Transforms a pointer range to a reference range. More...
|
|
template<typename Tuple , typename Predicate > |
constexpr size_t | find_if (Tuple &&tuple, Predicate pred) |
| Finds the index of the first element in the tuple satisfying a predicate. More...
|
|
template<typename Tuple , typename Predicate > |
bool | none_of (Tuple &&tuple, Predicate pred) |
| Checks if none of the elements in the tuple satisfy a given predicate. More...
|
|
template<typename Tuple , typename Predicate > |
bool | any_of (Tuple &&tuple, Predicate pred) |
| Checks if any of the elements in the tuple satisfy a given predicate. More...
|
|
template<typename Tuple , typename Predicate > |
auto | filter (Tuple &&tuple, Predicate pred) |
| Filters the elements of a tuple based on a given predicate. More...
|
|
template<typename... Types> |
constexpr auto | unique (std::tuple< Types... > &&tuple) |
| Creates a tuple with unique types from the given tuple. More...
|
|
template<typename Tuple , typename Predicate > |
constexpr size_t | count_if (Tuple &&tuple, Predicate pred) |
| Counts the number of elements in the tuple satisfying the given predicate. More...
|
|
template<template< auto... > class Type, typename Tuple > |
constexpr int | findTypeSpecialization () |
| Finds the index of the first element in the tuple that is a specialization of the given template type. More...
|
|
template<template< auto... > class Type, typename Tuple > |
auto | getSpecialization (Tuple &&tuple) |
| Gets the specialization of the given template type from the tuple. More...
|
|
template<template< auto... > class Type, typename Tuple > |
constexpr bool | hasTypeSpecialization () |
| Checks if a tuple has a specialization of a template type. More...
|
|
template<template< auto... > class Type, typename Tuple > |
constexpr bool | countTypeSpecialization () |
| Counts the occurrences of a specialization of a template type in a tuple. More...
|
|
template<int N, class Tuple > |
constexpr auto | makeTupleSubset (Tuple &&t) |
| Creates a subset tuple with the first N elements from the given tuple. More...
|
|
template<class Tuple , std::size_t... I> |
constexpr auto | makeTupleFromTupleIndices (Tuple &&t) |
| Creates a new tuple using indices from the original tuple. More...
|
|
template<typename... Types> |
auto | makeNestedTupleFlat (std::tuple< Types... >) |
| Creates a flattened nested tuple. More...
|
|
template<typename Tuple > |
auto | makeNestedTupleFlatAndStoreReferences (Tuple &&tup) |
| Creates a flattened nested tuple and stores references. More...
|
|
template<typename T >
requires traits::Pointer<T> |
auto & | returnReferenceOrNulloptIfObjectIsNullPtr (T v) |
| Returns a reference or std::nullopt if the object is a nullptr. More...
|
|
template<typename Fun , typename... Vars, typename... Args, typename U , typename G , typename H > |
void | hessianN (const Fun &f, const autodiff::Wrt< Vars... > &wrt, const autodiff::At< Args... > &at, U &u, std::array< G, U::RowsAtCompileTime > &g, std::array< H, U::RowsAtCompileTime > &h) |
| Computes the Hessian matrix for each parameter of a given function.The Hessian matrix represents the second-order partial derivatives of the function with respect to the specified variables. More...
|
|
std::tuple< Dune::Functions::Polynomial< double >, decltype(Eigen::seq(0, 0))> | findLineSegment (const Eigen::VectorXd &x, const Eigen::VectorXd &y, int segmentSize) |
| Find a linear segment in a set of data points. More...
|
|
template<int size, typename LV > |
void | obtainLagrangeGlobalNodePositions (const LV &localView, std::vector< Dune::FieldVector< double, size > > &lagrangeNodeGlobalCoords) |
| A function to obtain the global positions of the nodes of an element with Lagrangian basis. More...
|
|
template<int size, typename Basis > |
auto | globalIndexFromGlobalPosition (const Basis &basis, const Dune::FieldVector< double, size > &pos) |
| A helper function to obtain the global index from the global positions for a Lagrange node. More...
|
|
template<typename FE > |
auto | referenceElementSubEntityPositions (FE &fe, int codim) |
| A function to obtain the local coordinates of subentities of an FiniteElement. More...
|
|
template<typename FE > |
auto | referenceElementVertexPositions (FE &fe) |
| A function to obtain the local coordinates the vertices of an FiniteElement. More...
|
|
template<typename NonlinearOperator , typename UpdateType = typename NonlinearOperator::template ParameterValue<0>> |
bool | checkGradient (NonlinearOperator &nonLinOp, CheckFlags checkFlags=CheckFlags(), std::function< void(typename NonlinearOperator::template ParameterValue< 0 > &, const UpdateType &)> p_updateFunction=[](typename NonlinearOperator::template ParameterValue< 0 > &a, const UpdateType &b) { a+=b;}) |
| Checks the gradient of a nonlinear operator. More...
|
|
template<typename NonlinearOperator , typename UpdateType = typename NonlinearOperator::template ParameterValue<0>> |
bool | checkJacobian (NonlinearOperator &nonLinOp, CheckFlags checkFlags=CheckFlags(), std::function< void(typename NonlinearOperator::template ParameterValue< 0 > &, const UpdateType &)> p_updateFunction=[](typename NonlinearOperator::template ParameterValue< 0 > &a, const UpdateType &b) { a+=b;}) |
| Checks the Jacobian of a nonlinear operator. More...
|
|
template<typename NonlinearOperator , typename UpdateType = typename NonlinearOperator::template ParameterValue<0>> |
bool | checkHessian (NonlinearOperator &nonLinOp, CheckFlags checkFlags=CheckFlags(), std::function< void(typename NonlinearOperator::template ParameterValue< 0 > &, const UpdateType &)> p_updateFunction=[](typename NonlinearOperator::template ParameterValue< 0 > &a, const UpdateType &b) { a+=b;}) |
| Checks the Hessian of a nonlinear operator. More...
|
|
std::tuple< Dune::Functions::Polynomial< double >, double > | polyfit (const Eigen::Ref< const Eigen::VectorXd > &x, const Eigen::Ref< const Eigen::VectorXd > &y, int deg) |
| Fits a polynomial of a given degree to the given data points. More...
|
|
template<class T , class TreePath , class PowerFunc , class LeafFunc > |
void | forEachLeafOrPowerLeafNode (T &&tree, TreePath &&treePath, PowerFunc &&powerFunc, LeafFunc &&leafFunc) |
| A function which loops over all the nodes of a tree and performs different actions for a power node (with leaf node as child) and a leaf node depending on the corresponding functor passed. More...
|
|
template<typename LV , typename F , int size = LV::Element::Geometry::coorddimension>
requires (std::convertible_to<F, std::function<bool(int, Dune::FieldVector<double, size> &&)>>) |
void | forEachLagrangeNodePosition (const LV &localView, F &&f) |
| A helper function that helps in traversing over the local coordinates of an element and call a user-desired function. More...
|
|