Namespaces | |
| namespace | AdaptiveStepSizing |
| namespace | AffordanceCollections |
| namespace | Concepts |
| namespace | FEHelper |
| namespace | plot |
| namespace | Python |
| namespace | ResultEvaluators |
| namespace | traits |
| namespace | utils |
Classes | |
| struct | AffordanceCollectionImpl |
| 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 | AutoDiffFE |
| AutoDiffFE class, an automatic differentiation wrapper for finite elements. More... | |
| class | Basis |
| 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... | |
| class | DirichletValues |
| Class for handling Dirichlet boundary conditions in Ikarus. More... | |
| struct | DisplacementControl |
| Structure representing the subsidiary function for the displacement control method. More... | |
| struct | EASH1E21 |
| Structure representing EAS for H1 with 21 enhanced strains. More... | |
| struct | EASH1E9 |
| Structure representing EAS for H1 with 9 enhanced strains. More... | |
| struct | EASQ1E4 |
| EASQ1E4 structure for Enhanced Assumed Strains (EAS) with linear strains and 4 enhanced modes. More... | |
| struct | EASQ1E5 |
| Structure representing EAS for Q1 with 5 enhanced strains. More... | |
| struct | EASQ1E7 |
| Structure representing EAS for Q1 with 7 enhanced strains. More... | |
| class | EnhancedAssumedStrains |
| Wrapper class for using Enhanced Assumed Strains (EAS) with displacement based elements. More... | |
| class | FErequirements |
| Class representing the requirements for finite element calculations. More... | |
| class | FERequirements |
| Class representing the requirements for finite element calculations. More... | |
| struct | FETraits |
| Template structure defining traits for a given grid element entity type. 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 | 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... | |
| 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... | |
| struct | NeoHookeT |
| Implementation of the Neo-Hookean material model.The energy is computed as. More... | |
| class | NewtonRaphson |
| Implementation of the Newton-Raphson method for solving nonlinear equations. More... | |
| struct | NewtonRaphsonSettings |
| Settings for the Newton-Raphson solver. More... | |
| class | NewtonRaphsonWithSubsidiaryFunction |
| Newton-Raphson solver with subsidiary function. More... | |
| struct | NewtonRaphsonWithSubsidiaryFunctionSettings |
| Settings for the Newton-Raphson solver with subsidiary function. More... | |
| class | NonLinearElastic |
| NonLinearElastic class represents a non-linear elastic finite element. 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 fcuntion are assumed to be derivatvies of each other w.r.t. the first parameter. | |
| 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... | |
| class | PathFollowing |
| The PathFollowing control routine for path-following analysis. More... | |
| class | PowerBasisFE |
| PowerBasisFE class for working with a power basis in FlatInterLeaved elements. More... | |
| class | ResultFunction |
| Wrapper to evaluate results for a vtkwriter. More... | |
| class | ResultRequirements |
| Class representing the requirements for obtaining specific results. More... | |
| class | ResultTypeMap |
| Class representing a map of result types to result arrays. More... | |
| class | ScalarAssembler |
| ScalarAssembler assembles scalar quantities. More... | |
| class | ScalarFieldFE |
| ScalarFieldFE class, a class for Single-DOF elements using a scalar basis. 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... | |
| struct | TraitsFromLocalView |
| Traits for handling local views.see https://en.wikipedia.org/wiki/Lam%C3%A9_parameters. More... | |
| class | TrustRegion |
| Trust Region solver for non-linear optimization problems. More... | |
| struct | TrustRegionSettings |
| Configuration settings for the TrustRegion solver. More... | |
| struct | VanishingStress |
| VanishingStress material model that enforces stress components to be zero. More... | |
| class | VectorFlatAssembler |
| VectorFlatAssembler assembles vector quantities using a flat basis Indexing strategy. 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 |
| Structure representing Young's modulus and shear modulus. More... | |
| struct | YoungsModulusAndShearModulus |
| Structure representing Young's modulus and bulk modulus. More... | |
Concepts | |
| concept | FEAffordance |
| Concept to check if a given type is one of the predefined affordance enums or the AffordanceCollectionImpl. | |
| concept | ResultTypeConcept |
| concept | CorrectStrainSize |
| Template concept for ensuring correct strain size. | |
| concept | MaterialParameterTuple |
| Concept for checking if a type is a valid material parameter tuple. | |
Typedefs | |
| template<typename Geometry > | |
| using | EAS2DVariant = std::variant< std::monostate, EASQ1E4< Geometry >, EASQ1E5< Geometry >, EASQ1E7< Geometry > > |
| Variant type for 2D EAS structures. More... | |
| template<typename Geometry > | |
| using | EAS3DVariant = std::variant< std::monostate, EASH1E9< Geometry >, EASH1E21< Geometry > > |
| Variant type for 3D EAS structures. More... | |
| typedef LinearElasticityT< double > | LinearElasticity |
| Convenience typedef for LinearElasticity with double as ScalarType. More... | |
| typedef NeoHookeT< double > | NeoHooke |
| Alias for NeoHookeT with double as the default scalar type. More... | |
| typedef StVenantKirchhoffT< double > | StVenantKirchhoff |
| Alias for StVenantKirchhoffT with double as the default scalar type. More... | |
| typedef LinearSolverTemplate< double > | LinearSolver |
| template<class PreBasis > | |
| using | FlatPreBasis_t = typename FlatPreBasis< PreBasis >::type |
| Type alias for flatted PreBasis. More... | |
Functions | |
| constexpr std::string | toString (ScalarAffordances _e) |
| constexpr std::string | toString (VectorAffordances _e) |
| constexpr std::string | toString (MatrixAffordances _e) |
| constexpr std::string | toString (FEParameter _e) |
| constexpr std::string | toString (FESolutions _e) |
| constexpr std::string | toString (ResultType _e) |
| template<typename Geometry > | |
| Eigen::Matrix3d | calcTransformationMatrix2D (const Geometry &geometry) |
| Calculates the 2D transformation matrix for Enhanced Assumed Strains (EAS). More... | |
| template<typename Geometry > | |
| Eigen::Matrix< double, 6, 6 > | calcTransformationMatrix3D (const Geometry &geometry) |
| Calculates the 3D transformation matrix for Enhanced Assumed Strains (EAS). More... | |
| template<typename Material , typename Strains > | |
| 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::StressIndexPair... 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 p_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 p_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 p_tol=1e-8) |
| Factory function to create a VanishingStress material for a beam material with two zero normal stress condition. More... | |
| Eigen::Matrix3d | planeStressLinearElasticMaterialTangent (double E, double nu) |
| Computes the plane stress linear elastic material tangent matrix. More... | |
| Eigen::Matrix< double, 6, 6 > | linearElasticMaterialTangent3D (double E, double nu) |
| Computes the 3D linear elastic material tangent matrix. More... | |
| ConvertLameConstants< YoungsModulusAndPoissonsRatio > | convertLameConstants (const YoungsModulusAndPoissonsRatio &p_vp) |
| ConvertLameConstants< YoungsModulusAndShearModulus > | convertLameConstants (const YoungsModulusAndShearModulus &p_vp) |
| ConvertLameConstants< YoungsModulusAndBulkModulus > | convertLameConstants (const YoungsModulusAndBulkModulus &p_vp) |
| ConvertLameConstants< LamesFirstParameterAndShearModulus > | convertLameConstants (const LamesFirstParameterAndShearModulus &p_vp) |
| ConvertLameConstants< BulkModulusAndLamesFirstParameter > | convertLameConstants (const BulkModulusAndLamesFirstParameter &p_vp) |
| 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<typename NonLinearOperatorImpl , typename LinearSolver = utils::SolverDefault, typename UpdateFunctionType = utils::UpdateDefault> | |
| auto | makeNewtonRaphson (const NonLinearOperatorImpl &p_nonLinearOperator, LinearSolver &&p_linearSolver={}, UpdateFunctionType &&p_updateFunction={}) |
| Function to create a NewtonRaphson solver instance. More... | |
| template<typename NonLinearOperatorImpl , typename LinearSolver = utils::SolverDefault, typename UpdateFunctionType = utils::UpdateDefault> | |
| auto | makeNewtonRaphsonWithSubsidiaryFunction (const NonLinearOperatorImpl &p_nonLinearOperator, LinearSolver &&p_linearSolver={}, UpdateFunctionType &&p_updateFunction={}) |
| Function to create a NewtonRaphson with subsidiary function solver instance. More... | |
| template<typename NonLinearOperatorImpl , PreConditioner preConditioner = PreConditioner::IncompleteCholesky, typename UpdateFunctionType = utils::UpdateDefault> | |
| auto | makeTrustRegion (const NonLinearOperatorImpl &p_nonLinearOperator, UpdateFunctionType &&p_updateFunction={}) |
| Creates an instance of the TrustRegion solver. More... | |
| template<typename GridView , typename PreBasisFactory > | |
| auto | makeBasis (const GridView &gv, const PreBasisFactory &pb) |
| Factory function to create a Basis object. More... | |
| template<typename PreBasis > | |
| auto | makeBasis (const Dune::Functions::DefaultGlobalBasis< PreBasis > &gb) |
| Factory function to create a Basis object from a DefaultGlobalBasis. More... | |
| template<typename Derived > | |
| auto | transpose (const Eigen::EigenBase< Derived > &A) |
| template<typename ScalarType , int size> | |
| Dune::FieldVector< ScalarType, size > | toDune (const Eigen::Vector< ScalarType, size > &vec) |
| Create Eigen::Vector to Dune::FieldVector. More... | |
| template<typename ScalarType , int rows> | |
| Dune::FieldVector< ScalarType, rows > | toDune (const Eigen::Matrix< ScalarType, rows, 0 > &vec) |
| Convert Eigen::Matrix to Dune::FieldVector. More... | |
| template<typename ScalarType , int rows, int cols> | |
| Dune::FieldMatrix< ScalarType, rows, cols > | toDune (const Eigen::Matrix< ScalarType, rows, cols > &mat) |
| Convert Eigen::Matrix to Dune::FieldMatrix. More... | |
| template<typename ScalarType , int size> | |
| Eigen::Map< const Eigen::Vector< ScalarType, size > > | toEigenMap (const Dune::FieldVector< ScalarType, size > &vec) |
| View a Dune::FieldVector as an Eigen::Vector using Map, no copies take place. More... | |
| template<typename ScalarType , int size> | |
| Eigen::Map< Eigen::Vector< ScalarType, size > > | toEigenMap (Dune::FieldVector< ScalarType, size > &vec) |
| View a constant Dune::FieldVector as a constant Eigen::Vector, no copies take place. More... | |
| template<class PreBasis > | |
| decltype(auto) | flatPreBasis (PreBasis const &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 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 Material , 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 Impl::Functions< DerivativeArgs... > &derivativesFunctions, const Impl::Parameter< ParameterArgs... > ¶meterI) |
| Initializes the results for functions and parameters. 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> requires (size > 0 and size <= 3) | |
| auto | toVoigt (const Eigen::Matrix< ST, size, size, Options, size, size > &E, bool isStrain=true) |
| Converts a square 2x2 or 3x3 matrix to a Voigt notation vector. More... | |
| template<typename ST , int size> requires (size == 1 or size == 3 or size == 6) | |
| auto | fromVoigt (const Eigen::Vector< ST, size > &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... | |
Variables | |
| constexpr VectorAffordances | forces = VectorAffordances::forces |
| constexpr MatrixAffordances | stiffness = MatrixAffordances::stiffness |
| constexpr MatrixAffordances | stiffnessdiffBucklingVector = MatrixAffordances::stiffnessdiffBucklingVector |
| constexpr MatrixAffordances | mass = MatrixAffordances::mass |
| constexpr ScalarAffordances | potentialEnergy = ScalarAffordances::mechanicalPotentialEnergy |
| template<int dim> | |
| constexpr auto | voigtNotationContainer = std::get<dim - 1>(Impl::voigtIndices) |
| Container for Voigt notation indices based on dimension.1D: 0,0 2D: 0,0 1,1 0,1 3D: 0,0 1,1 2,2 1,2 0,2 0,1. More... | |
| using Ikarus::EAS2DVariant = typedef std::variant<std::monostate, EASQ1E4<Geometry>, EASQ1E5<Geometry>, EASQ1E7<Geometry> > |
This variant type holds different EAS structures for 2D elements.
| Geometry | The geometry type. |
| using Ikarus::EAS3DVariant = typedef std::variant<std::monostate, EASH1E9<Geometry>, EASH1E21<Geometry> > |
This variant type holds different EAS structures for 3D elements.
| Geometry | The geometry type. |
| using Ikarus::FlatPreBasis_t = typedef typename FlatPreBasis<PreBasis>::type |
| typedef LinearElasticityT<double> Ikarus::LinearElasticity |
| typedef LinearSolverTemplate<double> Ikarus::LinearSolver |
| typedef NeoHookeT<double> Ikarus::NeoHooke |
| typedef StVenantKirchhoffT<double> Ikarus::StVenantKirchhoff |
|
strong |
|
strong |
|
strong |
The prefix s and d stand for sparse and dense solvers and the second prefix i and d stand for iterative or direct solvers for the sparse case
|
strong |
| auto Ikarus::beamMaterial | ( | const MaterialImpl & | mat, |
| typename MaterialImpl::ScalarType | p_tol = 1e-8 |
||
| ) |
| MaterialImpl | The underlying material model. |
| mat | The underlying material model. |
| p_tol | Tolerance for stress reduction. |
| Eigen::Matrix3d Ikarus::calcTransformationMatrix2D | ( | const Geometry & | geometry | ) |
This function computes the transformation matrix for 2D EAS using the provided geometry.
| Geometry | The geometry type. |
| geometry | Reference to the geometry object. |
| Eigen::Matrix< double, 6, 6 > Ikarus::calcTransformationMatrix3D | ( | const Geometry & | geometry | ) |
This function computes the transformation matrix for 3D EAS using the provided geometry.
| Geometry | The geometry type. |
| geometry | Reference to the geometry object. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
constexpr |
| T | The integral type for which square root is calculated. |
| x | The value for which square root is calculated. |
| auto Ikarus::functions | ( | Args &&... | args | ) |
| Args | The argument types. |
| args | The tuple of arguments. |
| consteval bool Ikarus::hasCorrectSize | ( | ) |
The given strain quantity has to be a Eigen::Vector6 or a Eigen::Matrix3
| Material | Type of the material. |
| Strains | Type of the strains. |
|
inline |
| argc | The number of command-line arguments. |
| argv | The command-line arguments. |
| enableFileLogger | Flag indicating whether to enable the file logger. |
https://patorjk.com/software/taag/#p=testall&f=Univers&t=IKARUS (font: Lean)
| auto Ikarus::initResults | ( | const Impl::Functions< DerivativeArgs... > & | derivativesFunctions, |
| const Impl::Parameter< ParameterArgs... > & | parameterI | ||
| ) |
| DerivativeArgs | The types of derivative arguments. |
| ParameterArgs | The types of parameter arguments. |
| derivativesFunctions | The Functions object for derivative arguments. |
| parameterI | The Parameter object for parameter arguments. |
|
inline |
| E | Young's modulus. |
| nu | Poisson's ratio. |
| auto Ikarus::makeBasis | ( | const Dune::Functions::DefaultGlobalBasis< PreBasis > & | gb | ) |
| PreBasis | The type of the pre-basis associated with the DefaultGlobalBasis. |
| gb | The DefaultGlobalBasis. |
| auto Ikarus::makeBasis | ( | const GridView & | gv, |
| const PreBasisFactory & | pb | ||
| ) |
| auto Ikarus::makeNewtonRaphson | ( | const NonLinearOperatorImpl & | p_nonLinearOperator, |
| LinearSolver && | p_linearSolver = {}, |
||
| UpdateFunctionType && | p_updateFunction = {} |
||
| ) |
| NonLinearOperatorImpl | Type of the nonlinear operator to solve. |
| LinearSolver | Type of the linear solver used internally (default is SolverDefault). |
| UpdateFunctionType | Type of the update function (default is UpdateDefault). |
| p_nonLinearOperator | Nonlinear operator to solve. |
| p_linearSolver | Linear solver used internally (default is SolverDefault). |
| p_updateFunction | Update function (default is UpdateDefault). |
| auto Ikarus::makeNewtonRaphsonWithSubsidiaryFunction | ( | const NonLinearOperatorImpl & | p_nonLinearOperator, |
| LinearSolver && | p_linearSolver = {}, |
||
| UpdateFunctionType && | p_updateFunction = {} |
||
| ) |
| NonLinearOperatorImpl | Type of the nonlinear operator to solve. |
| LinearSolver | Type of the linear solver used internally (default is SolverDefault). |
| UpdateFunctionType | Type of the update function (default is UpdateDefault). |
| p_nonLinearOperator | Nonlinear operator to solve. |
| p_linearSolver | Linear solver used internally (default is SolverDefault). |
| p_updateFunction | Update function (default is UpdateDefault). |
| auto Ikarus::makeTrustRegion | ( | const NonLinearOperatorImpl & | p_nonLinearOperator, |
| UpdateFunctionType && | p_updateFunction = {} |
||
| ) |
| NonLinearOperatorImpl | Type of the nonlinear operator to solve. |
| preConditioner | Type of the preconditioner used internally (default is IncompleteCholesky). |
| UpdateFunctionType | Type of the update function (default is UpdateDefault). |
| p_nonLinearOperator | Nonlinear operator to solve. |
| p_updateFunction | Update function (default is UpdateDefault). |
| auto Ikarus::makeVanishingStress | ( | MaterialImpl | mat, |
| typename MaterialImpl::ScalarType | p_tol = 1e-12 |
||
| ) |
| stressIndexPair | The array of StressIndexPair representing fixed stress components. |
| MaterialImpl | The underlying material model. |
| mat | The underlying material model. |
| p_tol | Tolerance for stress reduction. |
| auto Ikarus::parameter | ( | Args &&... | args | ) |
| Args | The argument types. |
| args | The tuple of arguments. |
| auto Ikarus::planeStress | ( | const MaterialImpl & | mat, |
| typename MaterialImpl::ScalarType | p_tol = 1e-8 |
||
| ) |
| MaterialImpl | The underlying material model. |
| mat | The underlying material model. |
| p_tol | Tolerance for stress reduction. |
|
inline |
| E | Young's modulus. |
| nu | Poisson's ratio. |
| auto Ikarus::shellMaterial | ( | const MaterialImpl & | mat, |
| typename MaterialImpl::ScalarType | p_tol = 1e-8 |
||
| ) |
| MaterialImpl | The underlying material model. |
| mat | The underlying material model. |
| p_tol | Tolerance for stress reduction. |
| Dune::FieldVector< ScalarType, rows > Ikarus::toDune | ( | const Eigen::Matrix< ScalarType, rows, 0 > & | vec | ) |
The matrix has fixed row size. The matrix needs to have a single column.
| ScalarType | The scalar type of the vectors. |
| rows | The number of rows in the matrix. |
| vec | The Eigen::Matrix to be converted. |
| Dune::FieldMatrix< ScalarType, rows, cols > Ikarus::toDune | ( | const Eigen::Matrix< ScalarType, rows, cols > & | mat | ) |
The matrix has fixed rows and column size
| ScalarType | The scalar type of the matrix. |
| rows | The number of rows in the matrix. |
| cols | The number of columns in the matrix. |
| mat | The Eigen::Matrix to be converted. |
| Dune::FieldVector< ScalarType, size > Ikarus::toDune | ( | const Eigen::Vector< ScalarType, size > & | vec | ) |
| ScalarType | The scalar type of the vectors. |
| size | The size of the vectors. |
| vec | The Eigen::Vector to be converted. |
| Eigen::Map< const Eigen::Vector< ScalarType, size > > Ikarus::toEigenMap | ( | const Dune::FieldVector< ScalarType, size > & | vec | ) |
| ScalarType | The scalar type of the vector. |
| size | The size of the vector. |
| vec | The Dune::FieldVector to be viewed as Eigen::Vector. |
| Eigen::Map< Eigen::Vector< ScalarType, size > > Ikarus::toEigenMap | ( | Dune::FieldVector< ScalarType, size > & | vec | ) |
| ScalarType | The scalar type of the vector. |
| size | The size of the vector. |
| vec | The Dune::FieldVector to be viewed as Eigen::Vector. |
|
inline |
| matParameter | Young's modulus and Poisson's ratio. |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
inline |
| matParameter | Lame's first parameter and shear modulus. |
| auto Ikarus::transpose | ( | const Eigen::EigenBase< Derived > & | A | ) |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |