|
struct | AffordanceCollection |
| Struct representing a collection of affordances. More...
|
|
struct | AlgoInfo |
| Additional information about the TrustRegion algorithm. More...
|
|
struct | ArcLength |
| Structure representing the subsidiary function for the standard arc-length method. More...
|
|
class | AssemblerManipulator |
| The AssemblerManipulator defines a decorator for the assemblers that helps to manipulate the assembled quantities. More...
|
|
class | AssemblerManipulator< A, ScalarAss > |
|
class | AssemblerManipulator< A, ScalarAss, VectorAss > |
|
class | AssemblerManipulator< A, ScalarAss, VectorAss, MatrixAss > |
|
class | AutoDiffFE |
| AutoDiffFE class, an automatic differentiation wrapper for finite elements. More...
|
|
class | BasisHandler |
| Wrapper class for a hierarchical basis constructed from a pre-basis. More...
|
|
struct | BulkModulusAndLamesFirstParameter |
| Structure representing Lame's first parameter and shear modulus. More...
|
|
struct | ControlInformation |
| Structure containing information about the control results. More...
|
|
class | ControlLogger |
| ControlLogger class for logging control messages. More...
|
|
class | ControlSubsamplingVertexVTKWriter |
| ControlSubsamplingVertexVTKWriter class for writing VTK files with subsampling based on control messages. More...
|
|
struct | ConvertLameConstants |
| Conversion utility for Lame's constants. More...
|
|
struct | DefaultMembraneStrain |
|
class | DenseFlatAssembler |
| DenseFlatAssembler assembles matrix quantities using a flat basis Indexing strategy. The matrix is stored in a dense matrix format. This format is exploited during the assembly process. More...
|
|
struct | DeriveSizeType |
| A helper struct to derive the SizeType of the underlying container. More...
|
|
struct | DeriveSizeType< std::vector< bool > > |
|
struct | DeriveSizeType< T > |
|
class | DirichletValues |
| Class for handling Dirichlet boundary conditions in Ikarus. More...
|
|
struct | DisplacementControl |
| Structure representing the subsidiary function for the displacement control method. More...
|
|
class | EnhancedAssumedStrains |
| Wrapper class for using Enhanced Assumed Strains (EAS) with displacement based elements. More...
|
|
struct | EnhancedAssumedStrainsPre |
| A PreFE struct for Enhanced Assumed Strains. More...
|
|
class | FE |
| FE class is a base class for all finite elements. More...
|
|
struct | FEFactory |
| FEFactory is a convenient wrapper to forward arguments to PreFE and create and construct a factory of finite elements. More...
|
|
struct | FEMixin |
| CRTP mixin class for finite elements with additional skills. More...
|
|
class | FERequirements |
| Class representing the requirements for finite element calculations. More...
|
|
struct | FERequirementsFactory |
|
struct | FETraits |
| Traits for handling finite elements. More...
|
|
class | FlatAssemblerBase |
| The FlatAssemblerBase takes care of common subtasks done by flat assemblers. More...
|
|
struct | FlatIndexMergingStrategy |
| Define the flat index-merging strategy for a given strategy IMS More...
|
|
struct | FlatIndexMergingStrategy< Dune::Functions::BasisFactory::BlockedInterleaved > |
|
struct | FlatIndexMergingStrategy< Dune::Functions::BasisFactory::BlockedLexicographic > |
|
struct | FlatPreBasis |
| Transform a PreBasis into one with flat index-merging strategyThis utility takes a pre-basis and converts recursively all index-merging strategies into their flat analog, i.e. BlockedInterleaved is converted into FlatInterleaved and BlockedLexicographic is transformed into FlatLexicographic . More...
|
|
struct | FlatPreBasis< Dune::Functions::CompositePreBasis< IMS, SPB... > > |
|
struct | FlatPreBasis< Dune::Functions::PowerPreBasis< IMS, SPB, C > > |
|
class | GenericObserver |
| GenericObserver class for observing specific messages. More...
|
|
class | IkarusInstance |
| Singleton class representing an instance of the Ikarus framework. More...
|
|
class | IObservable |
| Generic observable interface for the Observer design pattern. See [3] for a description of the design pattern. More...
|
|
class | IObserver |
| Generic observer interface for the Observer design pattern. See [3] for a description of the design pattern. More...
|
|
class | KirchhoffLoveShell |
| Kirchhoff-Love shell finite element class. More...
|
|
struct | KirchhoffLoveShellPre |
| A PreFE struct for Kirchhoff-Love shell elements. More...
|
|
struct | KlArgs |
| A struct containing information about the Youngs Modulus, Poisson's ratio and the thickness for the Kirchhoff-Love shell element. More...
|
|
struct | LamesFirstParameterAndShearModulus |
|
class | LinearElastic |
| LinearElastic class represents a linear elastic finite element. More...
|
|
struct | LinearElasticityT |
| Implementation of the Linear Elasticity material model.The energy is computed as. More...
|
|
struct | LinearElasticPre |
| A PreFE struct for linear elastic elements. More...
|
|
class | LinearSolverTemplate |
| A type-erased class which wraps most of the linear solvers available in Eigen. More...
|
|
class | LoadControl |
| The LoadControl control routine increases the last parameter of a nonlinear operator and calls a nonlinear solver.This class represents the LoadControl control routine. It increments the last parameter of a nonlinear operator and utilizes a nonlinear solver, such as Newton's method, to solve the resulting system at each step. More...
|
|
struct | LoadControlSubsidiaryFunction |
| Structure representing the subsidiary function for the load control method. More...
|
|
struct | Material |
| Interface classf or materials. More...
|
|
class | MatrixAssembler |
| The MatrixAssembler provides an interface for an assembler that assembles matrix quantities. More...
|
|
struct | MatrixManipulator |
| Base class for a wrapper to a matrix assembler. More...
|
|
struct | NeoHookeT |
| Implementation of the Neo-Hookean material model.The energy is computed as. More...
|
|
struct | NeumannBoundaryLoadPre |
| A PreFE struct for Neumann boundary load skill. More...
|
|
class | NewtonRaphson |
| Implementation of the Newton-Raphson method for solving nonlinear equations. More...
|
|
struct | NewtonRaphsonConfig |
| Config for the Newton-Raphson solver. More...
|
|
class | NewtonRaphsonWithSubsidiaryFunction |
| Newton-Raphson solver with subsidiary function. More...
|
|
struct | NewtonRaphsonWithSubsidiaryFunctionConfig |
| Settings for the Newton-Raphson solver with subsidiary function. More...
|
|
struct | NewtonRaphsonWithSubsidiaryFunctionSettings |
|
class | NonLinearElastic |
| NonLinearElastic class represents a non-linear elastic finite element. More...
|
|
struct | NonLinearElasticPre |
| A PreFE struct for non-linear elastic elements. More...
|
|
class | NonLinearOperator |
| Represents a NonLinearOperator class for handling nonlinear operators. More...
|
|
class | NonLinearOperator< Impl::Functions< DerivativeArgs... >, Impl::Parameter< ParameterArgs... > > |
| NonLinearOperator is a class taking linear algebra function and their arguments. The function are assumed to be derivatives of each other w.r.t. the first parameter.
|
|
struct | NonLinearOperatorFactory |
|
struct | NonlinearSolverFactory |
| A factory class for creating nonlinear solvers. More...
|
|
struct | NonLinearSolverInformation |
| Information about the result of a non-linear solver. More...
|
|
class | NonLinearSolverLogger |
| Implementation of an observer for logging non-linear solvers.This class inherits from the IObserver class and provides specific implementations for updating based on NonLinearSolverMessages. More...
|
|
struct | NRSettings |
|
class | PathFollowing |
| The PathFollowing control routine for path-following analysis. More...
|
|
struct | PreFE |
| PreFE struct acts as a convenient wrapper for the FE class to access different type traits. More...
|
|
class | ResultFunction |
| Wrapper to evaluate results for a vtkwriter. More...
|
|
struct | ResultTypeBase |
| Base class for element definitions that provides common functionality for ResultTypes. More...
|
|
struct | ResultWrapper |
| Container that is used for FE Results. It gives access to the stored value, but can also be used to access the result in Matrix and Vector form. More...
|
|
class | ScalarAssembler |
| The ScalarAssembler provides an interface for an assembler that assembles scalar quantities. More...
|
|
class | ScalarFlatAssembler |
| ScalarFlatAssembler assembles scalar quantities. More...
|
|
struct | ScalarManipulator |
| Base class for a wrapper to a scalar assembler. More...
|
|
struct | Skills |
| Struct representing a collection of skills. More...
|
|
class | SparseFlatAssembler |
| SparseFlatAssembler assembles matrix quantities using a flat basis Indexing strategy. The matrix is stored in a sparse matrix format. This format is exploited during the assembly process. More...
|
|
struct | Stats |
| Information about the TrustRegion solver. More...
|
|
struct | StVenantKirchhoffT |
| Implementation of the Saint Venant-Kirchhoff material model.The energy is computed as. More...
|
|
struct | SubsidiaryArgs |
| Structure containing arguments for subsidiary functions. More...
|
|
class | Traction |
| Traction class represents distributed traction load that can be applied. More...
|
|
struct | TRSettings |
|
class | Truss |
| Truss class represents a truss finite element. More...
|
|
struct | TrussPre |
| A PreFE struct for truss elements. More...
|
|
class | TrustRegion |
| Trust Region solver for non-linear optimization problems. More...
|
|
struct | TrustRegionConfig |
|
struct | VanishingStrain |
| VanishingStrain material model that enforces strain components to be zero. More...
|
|
struct | VanishingStress |
| VanishingStress material model that enforces stress components to be zero. More...
|
|
class | VectorAssembler |
| The VectorAssembler provides an interface for an assembler that assembles vector quantities. More...
|
|
class | VectorFlatAssembler |
| VectorFlatAssembler assembles vector quantities using a flat basis Indexing strategy. More...
|
|
struct | VectorManipulator |
| Base class for a wrapper to a vector assembler. More...
|
|
class | VolumeLoad |
| VolumeLoad class represents distributed volume load that can be applied. More...
|
|
struct | VolumeLoadPre |
| A PreFE struct for volume load skill. More...
|
|
struct | YoungsModulusAndBulkModulus |
| Structure representing Young's modulus and Lame's first parameter. More...
|
|
struct | YoungsModulusAndLamesFirstParameter |
| Structure representing bulk modulus and Lame's first parameter. More...
|
|
struct | YoungsModulusAndPoissonsRatio |
| see https://en.wikipedia.org/wiki/Lam%C3%A9_parameters Structure representing Young's modulus and shear modulus. More...
|
|
struct | YoungsModulusAndShearModulus |
| Structure representing Young's modulus and bulk modulus. More...
|
|
|
template<typename A > |
auto | makeAssemblerManipulator (A &&a) |
| Creates an AssemblerManipulator instance based on the type of the provided assembler. More...
|
|
constexpr std::string | toString (DBCOption _e) |
|
template<typename FEC , typename DV > |
auto | makeSparseFlatAssembler (FEC &&fes, const DV &dirichletValues) |
|
template<typename FEC , typename DV > |
auto | makeDenseFlatAssembler (FEC &&fes, const DV &dirichletValues) |
|
template<bool useFlat = true, bool useEigenRef = false, typename BH , typename SK > |
auto | makeFE (const BH &basisHandler, const SK &sk) |
| A function to create a finite element using the flat version of the basis. More...
|
|
template<bool useEigenRef = false, typename BH , typename SK > |
auto | makeFEWithUnTouchedBasis (const BH &basisHandler, SK &&sk) |
| A function to create a finite element using the untouched version of the basis. More...
|
|
constexpr std::string | toString (ScalarAffordance _e) |
|
constexpr std::string | toString (VectorAffordance _e) |
|
constexpr std::string | toString (MatrixAffordance _e) |
|
constexpr std::string | toString (FEParameter _e) |
|
constexpr std::string | toString (FESolutions _e) |
|
auto | vectorAffordance (MatrixAffordance affordanceM) |
|
auto | scalarAffordance (MatrixAffordance affordanceM) |
|
auto | scalarAffordance (VectorAffordance affordanceV) |
|
template<template< typename, int, int > class RT> |
auto | makeRT () |
| Creates a dummy resultType which can be stored in a variable. More...
|
|
template<template< typename, int, int > class RT> |
auto | toString () |
| Retrieves a string representation of the ResultType template. More...
|
|
auto | eas (int numberOfEASParameters=0) |
| A helper function to create an enhanced assumed strain pre finite element. More...
|
|
auto | kirchhoffLoveShell (const KlArgs &args) |
| A helper function to create a Kirchhoff-Love shell pre finite element. More...
|
|
template<typename MAT > |
auto | linearElastic (const MAT &mat) |
| A helper function to create a linear elastic pre finite element. More...
|
|
template<typename GV , typename F > |
auto | neumannBoundaryLoad (const BoundaryPatch< GV > *patch, F &&load) |
| A helper function to create a Neumann boundary load skill. More...
|
|
template<class F > |
| VolumeLoadPre (F f) -> VolumeLoadPre< traits::FunctionTraits< F >::return_type::RowsAtCompileTime > |
|
template<int worldDim> |
auto | volumeLoad (const std::function< Eigen::Vector< double, worldDim >(const Dune::FieldVector< double, worldDim > &, const double &)> &f) |
| A helper function to create a volume load skill. More...
|
|
template<typename F > |
auto | volumeLoad (F &&f) |
| A helper function to create a volume load skill. More...
|
|
template<typename MAT , typename S > |
consteval bool | hasCorrectSize () |
| Template function for checking if the strain size is correct. More...
|
|
template<StrainTags tag, typename Derived > |
auto | createGreenLagrangianStrains (const Eigen::MatrixBase< Derived > &eMB) |
| Create Green-Lagrangian strain based on the input. More...
|
|
template<StrainTags tag, typename Derived > |
decltype(auto) | createDeformationGradient (const Eigen::MatrixBase< Derived > &eMB) |
| Create the deformation gradient based on the input. More...
|
|
template<StrainTags tag, typename Derived > |
decltype(auto) | createRightCauchyGreen (const Eigen::MatrixBase< Derived > &eMB) |
| Create right Cauchy-Green tensor based on the input. More...
|
|
template<StrainTags from, StrainTags to, typename Derived > |
decltype(auto) | transformStrain (const Eigen::MatrixBase< Derived > &eRaw) |
| Transform strain from one type to another. More...
|
|
constexpr std::string | toString (StrainTags _e) |
|
constexpr std::string | toString (StressTags _e) |
|
constexpr std::string | toString (TangentModuliTags _e) |
|
template<Impl::MatrixIndexPair... stressIndexPair, typename MaterialImpl > |
auto | makeVanishingStrain (MaterialImpl mat) |
| Factory function to create a VanishingStrain material with specified strain indices. More...
|
|
template<typename MaterialImpl > |
auto | planeStrain (const MaterialImpl &mat) |
| Factory function to create a VanishingStrain material for plane strain conditions. More...
|
|
template<Impl::MatrixIndexPair... stressIndexPair, typename MaterialImpl > |
auto | makeVanishingStress (MaterialImpl mat, typename MaterialImpl::ScalarType p_tol=1e-12) |
| Factory function to create a VanishingStress material with specified stress indices. More...
|
|
template<typename MaterialImpl > |
auto | planeStress (const MaterialImpl &mat, typename MaterialImpl::ScalarType tol=1e-8) |
| Factory function to create a VanishingStress material for plane stress conditions. More...
|
|
template<typename MaterialImpl > |
auto | shellMaterial (const MaterialImpl &mat, typename MaterialImpl::ScalarType tol=1e-8) |
| Factory function to create a VanishingStress material for a shell material with zero normal stress condition. More...
|
|
template<typename MaterialImpl > |
auto | beamMaterial (const MaterialImpl &mat, typename MaterialImpl::ScalarType tol=1e-8) |
| Factory function to create a VanishingStress material for a beam material with two zero normal stress condition. More...
|
|
template<typename MAT > |
auto | nonLinearElastic (const MAT &mat) |
| A helper function to create a non-linear elastic pre finite element. More...
|
|
auto | truss (const double E, const double A) |
| A helper function to create a truss pre finite element. More...
|
|
template<typename... Args> |
auto | skills (const Args &... args) |
| Function to create a Skills instance with the given skills. More...
|
|
template<typename... Args1, typename... Args2> |
auto | merge (const Skills< Args1... > &sk1, const Skills< Args2... > &sk2) |
| Function to merge two Skills instances. More...
|
|
ConvertLameConstants< YoungsModulusAndPoissonsRatio > | convertLameConstants (const YoungsModulusAndPoissonsRatio &valuePair) |
|
ConvertLameConstants< YoungsModulusAndShearModulus > | convertLameConstants (const YoungsModulusAndShearModulus &valuePair) |
|
ConvertLameConstants< YoungsModulusAndBulkModulus > | convertLameConstants (const YoungsModulusAndBulkModulus &valuePair) |
|
ConvertLameConstants< LamesFirstParameterAndShearModulus > | convertLameConstants (const LamesFirstParameterAndShearModulus &valuePair) |
|
ConvertLameConstants< BulkModulusAndLamesFirstParameter > | convertLameConstants (const BulkModulusAndLamesFirstParameter &valuePair) |
|
ConvertLameConstants< YoungsModulusAndLamesFirstParameter > | convertLameConstants (const YoungsModulusAndLamesFirstParameter &valuePair) |
|
auto | toLamesFirstParameterAndShearModulus (const YoungsModulusAndPoissonsRatio &matParameter) |
| Converts Young's modulus and Poisson's ratio to Lame's first parameter and shear modulus. More...
|
|
auto | toYoungsModulusAndPoissonsRatio (const LamesFirstParameterAndShearModulus &matParameter) |
| Converts Lame's first parameter and shear modulus to Young's modulus and Poisson's ratio. More...
|
|
template<template< typename, int, int > class RT, typename UserFunction = Impl::DefaultUserFunction, typename AS > |
auto | makeResultFunction (std::shared_ptr< AS > assembler, Dune::VTK::Precision prec=Dune::VTK::Precision::float64) |
| Function to create a ResultFunction as a shared_ptr. More...
|
|
template<template< typename, int, int > class RT, typename UserFunction = Impl::DefaultUserFunction, typename AS > |
auto | makeResultVtkFunction (std::shared_ptr< AS > assembler) |
| Function to create a ResultFunction as a gridfunction that can be used with dune-vtk. More...
|
|
constexpr std::string | toString (SolverTypeTag _e) |
|
template<typename NLO , typename NRConfig >
requires traits::isSpecialization<NewtonRaphsonConfig, std::remove_cvref_t<NRConfig>> |
::value auto | createNonlinearSolver (NRConfig &&config, NLO &&nonLinearOperator) |
| Function to create a NewtonRaphson solver instance. More...
|
|
template<typename NLO , typename LS = utils::SolverDefault, typename UF = utils::UpdateDefault> |
auto | makeNewtonRaphson (const NLO &nonLinearOperator, LS &&linearSolver={}, UF &&updateFunction={}) |
| Function to create a NewtonRaphson solver instance. More...
|
|
template<typename NLO , typename LS = utils::SolverDefault, typename UF = utils::UpdateDefault> |
| NewtonRaphson (const NLO &nonLinearOperator, LS &&linearSolver={}, UF &&updateFunction={}) -> NewtonRaphson< NLO, std::remove_cvref_t< LS >, std::remove_cvref_t< UF > > |
|
template<typename NLO , typename NRConfig >
requires traits::isSpecialization<NewtonRaphsonWithSubsidiaryFunctionConfig, std::remove_cvref_t<NRConfig>> |
::value auto | createNonlinearSolver (NRConfig &&config, NLO &&nonLinearOperator) |
| Function to create a NewtonRaphson with subsidiary function solver instance. More...
|
|
template<typename NLO , typename LS = utils::SolverDefault, typename UF = utils::UpdateDefault> |
auto | makeNewtonRaphsonWithSubsidiaryFunction (const NLO &nonLinearOperator, LS &&linearSolver={}, UF &&updateFunction={}) |
| Function to create a NewtonRaphson with subsidiary function solver instance. More...
|
|
template<typename NLO , typename LS = utils::SolverDefault, typename UF = utils::UpdateDefault> |
| NewtonRaphsonWithSubsidiaryFunction (const NLO &nonLinearOperator, LS &&linearSolver={}, UF &&updateFunction={}) -> NewtonRaphsonWithSubsidiaryFunction< NLO, std::remove_cvref_t< LS >, std::remove_cvref_t< UF > > |
|
template<typename NLO , typename TRConfig >
requires traits::isSpecializationNonTypeAndTypes<TrustRegionConfig, std::remove_cvref_t<TRConfig>> |
::value auto | createNonlinearSolver (TRConfig &&config, NLO &&nonLinearOperator) |
| Function to create a trust region non-linear solver. More...
|
|
template<typename NLO , PreConditioner preConditioner = PreConditioner::IncompleteCholesky, typename UF = utils::UpdateDefault> |
auto | makeTrustRegion (const NLO &nonLinearOperator, UF &&updateFunction={}) |
| Creates an instance of the TrustRegion solver. More...
|
|
template<typename NLO , PreConditioner preConditioner = PreConditioner::IncompleteCholesky, typename UF2 = utils::UpdateDefault> |
| TrustRegion (const NLO &nonLinearOperator, UF2 &&updateFunction={}) -> TrustRegion< NLO, preConditioner, std::remove_cvref_t< UF2 > > |
|
template<typename GV , typename PBF > |
auto | makeBasis (const GV &gv, const PBF &pb) |
| Factory function to create a Basis object. More...
|
|
template<typename PB > |
auto | makeBasis (const Dune::Functions::DefaultGlobalBasis< PB > &gb) |
| Factory function to create a Basis object from a DefaultGlobalBasis. More...
|
|
template<typename Derived > |
auto | transpose (const Eigen::EigenBase< Derived > &A) |
|
template<typename ST , int size> |
Dune::FieldVector< ST, size > | toDune (const Eigen::Vector< ST, size > &vec) |
| Create Eigen::Vector to Dune::FieldVector. More...
|
|
template<typename ST , int rows> |
Dune::FieldVector< ST, rows > | toDune (const Eigen::Matrix< ST, rows, 0 > &vec) |
| Convert Eigen::Matrix to Dune::FieldVector. More...
|
|
template<typename ST , int rows, int cols> |
Dune::FieldMatrix< ST, rows, cols > | toDune (const Eigen::Matrix< ST, rows, cols > &mat) |
| Convert Eigen::Matrix to Dune::FieldMatrix. More...
|
|
template<typename ST , int size> |
Eigen::Map< const Eigen::Vector< ST, size > > | toEigenMap (const Dune::FieldVector< ST, size > &vec) |
| View a Dune::FieldVector as an Eigen::Vector using Map, no copies take place. More...
|
|
template<typename ST , int size> |
Eigen::Map< Eigen::Vector< ST, size > > | toEigenMap (Dune::FieldVector< ST, size > &vec) |
| View a constant Dune::FieldVector as a constant Eigen::Vector, no copies take place. More...
|
|
template<class PreBasis > |
decltype(auto) | flatPreBasis (const PreBasis &preBasis) |
| Generator function for a flatted PreBasis. More...
|
|
void | init (int argc, char **argv, bool enableFileLogger=true) |
| Initializes the Ikarus framework. More...
|
|
template<typename Derived > |
auto | orthonormalizeMatrixColumns (const Eigen::MatrixBase< Derived > &A) |
| Orthonormalizes all Matrix columns using Gram-Schmidt Orthogonalization. More...
|
|
template<typename ValueType > |
auto | viewAsFlatEigenVector (Dune::BlockVector< ValueType > &blockedVector) |
| View Dune::BlockVector as an Eigen::Vector. More...
|
|
template<typename ValueType > |
auto | viewAsFlatEigenVector (const Dune::BlockVector< ValueType > &blockedVector) |
| View const Dune::BlockVector as an Eigen::Vector. More...
|
|
template<typename ValueType > |
auto | viewAsEigenMatrixAsDynFixed (Dune::BlockVector< ValueType > &blockedVector) |
| View Dune::BlockVector as an Eigen::Matrix with dynamic rows and fixed columns depending on the size of the ValueType. More...
|
|
template<typename ValueType > |
auto | viewAsEigenMatrixAsDynFixed (const Dune::BlockVector< ValueType > &blockedVector) |
| Const view Dune::BlockVector as an Eigen::Matrix with dynamic rows and fixed columns depending on the size of the ValueType. More...
|
|
template<typename ValueType > |
auto | viewAsEigenMatrixFixedDyn (Dune::BlockVector< ValueType > &blockedVector) |
| View Dune::BlockVector as an Eigen::Matrix with fixed rows depending on the size of the ValueType and dynamic columns. More...
|
|
template<typename ValueType > |
auto | viewAsEigenMatrixFixedDyn (const Dune::BlockVector< ValueType > &blockedVector) |
| Const view Dune::BlockVector as an Eigen::Matrix with fixed rows depending on the size of the ValueType and dynamic columns. More...
|
|
template<typename Type >
requires requires { Type::correctionSize; } |
size_t | correctionSize (const Dune::BlockVector< Type > &a) |
| Returns the total correction size of a block vector with a Manifold as the underlying type. More...
|
|
template<typename Type >
requires requires { Type::valueSize; } |
size_t | valueSize (const Dune::BlockVector< Type > &a) |
| Returns the total value size of a block vector with a Manifold as the underlying type. More...
|
|
template<typename Type , typename Derived >
requires (Ikarus::Concepts::AddAssignAble<Type, decltype(b.template segment<Type::correctionSize>(0))> and requires() { Type::correctionSize; }) |
Dune::BlockVector< Type > & | operator+= (Dune::BlockVector< Type > &a, const Eigen::MatrixBase< Derived > &b) |
| Enables the += operator for Dune::BlockVector += Eigen::Vector. More...
|
|
template<typename Type , typename Derived >
requires (Ikarus::Concepts::AddAssignAble<Type, decltype(b.template segment<Type::correctionSize>(0))> and requires() { Type::correctionSize; }) |
Dune::BlockVector< Type > & | operator-= (Dune::BlockVector< Type > &a, const Eigen::MatrixBase< Derived > &b) |
| Enables the -= operator for Dune::BlockVector += Eigen::Vector. More...
|
|
template<typename... Types, typename Derived > |
Dune::TupleVector< Types... > & | operator+= (Dune::TupleVector< Types... > &a, const Eigen::MatrixBase< Derived > &b) |
| Enables the += operator for Dune::TupleVector += Eigen::Vector. More...
|
|
template<typename ManifoldPoint , typename Derived >
requires (Ikarus::Concepts::AddAssignAble<ManifoldPoint, decltype(b.template segment<ManifoldPoint::valueSize>(0))> and requires() { ManifoldPoint::valueSize; }) |
Dune::BlockVector< ManifoldPoint > & | addInEmbedding (Dune::BlockVector< ManifoldPoint > &a, const Eigen::MatrixBase< Derived > &b) |
| Enables the addition in the embedding space of a vector in the space M^n, where M is a manifold with the points of type ManifoldPoint. More...
|
|
template<typename Derived >
requires (!std::floating_point<Derived>) |
auto | norm (const Eigen::MatrixBase< Derived > &v) |
| Adding free norm function to Eigen types. More...
|
|
auto | norm (const std::floating_point auto &v) |
| Helper Free Function to have the same interface as for Eigen Vector Types. More...
|
|
template<typename Scalar , int size> |
auto | operator* (const Eigen::DiagonalMatrix< Scalar, size > &a, const Eigen::DiagonalMatrix< Scalar, size > &b) |
| Eigen::DiagonalMatrix Product Missing in Eigen. More...
|
|
template<typename Scalar , int size> |
auto | operator+= (Eigen::DiagonalMatrix< Scalar, size > &a, const Eigen::DiagonalMatrix< Scalar, size > &b) |
| In-place addition for Eigen::DiagonalMatrix. More...
|
|
template<typename Derived , typename Scalar , int size> |
auto | operator+ (const Eigen::MatrixBase< Derived > &a, const Eigen::DiagonalMatrix< Scalar, size > &b) |
| Eigen::Matrix + Eigen::DiagonalMatrix addition missing in Eigen. More...
|
|
template<typename Derived , typename Scalar , int size> |
auto | operator+ (const Eigen::DiagonalMatrix< Scalar, size > &a, const Eigen::MatrixBase< Derived > &b) |
| Eigen::DiagonalMatrix + Eigen::Matrix addition missing in Eigen. More...
|
|
template<typename Scalar , int size> |
auto | operator- (const Eigen::DiagonalMatrix< Scalar, size > &a) |
| Unary minus for Eigen::DiagonalMatrix. More...
|
|
template<typename Derived , typename Derived2 > |
auto | operator+ (const Eigen::MatrixBase< Derived > &a, const Eigen::DiagonalWrapper< Derived2 > &b) |
| Addition of Eigen::Matrix and Eigen::DiagonalWrapper. More...
|
|
template<typename Derived , typename Derived2 > |
auto | operator+ (const Eigen::DiagonalWrapper< Derived > &a, const Eigen::MatrixBase< Derived2 > &b) |
| Addition of Eigen::DiagonalWrapper and Eigen::Matrix. More...
|
|
template<typename Scalar , int size> |
std::ostream & | operator<< (std::ostream &os, const Eigen::DiagonalMatrix< Scalar, size > &a) |
| Output stream operator for Eigen::DiagonalMatrix. More...
|
|
template<typename Derived > |
Derived | sym (const Eigen::MatrixBase< Derived > &A) |
| Returns the symmetric part of a matrix. More...
|
|
template<typename Derived > |
Derived | skew (const Eigen::MatrixBase< Derived > &A) |
| Returns the skew part of a matrix. More...
|
|
template<typename Derived > |
void | printForMaple (const Eigen::EigenBase< Derived > &A) |
| Method to print the matrix in a format that can directly be copied to Maple. More...
|
|
template<typename FieldVectorT > |
auto | createRandomVector (typename FieldVectorT::value_type lower=-1, typename FieldVectorT::value_type upper=1) |
| Creates a random vector of the specified type within a given range. More...
|
|
template<typename ScalarType > |
Eigen::Matrix< ScalarType, 3, 3 > | skew (const Eigen::Vector< ScalarType, 3 > &a) |
| Create skew 3x3 matrix from 3d vector. More...
|
|
template<typename Derived , size_t sizeOfCondensedIndices> |
auto | staticCondensation (const Eigen::MatrixBase< Derived > &E, const std::array< size_t, sizeOfCondensedIndices > &indices) |
| Performs static condensation on a square matrix. More...
|
|
template<typename Derived , size_t sizeOfCondensedIndices> |
auto | reduceMatrix (const Eigen::MatrixBase< Derived > &E, const std::array< size_t, sizeOfCondensedIndices > &indices) |
|
template<typename Derived , size_t sizeOfRemovedCols> |
auto | removeCol (const Eigen::MatrixBase< Derived > &E, const std::array< size_t, sizeOfRemovedCols > &indices) |
| Removes specified columns from a matrix. More...
|
|
template<typename ST , typename MaterialImpl > |
auto | toVoigtAndMaybeReduce (const Eigen::Matrix< ST, 3, 3 > &E, const MaterialImpl &material, bool isStrain=true) |
| Converts a 3x3 matrix to Voigt notation, possibly reducing it based on material properties. More...
|
|
template<typename M , typename Derived > |
decltype(auto) | enlargeIfReduced (const Eigen::MatrixBase< Derived > &E) |
| Enlarges a matrix if it reduced in the context of material laws, i.e., VanishingStress If the material is not reduced the untouched matrix is returned and rendering the function as a NoOp. More...
|
|
template<typename MessageType > |
MessageType & | increment (MessageType &e) |
| Increments the given enum value. More...
|
|
template<typename T >
requires std::integral<T> |
constexpr T | ct_sqrt (T x) |
| Compile-time square root for integer types. More...
|
|
template<typename... Args> |
auto | parameter (Args &&... args) |
| Creates a Parameter object. More...
|
|
template<typename... Args> |
auto | functions (Args &&... args) |
| Creates a Functions object. More...
|
|
template<typename... DerivativeArgs, typename... ParameterArgs> |
auto | initResults (const std::tuple< DerivativeArgs... > &derivativesFunctions, const std::tuple< ParameterArgs... > ¶meter) |
| Initializes the results for functions and parameters. More...
|
|
template<typename... DerivativeArgs, typename... ParameterArgs> |
| NonLinearOperator (const Impl::Functions< DerivativeArgs &&... > &a, const Impl::Parameter< ParameterArgs... > &b) -> NonLinearOperator< Impl::Functions< DerivativeArgs... >, Impl::Parameter< ParameterArgs... > > |
|
template<class BaseQuadrature , class Quadrature > |
auto | tensorProductQuadrature (const BaseQuadrature &baseQuad, const Quadrature &onedQuad) |
| Computes the tensor product quadrature rule using a base and one-dimensional quadrature rule. More...
|
|
template<typename Derived , typename T , auto rank> |
Eigen::Tensor< typename Derived::Scalar, rank > | tensorView (const Eigen::EigenBase< Derived > &matrix, const std::array< T, rank > &dims) |
| View an Eigen matrix as an Eigen Tensor with specified dimensions. More...
|
|
auto | dyadic (const auto &A_ij, const auto &B_kl) |
| Computes the dyadic product of two Eigen tensors. More...
|
|
template<typename ScalarType = double, int dim = 3> |
auto | symmetricIdentityFourthOrder () |
| Generates a symmetric identity fourth-order tensor. More...
|
|
template<typename ScalarType = double, int dim = 3> |
auto | symmetricFourthOrder (const auto &A, const auto &B) |
| Generates a symmetric fourth-order tensor based on two second-order input tensors. More...
|
|
template<typename ScalarType = double, int dim = 3> |
auto | identityFourthOrder () |
| Generates an identity fourth-order tensor. More...
|
|
template<typename AType , typename BType > |
auto | fourthOrderIKJL (const Eigen::MatrixBase< AType > &A, const Eigen::MatrixBase< BType > &B) |
| Computes the IKJL product of two matrices. More...
|
|
template<typename ScalarType , long int dim> |
auto | symTwoSlots (const Eigen::TensorFixedSize< ScalarType, Eigen::Sizes< dim, dim, dim, dim > > &t, const std::array< size_t, 2 > &slots) |
| Creates a symmetric fourth-order tensor in the two specified slots of the input tensor. More...
|
|
constexpr Eigen::Index | toVoigt (Eigen::Index i, Eigen::Index j) noexcept |
| Converts 2D indices to Voigt notation index. More...
|
|
template<typename ScalarType = double> |
Eigen::Matrix< ScalarType, 6, 6 > | toVoigt (const Eigen::TensorFixedSize< ScalarType, Eigen::Sizes< 3, 3, 3, 3 > > &ft) |
| Converts a fourth-order tensor of fixed size 3x3x3x3 to a Voigt notation matrix of size 6x6. More...
|
|
template<typename ST , int size, int Options, int maxSize>
requires ((size > 0 and size <= 3) or (maxSize > 0 and maxSize <= 3 and size == Eigen::Dynamic)) |
auto | toVoigt (const Eigen::Matrix< ST, size, size, Options, maxSize, maxSize > &E, bool isStrain=true) |
| Converts a square 2x2 or 3x3 matrix to a Voigt notation vector. More...
|
|
template<typename ST , int size, int Options, int maxSize>
requires ((size == 1 or size == 3 or size == 6) or ((maxSize == 1 or maxSize == 3 or maxSize == 6) and size == Eigen::Dynamic)) |
auto | fromVoigt (const Eigen::Matrix< ST, size, 1, Options, maxSize, 1 > &EVoigt, bool isStrain=true) |
| Converts a vector given in Voigt notation to a matrix. More...
|
|
constexpr std::array< size_t, 2 > | fromVoigt (size_t i) |
| Converts a Voigt notation index to matrix indices. More...
|
|
template<typename ScalarType > |
auto | fromVoigt (const Eigen::Matrix< ScalarType, 6, 6 > &CVoigt) |
| Converts a matrix in Voigt notation to a Fourth-order tensor. More...
|
|
template<typename Geometry > |
Eigen::Matrix3d | calcTransformationMatrix2D (const Geometry &geometry) |
| Calculates the 2D transformation matrix. More...
|
|
template<typename Geometry > |
Eigen::Matrix< double, 6, 6 > | calcTransformationMatrix3D (const Geometry &geometry) |
| Calculates the 3D transformation matrix. More...
|
|