version 0.4
Ikarus Namespace Reference

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...
 
class  Traction
 Traction class represents distributed traction load that can be applied. More...
 
struct  TraitsFromFE
 Traits for handling finite elements.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...
 
class  Volume
 Volume class represents distributed volume load that can be applied. 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...
 

Enumerations

enum class  ScalarAffordances {
  ScalarAffordances::BEGIN , ScalarAffordances::noAffordance , ScalarAffordances::mechanicalPotentialEnergy , ScalarAffordances::microMagneticPotentialEnergy ,
  ScalarAffordances::END
}
 A strongly typed enum class representing the scalar affordance. More...
 
enum class  VectorAffordances {
  VectorAffordances::BEGIN , VectorAffordances::noAffordance , VectorAffordances::forces , VectorAffordances::microMagneticForces ,
  VectorAffordances::END
}
 A strongly typed enum class representing the vector affordance. More...
 
enum class  MatrixAffordances {
  MatrixAffordances::BEGIN , MatrixAffordances::noAffordance , MatrixAffordances::stiffness , MatrixAffordances::materialstiffness ,
  MatrixAffordances::geometricstiffness , MatrixAffordances::stiffnessdiffBucklingVector , MatrixAffordances::microMagneticHessian , MatrixAffordances::mass ,
  MatrixAffordances::END
}
 A strongly typed enum class representing the matrix affordance. More...
 
enum class  FEParameter {
  FEParameter::BEGIN , FEParameter::noParameter , FEParameter::loadfactor , FEParameter::time ,
  FEParameter::END
}
 A strongly typed enum class representing the FE parameter. More...
 
enum class  FESolutions {
  FESolutions::BEGIN , FESolutions::noSolution , FESolutions::displacement , FESolutions::velocity ,
  FESolutions::director , FESolutions::magnetizationAndVectorPotential , FESolutions::END
}
 A strongly typed enum class representing the type of the solutions vectors. More...
 
enum class  ResultType {
  ResultType::BEGIN , ResultType::noType , ResultType::magnetization , ResultType::gradientNormOfMagnetization ,
  ResultType::vectorPotential , ResultType::divergenceOfVectorPotential , ResultType::BField , ResultType::HField ,
  ResultType::cauchyStress , ResultType::PK2Stress , ResultType::linearStress , ResultType::director ,
  ResultType::END
}
 A strongly typed enum class representing the type of the result request. More...
 
enum class  StrainTags {
  StrainTags::BEGIN , StrainTags::linear , StrainTags::deformationGradient , StrainTags::displacementGradient ,
  StrainTags::greenLagrangian , StrainTags::rightCauchyGreenTensor , StrainTags::END
}
 A strongly typed enum class representing the type of the passed strain. More...
 
enum class  StressTags {
  StressTags::BEGIN , StressTags::linear , StressTags::PK2 , StressTags::PK1 ,
  StressTags::Cauchy , StressTags::Kirchhoff , StressTags::END
}
 A strongly typed enum class representing the type of the computed stresses. More...
 
enum class  TangentModuliTags {
  TangentModuliTags::BEGIN , TangentModuliTags::Material , TangentModuliTags::Spatial , TangentModuliTags::TwoPoint ,
  TangentModuliTags::END
}
 A strongly typed enum class representing the type of the computed tangent moduli. More...
 
enum class  SolverTypeTag {
  none , si_ConjugateGradient , si_LeastSquaresConjugateGradient , si_BiCGSTAB ,
  sd_SimplicialLLT , sd_SimplicialLDLT , sd_SparseLU , sd_SparseQR ,
  sd_CholmodSupernodalLLT , sd_UmfPackLU , sd_SuperLU , d_PartialPivLU ,
  d_FullPivLU , d_HouseholderQR , d_ColPivHouseholderQR , d_FullPivHouseholderQR ,
  d_CompleteOrthogonalDecomposition , d_LLT , d_LDLT
}
 Enumeration representing different solver types. More...
 
