version 0.4.1
Ikarus::Concepts::DeviatoricFunction Concept Reference

Concept to check if the underlying function is a deviatoric function. More...

#include <ikarus/finiteelements/mechanics/materials/hyperelastic/concepts.hh>

Concept definition

template<typename DF>
concept Ikarus::Concepts::DeviatoricFunction = requires(DF dm, const typename DF::template PrincipalStretches<>& lambda) {
typename DF::ScalarType;
typename DF::template PrincipalStretches<>;
typename DF::template FirstDerivative<>;
typename DF::template SecondDerivative<>;
typename DF::MaterialParameters;
requires std::is_same_v<typename DF::template PrincipalStretches<>, typename DF::template FirstDerivative<>>;
{ dm.storedEnergyImpl(lambda) } -> std::same_as<typename DF::ScalarType>;
{ dm.firstDerivativeImpl(lambda) } -> std::same_as<typename DF::template FirstDerivative<>>;
{ dm.secondDerivativeImpl(lambda) } -> std::same_as<typename DF::template SecondDerivative<>>;
{ dm.materialParametersImpl() } -> std::same_as<typename DF::MaterialParameters>;
{ dm.name() } -> std::convertible_to<std::string>;
}
Concept to check if the underlying function is a deviatoric function.
Definition: finiteelements/mechanics/materials/hyperelastic/concepts.hh:26
Concept defining the requirements for Eigen vectors.
Definition: utils/concepts.hh:353
Concept defining the requirements for Eigen matrices. This also includes Eigen vectors.
Definition: utils/concepts.hh:361

Detailed Description

Template Parameters
Typeof the deviatoric function.