https://mooseframework.inl.gov
Loading...
Searching...
No Matches
RankFourTensor.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
11
12template class RankFourTensorTempl<Real>;
13template class RankFourTensorTempl<ADReal>;
14
15namespace MathUtils
16{
17template <>
18void
19mooseSetToZero<RankFourTensor>(RankFourTensor & v)
20{
21 v.zero();
22}
23template <>
24void
25mooseSetToZero<ADRankFourTensor>(ADRankFourTensor & v)
26{
27 v.zero();
28}
29}
30
31#define RankTwoTensorMultInstantiate(TemplateClass) \
32 template RankTwoTensor RankFourTensor::operator*(const TemplateClass<Real> & a) const; \
33 template ADRankTwoTensor ADRankFourTensor::operator*(const TemplateClass<Real> & a) const; \
34 template ADRankTwoTensor RankFourTensor::operator*(const TemplateClass<ADReal> & a) const; \
35 template ADRankTwoTensor ADRankFourTensor::operator*(const TemplateClass<ADReal> & a) const
36
40
45
50
RankTwoTensorMultInstantiate(RankTwoTensorTempl)
RankFourTensorTempl is designed to handle any N-dimensional fourth order tensor, C.
auto operator+(const RankFourTensorTempl< T2 > &a) const -> RankFourTensorTempl< decltype(T()+T2())>
C_ijkl + a_ijkl.
RankFourTensorTempl< T > operator-() const
-C_ijkl
void zero()
Zeros out the tensor.
auto operator*(const Tensor< T2 > &a) const -> typename std::enable_if< TwoTensorMultTraits< Tensor, T2 >::value, RankTwoTensorTempl< decltype(T() *T2())> >::type
C_ijkl*a_kl.
RankTwoTensorTempl is designed to handle the Stress or Strain Tensor for a fully anisotropic material...