enum class  MatrixTypeTag { Dense , Sparse }
 Enumeration representing different matrix types (Dense or Sparse). More...
 
enum class  PreConditioner { IncompleteCholesky , IdentityPreconditioner , DiagonalPreconditioner }
 Enumeration of available preconditioners for the trust region solver. More...
 
enum class  StopReason {
  gradientNormTolReached , correctionNormTolReached , maximumTimeReached , maximumIterationsReached ,
  dontStop
}
 Enumeration of reasons for stopping the TrustRegion solver. More...
 
enum class  ControlMessages {
  ControlMessages::BEGIN , ControlMessages::CONTROL_STARTED , ControlMessages::CONTROL_ENDED , ControlMessages::STEP_STARTED ,
  ControlMessages::STEP_ENDED , ControlMessages::SOLUTION_CHANGED , ControlMessages::END
}
 Enum class defining control-routine-related messages. More...
 
enum class  NonLinearSolverMessages {
  NonLinearSolverMessages::BEGIN , NonLinearSolverMessages::INIT , NonLinearSolverMessages::ITERATION_STARTED , NonLinearSolverMessages::ITERATION_ENDED ,
  NonLinearSolverMessages::RESIDUALNORM_UPDATED , NonLinearSolverMessages::CORRECTIONNORM_UPDATED , NonLinearSolverMessages::SOLUTION_CHANGED , NonLinearSolverMessages::FINISHED_SUCESSFULLY ,
  NonLinearSolverMessages::END
}
 Enum class defining non-linear solver-related messages. 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< YoungsModulusAndPoissonsRatioconvertLameConstants (const YoungsModulusAndPoissonsRatio &p_vp)
 
ConvertLameConstants< YoungsModulusAndShearModulusconvertLameConstants (const YoungsModulusAndShearModulus &p_vp)
 
ConvertLameConstants< YoungsModulusAndBulkModulusconvertLameConstants (const YoungsModulusAndBulkModulus &p_vp)
 
ConvertLameConstants< LamesFirstParameterAndShearModulusconvertLameConstants (const LamesFirstParameterAndShearModulus &p_vp)
 
ConvertLameConstants< BulkModulusAndLamesFirstParameterconvertLameConstants (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... > &parameterI)
 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...
 

Typedef Documentation

◆ EAS2DVariant

template<typename Geometry >
using Ikarus::EAS2DVariant = typedef std::variant<std::monostate, EASQ1E4<Geometry>, EASQ1E5<Geometry>, EASQ1E7<Geometry> >

This variant type holds different EAS structures for 2D elements.

Template Parameters
GeometryThe geometry type.

◆ EAS3DVariant

template<typename Geometry >
using Ikarus::EAS3DVariant = typedef std::variant<std::monostate, EASH1E9<Geometry>, EASH1E21<Geometry> >

This variant type holds different EAS structures for 3D elements.

Template Parameters
GeometryThe geometry type.

◆ FlatPreBasis_t

template<class PreBasis >
using Ikarus::FlatPreBasis_t = typedef typename FlatPreBasis<PreBasis>::type

◆ LinearElasticity

◆ LinearSolver

◆ NeoHooke

typedef NeoHookeT<double> Ikarus::NeoHooke

◆ StVenantKirchhoff

Enumeration Type Documentation

◆ MatrixTypeTag

enum class Ikarus::MatrixTypeTag
strong
Enumerator
Dense 
Sparse 

◆ PreConditioner

enum class Ikarus::PreConditioner
strong
Enumerator
IncompleteCholesky 
IdentityPreconditioner 
DiagonalPreconditioner 

◆ SolverTypeTag

enum class Ikarus::SolverTypeTag
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

