27#include "neml2/tensors/PrimitiveTensor.h"
28#include "neml2/tensors/DTensor.h"
Abstract representation of the derivative of a primitive tensor with respect to another primitive ten...
Definition DTensor.h:67
PrimitiveTensor()=default
Fourth order tensor without symmetry.
Definition R4.h:43
Rotation stored as modified Rodrigues parameters.
Definition Rot.h:49
The symmetric second order tensor.
Definition SR2.h:46
The symmetric fourth order tensor, with symmetry in the first two dimensionss as well as in the last ...
Definition SSR4.h:44
static SSR4 isotropic_E_nu(const Scalar &E, const Scalar &nu)
Create the fourth order elasticity tensor given the Young's modulus and the Poisson's ratio.
SSR4 transpose_minor() const
Transpose minor axes, no-op.
DTensor< SSR4, Rot, neml2::Tensor > drotate(const Rot &r) const
Derivative of the rotated tensor w.r.t. the Rodrigues vector.
static SSR4 identity_dev(const TensorOptions &options=default_tensor_options())
Create the deviatoric identity tensor .
Scalar operator()(Size i, Size j, Size k, Size l) const
Accessor.
static SSR4 identity_C1(const TensorOptions &options=default_tensor_options())
Building block for C1 constant.
static SSR4 identity(const TensorOptions &options=default_tensor_options())
Create the identity tensor .
static SSR4 identity_vol(const TensorOptions &options=default_tensor_options())
Create the volumetric identity tensor .
SSR4(const R4 &T)
Initialize with the symmetrized fourth order tensor.
static SSR4 fill_C1_C2_C3(const Scalar &C1, const Scalar &C2, const Scalar &C3)
Create the fourth order elasticity tensor given the three non-zero coefficients.
DTensor< SSR4, SSR4, neml2::Tensor > drotate_self(const Rot &r) const
Derivative of the rotated tensor w.r.t. itself.
static SSR4 identity_C2(const TensorOptions &options=default_tensor_options())
Building block for C2 constant.
static SSR4 isotropic_E_nu(const double &E, const double &nu, const TensorOptions &options=default_tensor_options())
Create the fourth order elasticity tensor given the Young's modulus and the Poisson's ratio.
static SSR4 identity_C3(const TensorOptions &options=default_tensor_options())
Building block for C3 constant.
static SSR4 fill_C1_C2_C3(const double &C1, const double &C2, const double &C3, const TensorOptions &options=default_tensor_options())
Create the fourth order elasticity tensor given the three non-zero coefficients.
static SSR4 identity_sym(const TensorOptions &options=default_tensor_options())
Create the symmetric identity tensor .
SSR4 rotate(const Rot &r) const
Rotate.
SSR4 transpose_major() const
Transpose major axes.
Scalar.
Definition Scalar.h:38
Definition DiagnosticsInterface.h:31
TensorOptions default_tensor_options()
Default floating point tensor options.
int64_t Size
Definition types.h:71
c10::TensorOptions TensorOptions
Definition types.h:66
SparseTensorList operator*(const Scalar &, const SparseTensorList &)
Multiplication with scalar.