123template <
int DisplacementDim>
 
  137        P const& E_i, 
P const& E_a, 
P const& nu_ii, 
P const& nu_ia,
 
  139        std::optional<ParameterLib::CoordinateSystem> 
const&
 
  140            local_coordinate_system)
 
 
  160        return eps.dot(sigma) / 2;
 
 
  164        std::tuple<typename MechanicsBase<DisplacementDim>::KelvinVector,
 
  166                       DisplacementDim>::MaterialStateVariables>,
 
  173            material_state_variables) 
const override;
 
  177                                  double const T) 
const;
 
  183        const double E_i = 
E_i_p_(t, x)[0];
 
  184        const double E_a = 
E_a_p_(t, x)[0];
 
  185        const double nu_i = 
nu_ii_p_(t, x)[0];
 
  186        const double nu_ia = 
nu_ia_p_(t, x)[0];
 
  189        double const E_av = 2. * E_i / 3. + E_a / 3.;
 
  193        const double nu_ai = nu_ia * E_a / E_i;
 
  198        const double nu_av = (nu_ai + nu_ia + nu_i) / 3.0;
 
  200        return E_av / 3 / (1 - 2 * nu_av);
 
 
  217    std::optional<ParameterLib::CoordinateSystem> 
const&
 
 
P const  & nu_ii_p_
It is the in-plane Poisson’s ratio, .
 
MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > KelvinMatrix
 
KelvinMatrix getElasticTensorLeftTopCorner(double const t, ParameterLib::SpatialPosition const &x) const
 
LinearElasticTransverseIsotropic(P const &E_i, P const &E_a, P const &nu_ii, P const &nu_ia, P const &G_ia, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system)
 
double getBulkModulus(double const t, ParameterLib::SpatialPosition const &x, KelvinMatrix const *const) const override
 
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > KelvinVector
 
P const  & E_i_p_
It is the in-plane Young’s modulus, .
 
std::optional< ParameterLib::CoordinateSystem > const  & local_coordinate_system_
 
KelvinMatrix getElasticTensor(double const t, ParameterLib::SpatialPosition const &x, double const T) const
 
ParameterLib::Parameter< double > P
 
std::optional< std::tuple< typename MechanicsBase< DisplacementDim >::KelvinVector, std::unique_ptr< typename MechanicsBase< DisplacementDim >::MaterialStateVariables >, typename MechanicsBase< DisplacementDim >::KelvinMatrix > > integrateStress(MaterialPropertyLib::VariableArray const &variable_array_prev, MaterialPropertyLib::VariableArray const &variable_array, double const t, ParameterLib::SpatialPosition const &x, double const dt, typename MechanicsBase< DisplacementDim >::MaterialStateVariables const &material_state_variables) const override
 
static int const KelvinVectorSize
 
double computeFreeEnergyDensity(double const, ParameterLib::SpatialPosition const &, double const, KelvinVector const &eps, KelvinVector const &sigma, typename MechanicsBase< DisplacementDim >::MaterialStateVariables const &) const override
 
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.
 
Eigen::Matrix< double, kelvin_vector_dimensions(DisplacementDim), 1, Eigen::ColMajor > KelvinVectorType
 
Eigen::Matrix< double, kelvin_vector_dimensions(DisplacementDim), kelvin_vector_dimensions(DisplacementDim), Eigen::RowMajor > KelvinMatrixType
 
MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > KelvinMatrix