Enumerator
none 
si_ConjugateGradient 
si_LeastSquaresConjugateGradient 
si_BiCGSTAB 
sd_SimplicialLLT 
sd_SimplicialLDLT 
sd_SparseLU 
sd_SparseQR 
sd_CholmodSupernodalLLT 
sd_UmfPackLU 
sd_SuperLU 
d_PartialPivLU 
d_FullPivLU 
d_HouseholderQR 
d_ColPivHouseholderQR 
d_FullPivHouseholderQR 
d_CompleteOrthogonalDecomposition 
d_LLT 
d_LDLT 

◆ StopReason

enum class Ikarus::StopReason
strong
Enumerator
gradientNormTolReached 
correctionNormTolReached 
maximumTimeReached 
maximumIterationsReached 
dontStop 

Function Documentation

◆ beamMaterial()

template<typename MaterialImpl >
auto Ikarus::beamMaterial ( const MaterialImpl &  mat,
typename MaterialImpl::ScalarType  p_tol = 1e-8 
)
Template Parameters
MaterialImplThe underlying material model.
Parameters
matThe underlying material model.
p_tolTolerance for stress reduction.
Returns
VanishingStress The created VanishingStress material for plane stress.

◆ calcTransformationMatrix2D()

template<typename Geometry >
Eigen::Matrix3d Ikarus::calcTransformationMatrix2D ( const Geometry &  geometry)

This function computes the transformation matrix for 2D EAS using the provided geometry.

Template Parameters
GeometryThe geometry type.
Parameters
geometryReference to the geometry object.
Returns
Transformation matrix for 2D EAS.

◆ calcTransformationMatrix3D()

template<typename Geometry >
Eigen::Matrix< double, 6, 6 > Ikarus::calcTransformationMatrix3D ( const Geometry &  geometry)

This function computes the transformation matrix for 3D EAS using the provided geometry.

Template Parameters
GeometryThe geometry type.
Parameters
geometryReference to the geometry object.
Returns
Transformation matrix for 3D EAS.

◆ convertLameConstants() [1/5]

ConvertLameConstants< BulkModulusAndLamesFirstParameter > Ikarus::convertLameConstants ( const BulkModulusAndLamesFirstParameter p_vp)
inline

◆ convertLameConstants() [2/5]

ConvertLameConstants< LamesFirstParameterAndShearModulus > Ikarus::convertLameConstants ( const LamesFirstParameterAndShearModulus p_vp)
inline

◆ convertLameConstants() [3/5]

ConvertLameConstants< YoungsModulusAndBulkModulus > Ikarus::convertLameConstants ( const YoungsModulusAndBulkModulus p_vp)
inline

◆ convertLameConstants() [4/5]

ConvertLameConstants< YoungsModulusAndPoissonsRatio > Ikarus::convertLameConstants ( const YoungsModulusAndPoissonsRatio p_vp)
inline
Here is the caller graph for this function:

◆ convertLameConstants() [5/5]

ConvertLameConstants< YoungsModulusAndShearModulus > Ikarus::convertLameConstants ( const YoungsModulusAndShearModulus p_vp)
inline

◆ ct_sqrt()

template<typename T >
requires std::integral<T>
constexpr T Ikarus::ct_sqrt ( x)
constexpr
Template Parameters
TThe integral type for which square root is calculated.
Parameters
xThe value for which square root is calculated.
Returns
constexpr T The calculated square root.
Here is the caller graph for this function:

◆ functions()

template<typename... Args>
auto Ikarus::functions ( Args &&...  args)
Template Parameters
ArgsThe argument types.
Parameters
argsThe tuple of arguments.
Returns
auto The Functions object.

◆ hasCorrectSize()

template<typename Material , typename Strains >
consteval bool Ikarus::hasCorrectSize ( )

The given strain quantity has to be a Eigen::Vector6 or a Eigen::Matrix3

Template Parameters
MaterialType of the material.
StrainsType of the strains.

◆ init()

void Ikarus::init ( int  argc,
char **  argv,
bool  enableFileLogger = true 
)
inline
Parameters
argcThe number of command-line arguments.
argvThe command-line arguments.
enableFileLoggerFlag indicating whether to enable the file logger.

