The symmetric fourth order tensor, with symmetry in the first two dimensionss as well as in the last two dimensions.
More...
The symmetric fourth order tensor, with symmetry in the first two dimensionss as well as in the last two dimensions.
Mandel notation is used, and so the storage space is (6, 6).
|
| SSR4 (const R4 &T) |
| Initialize with the symmetrized fourth order tensor.
|
|
SSR4 | rotate (const Rot &r) const |
| Rotate.
|
|
SSFR5 | drotate (const Rot &r) const |
| Derivative of the rotated tensor w.r.t. the Rodrigues vector.
|
|
SSSSR8 | drotate_self (const Rot &r) const |
| Derivative of the rotated tensor w.r.t. itself.
|
|
Scalar | operator() (Size i, Size j, Size k, Size l) const |
| Accessor.
|
|
SSR4 | inverse () const |
| Inversion.
|
|
SSSSR8 | dinverse () const |
| Derivative of inverse with respect to self.
|
|
SSR4 | transpose_minor () const |
| Transpose minor axes, no-op.
|
|
SSR4 | transpose_major () const |
| Transpose major axes.
|
|
| PrimitiveTensor ()=default |
| Default constructor.
|
|
| PrimitiveTensor (const torch::Tensor &tensor, Size batch_dim) |
| Construct from another torch::Tensor given batch dimension.
|
|
| PrimitiveTensor (const torch::Tensor &tensor, const TraceableTensorShape &batch_shape) |
| Construct from another torch::Tensor given batch shape.
|
|
| PrimitiveTensor (const TensorBase< Derived2 > &tensor) |
| Copy constructor.
|
|
| PrimitiveTensor (const torch::Tensor &tensor) |
| Construct from another torch::Tensor and infer batch dimension.
|
|
| operator Tensor () const |
| Implicit conversion to a Tensor and loses information on the fixed base shape.
|
|
| TensorBase ()=default |
| Default constructor.
|
|
| TensorBase (const torch::Tensor &tensor, Size batch_dim) |
| Construct from another torch::Tensor with given batch dimension.
|
|
| TensorBase (const torch::Tensor &tensor, const TraceableTensorShape &batch_shape) |
| Construct from another torch::Tensor with given batch shape.
|
|
template<class Derived2 > |
| TensorBase (const TensorBase< Derived2 > &tensor) |
| Copy constructor.
|
|
| TensorBase (Real)=delete |
|
Derived | variable_data () const |
|
Derived | clone (torch::MemoryFormat memory_format=torch::MemoryFormat::Contiguous) const |
|
Derived | detach () const |
| Discard function graph.
|
|
Derived | to (const torch::TensorOptions &options) const |
| Change tensor options.
|
|
Derived | operator- () const |
| Negation.
|
|
bool | batched () const |
| Whether the tensor is batched.
|
|
Size | batch_dim () const |
| Return the number of batch dimensions.
|
|
Size | base_dim () const |
| Return the number of base dimensions.
|
|
const TraceableTensorShape & | batch_sizes () const |
| Return the batch size.
|
|
TraceableSize | batch_size (Size index) const |
| Return the size of a batch axis.
|
|
TensorShapeRef | base_sizes () const |
| Return the base size.
|
|
Size | base_size (Size index) const |
| Return the size of a base axis.
|
|
Size | base_storage () const |
| Return the flattened storage needed just for the base indices.
|
|
Derived | batch_index (indexing::TensorIndicesRef indices) const |
| Get a tensor by slicing on the batch dimensions.
|
|
neml2::Tensor | base_index (indexing::TensorIndicesRef indices) const |
| Get a tensor by slicing on the base dimensions.
|
|
void | batch_index_put_ (indexing::TensorIndicesRef indices, const torch::Tensor &other) |
|
void | batch_index_put_ (indexing::TensorIndicesRef indices, Real v) |
|
void | base_index_put_ (indexing::TensorIndicesRef indices, const torch::Tensor &other) |
|
void | base_index_put_ (indexing::TensorIndicesRef indices, Real v) |
|
Derived | batch_expand (const TraceableTensorShape &batch_shape) const |
|
Derived | batch_expand (const TraceableSize &batch_size, Size dim) const |
| Return a new view of the tensor with values broadcast along a given batch dimension.
|
|
neml2::Tensor | base_expand (TensorShapeRef base_shape) const |
| Return a new view of the tensor with values broadcast along the base dimensions.
|
|
neml2::Tensor | base_expand (Size base_size, Size dim) const |
| Return a new view of the tensor with values broadcast along a given base dimension.
|
|
template<class Derived2 > |
Derived | batch_expand_as (const Derived2 &other) const |
| Expand the batch to have the same shape as another tensor.
|
|
template<class Derived2 > |
Derived2 | base_expand_as (const Derived2 &other) const |
| Expand the base to have the same shape as another tensor.
|
|
Derived | batch_expand_copy (const TraceableTensorShape &batch_shape) const |
| Return a new tensor with values broadcast along the batch dimensions.
|
|
neml2::Tensor | base_expand_copy (TensorShapeRef base_shape) const |
| Return a new tensor with values broadcast along the base dimensions.
|
|
Derived | batch_reshape (const TraceableTensorShape &batch_shape) const |
| Reshape batch dimensions.
|
|
neml2::Tensor | base_reshape (TensorShapeRef base_shape) const |
| Reshape base dimensions.
|
|
Derived | batch_unsqueeze (Size d) const |
| Unsqueeze a batch dimension.
|
|
neml2::Tensor | base_unsqueeze (Size d) const |
| Unsqueeze a base dimension.
|
|
Derived | batch_transpose (Size d1, Size d2) const |
| Transpose two batch dimensions.
|
|
neml2::Tensor | base_transpose (Size d1, Size d2) const |
| Transpose two base dimensions.
|
|
neml2::Tensor | base_flatten () const |
| Flatten base dimensions.
|
|
|
static SSR4 | identity (const torch::TensorOptions &options=default_tensor_options()) |
| Create the identity tensor \(\delta_{ij}\delta_{kl}\).
|
|
static SSR4 | identity_sym (const torch::TensorOptions &options=default_tensor_options()) |
| Create the symmetric identity tensor \(\delta_{ik}\delta_{jl}/2 + \delta_{il}\delta_{jk}/2\).
|
|
static SSR4 | identity_vol (const torch::TensorOptions &options=default_tensor_options()) |
| Create the volumetric identity tensor \(\delta_{ij}\delta_{kl}/3\).
|
|
static SSR4 | identity_dev (const torch::TensorOptions &options=default_tensor_options()) |
| Create the deviatoric identity tensor \(\delta_{ik}\delta_{jl}/2 + \delta_{il}\delta_{jk}/2 - \delta_{ij}\delta_{kl}/3\).
|
|
static SSR4 | identity_C1 (const torch::TensorOptions &options=default_tensor_options()) |
| Building block for C1 constant.
|
|
static SSR4 | identity_C2 (const torch::TensorOptions &options=default_tensor_options()) |
| Building block for C2 constant.
|
|
static SSR4 | identity_C3 (const torch::TensorOptions &options=default_tensor_options()) |
| Building block for C3 constant.
|
|
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.
|
|
static SSR4 | isotropic_E_nu (const Real &E, const Real &nu, const torch::TensorOptions &options=default_tensor_options()) |
| Create the fourth order elasticity tensor given the Young's modulus and the Poisson's ratio.
|
|
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.
|
|
static SSR4 | fill_C1_C2_C3 (const Real &C1, const Real &C2, const Real &C3, const torch::TensorOptions &options=default_tensor_options()) |
| Create the fourth order elasticity tensor given the three non-zero coefficients.
|
|
static SSSSR8 | identity_map (const torch::TensorOptions &options=default_tensor_options()) |
| The derivative of a SSR4 with respect to itself.
|
|
static SSR4 | empty (const torch::TensorOptions &options=default_tensor_options()) |
| Unbatched empty tensor.
|
|
static SSR4 | empty (const TraceableTensorShape &batch_shape, const torch::TensorOptions &options=default_tensor_options()) |
| Empty tensor given batch shape.
|
|
static SSR4 | zeros (const torch::TensorOptions &options=default_tensor_options()) |
| Unbatched zero tensor.
|
|
static SSR4 | zeros (const TraceableTensorShape &batch_shape, const torch::TensorOptions &options=default_tensor_options()) |
| Zero tensor given batch shape.
|
|
static SSR4 | ones (const torch::TensorOptions &options=default_tensor_options()) |
| Unbatched unit tensor.
|
|
static SSR4 | ones (const TraceableTensorShape &batch_shape, const torch::TensorOptions &options=default_tensor_options()) |
| Unit tensor given batch shape.
|
|
static SSR4 | full (Real init, const torch::TensorOptions &options=default_tensor_options()) |
| Unbatched tensor filled with a given value given base shape.
|
|
static SSR4 | full (const TraceableTensorShape &batch_shape, Real init, const torch::TensorOptions &options=default_tensor_options()) |
| Full tensor given batch shape.
|
|
static Tensor | identity_map (const torch::TensorOptions &) |
| Derived tensor classes should define identity_map where appropriate.
|
|
static Derived | empty_like (const Derived &other) |
| Empty tensor like another, i.e. same batch and base shapes, same tensor options, etc.
|
|
static Derived | zeros_like (const Derived &other) |
| Zero tensor like another, i.e. same batch and base shapes, same tensor options, etc.
|
|
static Derived | ones_like (const Derived &other) |
| Unit tensor like another, i.e. same batch and base shapes, same tensor options, etc.
|
|
static Derived | full_like (const Derived &other, Real init) |
|
static Derived | linspace (const Derived &start, const Derived &end, Size nstep, Size dim=0) |
| Create a new tensor by adding a new batch dimension with linear spacing between start and end .
|
|
static Derived | logspace (const Derived &start, const Derived &end, Size nstep, Size dim=0, Real base=10) |
| log-space equivalent of the linspace named constructor
|
|