Several concepts. More...
#include <concepts>#include <type_traits>#include <utility>#include <vector>#include <dune/functions/functionspacebases/basistags.hh>#include <dune/functions/functionspacebases/lagrangebasis.hh>#include <Eigen/Dense>#include <Eigen/Sparse>#include <autodiff/forward/dual/dual.hpp>#include <ikarus/assembler/dirichletbcenforcement.hh>#include <ikarus/finiteelements/mechanics/materials/tags.hh>#include <ikarus/utils/traits.hh>Go to the source code of this file.
Namespaces | |
| namespace | Eigen |
| namespace | Ikarus |
| namespace | Ikarus::Concepts |
| namespace | Ikarus::Concepts::Formulations |
| namespace | Ikarus::traits |
Concepts | |
| concept | Ikarus::Concepts::EigenType |
| Concept to check if a type is derived from Eigen::MatrixBase. | |
| concept | Ikarus::Concepts::FlatInterLeavedBasis |
| Concept to check if a basis uses FlatInterleaved indexing strategy. | |
| concept | Ikarus::Concepts::LagrangeNode |
| Concept to check if a node in a basis tree is a Lagrangian node. | |
| concept | Ikarus::Concepts::LagrangeNodeOfOrder |
| concept | Ikarus::Concepts::FlatLexicographicBasis |
| Concept to check if a basis uses FlatLexicographic indexing strategy. | |
| concept | Ikarus::Concepts::FlatIndexBasis |
| Concept to check if a basis uses FlatIndex indexing strategy. | |
| concept | Ikarus::Concepts::BlockedInterLeavedBasis |
| Concept to check if a basis uses BlockedInterleaved indexing strategy. | |
| concept | Ikarus::Concepts::BlockedLexicographicBasis |
| Concept to check if a basis uses BlockedLexicographic indexing strategy. | |
| concept | Ikarus::Concepts::DuneLocalBasis |
| Concept to check if a local basis is a duneLocalBasis. | |
| concept | Ikarus::Concepts::BlockedIndexBasis |
| Concept to check if a basis uses either BlockedLexicographic or BlockedInterleaved indexing strategy. | |
| concept | Ikarus::Concepts::PathFollowingStrategy |
| Concept defining the requirements for a path-following strategy. | |
| concept | Ikarus::Concepts::AdaptiveStepSizingStrategy |
| Concept to check if a type implements all the needed functions to be an adaptive step sizing method. | |
| concept | Ikarus::Concepts::LinearSolverCheck |
| Concept to check if a linear solver implements all the needed functions for given vector and matrix types. | |
| concept | Ikarus::Concepts::NonLinearSolverCheckForPathFollowing |
| Concept to check if a non-linear solver with its non-linear operator satisfies requirements for path following. | |
| concept | Ikarus::Concepts::MultiplyAble |
| Concept defining the requirements for types that support multiplication. | |
| concept | Ikarus::Concepts::AddAble |
| Concept defining the requirements for types that support addition. | |
| concept | Ikarus::Concepts::SubstractAble |
| Concept defining the requirements for types that support subtraction. | |
| concept | Ikarus::Concepts::MultiplyAssignAble |
| Concept defining the requirements for types that support in-place multiplication. | |
| concept | Ikarus::Concepts::DivideAssignAble |
| Concept defining the requirements for types that support in-place division. | |
| concept | Ikarus::Concepts::AddAssignAble |
| Concept defining the requirements for types that support in-place addition. | |
| concept | Ikarus::Concepts::SubstractAssignAble |
| Concept defining the requirements for types that support in-place subtraction. | |
| concept | Ikarus::Concepts::DivideAble |
| Concept defining the requirements for types that support division. | |
| concept | Ikarus::Concepts::NegateAble |
| Concept defining the requirements for types that support negation. | |
| concept | Ikarus::Concepts::TransposeAble |
| Concept defining the requirements for types that support transposition. | |
| concept | Ikarus::Concepts::IsFunctorWithArgs |
| Concept defining the requirements for functors with arguments. | |
| concept | Ikarus::Concepts::EigenVector |
| Concept defining the requirements for Eigen vectors. | |
| concept | Ikarus::Concepts::EigenMatrix |
| Concept defining the requirements for Eigen matrices. This also includes Eigen vectors. | |
| concept | Ikarus::Concepts::SparseEigenMatrix |
| Concept defining the requirements for sparse Eigen matrices. | |
| concept | Ikarus::Concepts::DenseOrSparseEigenMatrix |
| Concept defining the requirements for sparse or dense Eigen matrices. | |
| concept | Ikarus::Concepts::IsMaterial |
| Concept defining the requirements for a material type. | |
| concept | Ikarus::Concepts::ResultType |
| A concept to check if a template type satisfies the ResultType requirements. | |
| concept | Ikarus::Concepts::FlatAssembler |
| Concept representing the requirements for a FlatAssembler.A type T satisfies FlatAssembler if it provides the necessary member functions and data types for assembling sparse matrices in a flat structure. | |
| concept | Ikarus::Concepts::ScalarFlatAssembler |
| Concept representing the requirements for a ScalarFlatAssembler.A type T satisfies ScalarFlatAssembler if it is a FlatAssembler and if it provides the necessary scalar() member functions. | |
| concept | Ikarus::Concepts::VectorFlatAssembler |
| Concept representing the requirements for a VectorFlatAssembler.A type T satisfies VectorFlatAssembler if it is a ScalarFlatAssembler and if it provides the necessary vector() member functions. | |
| concept | Ikarus::Concepts::MatrixFlatAssembler |
| Concept representing the requirements for a MatrixFlatAssembler.A type T satisfies MatrixFlatAssembler if it is a VectorFlatAssembler and if it provides the necessary matrix() member functions. | |
| concept | Ikarus::Concepts::DataCollector |
| concept | Ikarus::Concepts::GridView |
| concept | Ikarus::Concepts::AutodiffScalar |
| Concept to check if the underlying scalar type is a dual type. | |
| concept | Ikarus::Concepts::SmartPointer |
| Concept to check if the type is either a unique_ptr or a shared_ptr. | |
| concept | Ikarus::Concepts::PointerOrSmartPointer |
| concept | Ikarus::Concepts::ControlRoutineState |
| Concept to check if a type represents a control routine state. | |
| concept | Ikarus::Concepts::NonLinearSolverState |
| Concept to check if a type represents a nonlinear solver state. | |
| concept | Ikarus::Concepts::ReferenceConfiguraionStrain |
| Returns true if a given straintag is related only to the reference configuration. | |
| concept | Ikarus::Concepts::ReferenceConfiguraionStress |
| Returns true if a given stresstag is related only to the reference configuration. | |
| concept | Ikarus::Concepts::Formulations::TotalLagrangian |
| Concept to check if the underlying strain and stress tag correspond to a total Lagrangian formulation. | |
| concept | Ikarus::Concepts::Formulations::TwoPoint |
| Concept to check if the underlying strain and stress tag correspond to a two point formulation. | |
| concept | Ikarus::Concepts::Material |
| Concept representing a material interface. | |
| concept | Ikarus::Concepts::GeometricallyLinearMaterial |
| Concepts defining the requirements for a material to be geometrically linear This is the case when the corresponding strainTag is linear. | |
| concept | Ikarus::Concepts::EigenValueSolver |
| Concept representing an eigenvalue solver interface. | |
Macros | |
| #define | MAKE_EIGEN_FIXED_VECTOR_CONCEPT(Size) |
| #define | MAKE_EIGEN_FIXED_MATRIX_CONCEPT(Size1, Size2) |
| #define | MAKE_EIGEN_FIXED_MATRIX_OR_VOIGT_CONCEPT(Size1, Size2) |
Typedefs | |
| template<typename T > | |
| using | Ikarus::traits::MaybeDereferencedType = typename MaybeDereference< T >::type |
Functions | |
| template<typename Derived > | |
| auto | Ikarus::transpose (const Eigen::EigenBase< Derived > &A) |
| #define MAKE_EIGEN_FIXED_MATRIX_CONCEPT | ( | Size1, | |
| Size2 | |||
| ) |
| #define MAKE_EIGEN_FIXED_MATRIX_OR_VOIGT_CONCEPT | ( | Size1, | |
| Size2 | |||
| ) |
| #define MAKE_EIGEN_FIXED_VECTOR_CONCEPT | ( | Size | ) |