https://patorjk.com/software/taag/#p=testall&f=Univers&t=IKARUS (font: Lean)

Here is the caller graph for this function:

◆ initResults()

template<typename... DerivativeArgs, typename... ParameterArgs>
auto Ikarus::initResults ( const Impl::Functions< DerivativeArgs... > &  derivativesFunctions,
const Impl::Parameter< ParameterArgs... > &  parameterI 
)
Template Parameters
DerivativeArgsThe types of derivative arguments.
ParameterArgsThe types of parameter arguments.
Parameters
derivativesFunctionsThe Functions object for derivative arguments.
parameterIThe Parameter object for parameter arguments.
Returns
auto The initialized results.

◆ linearElasticMaterialTangent3D()

Eigen:: Matrix< double, 6, 6 > Ikarus::linearElasticMaterialTangent3D ( double  E,
double  nu 
)
inline
Parameters
EYoung's modulus.
nuPoisson's ratio.
Returns
6x6 material tangent matrix.
Deprecated:
Use the material library Ikarus::LinearElasticity.
Here is the caller graph for this function:

◆ makeBasis() [1/2]

template<typename PreBasis >
auto Ikarus::makeBasis ( const Dune::Functions::DefaultGlobalBasis< PreBasis > &  gb)
Template Parameters
PreBasisThe type of the pre-basis associated with the DefaultGlobalBasis.
Parameters
gbThe DefaultGlobalBasis.
Returns
A Basis object.

◆ makeBasis() [2/2]

template<typename GridView , typename PreBasisFactory >
auto Ikarus::makeBasis ( const GridView &  gv,
const PreBasisFactory &  pb 
)

Factory function that creates a Basis object from a given grid view and pre-basis factory.

Template Parameters
GridViewThe type of the grid view.
PreBasisFactoryThe type of the pre-basis factory function.
Parameters
gvThe grid view.
pbThe pre-basis factory function.
Returns
A Basis object.

◆ makeNewtonRaphson()

template<typename NonLinearOperatorImpl , typename LinearSolver = utils::SolverDefault, typename UpdateFunctionType = utils::UpdateDefault>
auto Ikarus::makeNewtonRaphson ( const NonLinearOperatorImpl &  p_nonLinearOperator,
LinearSolver &&  p_linearSolver = {},
UpdateFunctionType &&  p_updateFunction = {} 
)
Template Parameters
NonLinearOperatorImplType of the nonlinear operator to solve.
LinearSolverType of the linear solver used internally (default is SolverDefault).
UpdateFunctionTypeType of the update function (default is UpdateDefault).
Parameters
p_nonLinearOperatorNonlinear operator to solve.
p_linearSolverLinear solver used internally (default is SolverDefault).
p_updateFunctionUpdate function (default is UpdateDefault).
Returns
Shared pointer to the NewtonRaphson solver instance.

◆ makeNewtonRaphsonWithSubsidiaryFunction()

template<typename NonLinearOperatorImpl , typename LinearSolver = utils::SolverDefault, typename UpdateFunctionType = utils::UpdateDefault>
auto Ikarus::makeNewtonRaphsonWithSubsidiaryFunction ( const NonLinearOperatorImpl &  p_nonLinearOperator,
LinearSolver &&  p_linearSolver = {},
UpdateFunctionType &&  p_updateFunction = {} 
)
Template Parameters
NonLinearOperatorImplType of the nonlinear operator to solve.
LinearSolverType of the linear solver used internally (default is SolverDefault).
UpdateFunctionTypeType of the update function (default is UpdateDefault).
Parameters
p_nonLinearOperatorNonlinear operator to solve.
p_linearSolverLinear solver used internally (default is SolverDefault).
p_updateFunctionUpdate function (default is UpdateDefault).
Returns
Shared pointer to the NewtonRaphson solver instance.

◆ makeTrustRegion()

template<typename NonLinearOperatorImpl , PreConditioner preConditioner = PreConditioner::IncompleteCholesky, typename UpdateFunctionType = utils::UpdateDefault>
auto Ikarus::makeTrustRegion ( const NonLinearOperatorImpl &  p_nonLinearOperator,
UpdateFunctionType &&  p_updateFunction = {} 
)
Template Parameters
NonLinearOperatorImplType of the nonlinear operator to solve.
preConditionerType of the preconditioner used internally (default is IncompleteCholesky).
UpdateFunctionTypeType of the update function (default is UpdateDefault).
Parameters
p_nonLinearOperatorNonlinear operator to solve.
p_updateFunctionUpdate function (default is UpdateDefault).
Returns
Shared pointer to the TrustRegion solver instance.

◆ makeVanishingStress()

template<Impl::StressIndexPair... stressIndexPair, typename MaterialImpl >
auto Ikarus::makeVanishingStress ( MaterialImpl  mat,
typename MaterialImpl::ScalarType  p_tol = 1e-12 
)
Template Parameters
stressIndexPairThe array of StressIndexPair representing fixed stress components.
MaterialImplThe underlying material model.
Parameters
matThe underlying material model.
p_tolTolerance for stress reduction.
Returns
VanishingStress The created VanishingStress material.
Here is the caller graph for this function:

◆ parameter()

template<typename... Args>
auto Ikarus::parameter ( Args &&...  args)
Template Parameters
ArgsThe argument types.
Parameters
argsThe tuple of arguments.
Returns
auto The Parameter object.

◆ planeStress()

template<typename MaterialImpl >
auto Ikarus::planeStress ( const MaterialImpl &  mat,
typename MaterialImpl::ScalarType  p_tol = 1e-8 
)
Template Parameters
MaterialImplThe underlying material model.
Parameters
matThe underlying material model.
p_tolTolerance for stress reduction.
Returns
VanishingStress The created VanishingStress material for plane stress.

◆ planeStressLinearElasticMaterialTangent()

Eigen::Matrix3d Ikarus::planeStressLinearElasticMaterialTangent ( double  E,
double  nu 
)
inline
Parameters
EYoung's modulus.
nuPoisson's ratio.
Returns
3x3 material tangent matrix.
Deprecated:
Use the material library Ikarus::LinearElasticity.
Here is the caller graph for this function:

◆ shellMaterial()

template<typename MaterialImpl >
auto Ikarus::shellMaterial ( const MaterialImpl &  mat,
typename MaterialImpl::ScalarType  p_tol = 1e-8 
)
Template Parameters
MaterialImplThe underlying material model.
Parameters
matThe underlying material model.
p_tolTolerance for stress reduction.
Returns
VanishingStress The created VanishingStress material for plane stress.

◆ toDune() [1/3]

template<typename ScalarType , int rows>
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.

Template Parameters
ScalarTypeThe scalar type of the vectors.
rowsThe number of rows in the matrix.
Parameters
vecThe Eigen::Matrix to be converted.
Returns
Dune::FieldVector<ScalarType, rows> representing the converted matrix.

◆ toDune() [2/3]

template<typename ScalarType , int rows, int cols>
Dune::FieldMatrix< ScalarType, rows, cols > Ikarus::toDune ( const Eigen::Matrix< ScalarType, rows, cols > &  mat)

The matrix has fixed rows and column size

Template Parameters
ScalarTypeThe scalar type of the matrix.
rowsThe number of rows in the matrix.
colsThe number of columns in the matrix.
Parameters
matThe Eigen::Matrix to be converted.
Returns
Dune::FieldMatrix<ScalarType, rows, cols> representing the converted matrix.

◆ toDune() [3/3]

template<typename ScalarType , int size>
Dune::FieldVector< ScalarType, size > Ikarus::toDune ( const Eigen::Vector< ScalarType, size > &  vec)
Template Parameters
ScalarTypeThe scalar type of the vectors.
sizeThe size of the vectors.
Parameters
vecThe Eigen::Vector to be converted.
Returns
Dune::FieldVector<ScalarType, size> representing the converted vector.

◆ toEigenMap() [1/2]

template<typename ScalarType , int size>
Eigen::Map< const Eigen::Vector< ScalarType, size > > Ikarus::toEigenMap ( const Dune::FieldVector< ScalarType, size > &  vec)
Template Parameters
ScalarTypeThe scalar type of the vector.
sizeThe size of the vector.
Parameters
vecThe Dune::FieldVector to be viewed as Eigen::Vector.
Returns
Eigen::Map<const Eigen::Vector<ScalarType, size>> representing the viewed vector.

◆ toEigenMap() [2/2]

template<typename ScalarType , int size>
Eigen::Map< Eigen::Vector< ScalarType, size > > Ikarus::toEigenMap ( Dune::FieldVector< ScalarType, size > &  vec)
Template Parameters
ScalarTypeThe scalar type of the vector.
sizeThe size of the vector.
Parameters
vecThe Dune::FieldVector to be viewed as Eigen::Vector.
Returns
Eigen::Map<Eigen::Vector<ScalarType, size>> representing the viewed vector.

◆ toLamesFirstParameterAndShearModulus()

auto Ikarus::toLamesFirstParameterAndShearModulus ( const YoungsModulusAndPoissonsRatio matParameter)
inline
Parameters
matParameterYoung's modulus and Poisson's ratio.
Returns
Lame's first parameter and shear modulus.

◆ toString() [1/9]

constexpr std::string Ikarus::toString ( FEParameter  _e)
constexpr

◆ toString() [2/9]

constexpr std::string Ikarus::toString ( FESolutions  _e)
constexpr

◆ toString() [3/9]

constexpr std::string Ikarus::toString ( MatrixAffordances  _e)
constexpr

◆ toString() [4/9]

constexpr std::string Ikarus::toString ( ResultType  _e)
constexpr

◆ toString() [5/9]

constexpr std::string Ikarus::toString ( ScalarAffordances  _e)
constexpr
Here is the caller graph for this function:

◆ toString() [6/9]

constexpr std::string Ikarus::toString ( StrainTags  _e)
constexpr

◆ toString() [7/9]

constexpr std::string Ikarus::toString ( StressTags  _e)
constexpr

◆ toString() [8/9]

constexpr std::string Ikarus::toString ( TangentModuliTags  _e)
constexpr

◆ toString() [9/9]

constexpr std::string Ikarus::toString ( VectorAffordances  _e)
constexpr

◆ toYoungsModulusAndPoissonsRatio()

auto Ikarus::toYoungsModulusAndPoissonsRatio ( const LamesFirstParameterAndShearModulus matParameter)
inline
Parameters
matParameterLame's first parameter and shear modulus.
Returns
Young's modulus and Poisson's ratio.

◆ transpose()

template<typename Derived >
auto Ikarus::transpose ( const Eigen::EigenBase< Derived > &  A)
Here is the caller graph for this function:

Variable Documentation

◆ forces

constexpr VectorAffordances Ikarus::forces = VectorAffordances::forces
inlineconstexpr

◆ mass

constexpr MatrixAffordances Ikarus::mass = MatrixAffordances::mass
inlineconstexpr

◆ potentialEnergy

constexpr ScalarAffordances Ikarus::potentialEnergy = ScalarAffordances::mechanicalPotentialEnergy
inlineconstexpr

◆ stiffness

constexpr MatrixAffordances Ikarus::stiffness = MatrixAffordances::stiffness
inlineconstexpr

◆ stiffnessdiffBucklingVector

constexpr MatrixAffordances Ikarus::stiffnessdiffBucklingVector = MatrixAffordances::stiffnessdiffBucklingVector
inlineconstexpr