Line data Source code
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 : 10 : #include "RankFourTensorImplementation.h" 11 : 12 : template class RankFourTensorTempl<Real>; 13 : template class RankFourTensorTempl<ADReal>; 14 : 15 : namespace MathUtils 16 : { 17 : template <> 18 : void 19 0 : mooseSetToZero<RankFourTensor>(RankFourTensor & v) 20 : { 21 0 : v.zero(); 22 0 : } 23 : template <> 24 : void 25 0 : mooseSetToZero<ADRankFourTensor>(ADRankFourTensor & v) 26 : { 27 0 : v.zero(); 28 0 : } 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 : 37 : RankTwoTensorMultInstantiate(RankTwoTensorTempl); 38 : RankTwoTensorMultInstantiate(TensorValue); 39 : RankTwoTensorMultInstantiate(TypeTensor); 40 : 41 : template RankFourTensor RankFourTensor::operator+(const RankFourTensor & a) const; 42 : template ADRankFourTensor ADRankFourTensor::operator+(const RankFourTensor & a) const; 43 : template ADRankFourTensor RankFourTensor::operator+(const ADRankFourTensor & a) const; 44 : template ADRankFourTensor ADRankFourTensor::operator+(const ADRankFourTensor & a) const; 45 : 46 : template RankFourTensor RankFourTensor::operator-(const RankFourTensor & a) const; 47 : template ADRankFourTensor ADRankFourTensor::operator-(const RankFourTensor & a) const; 48 : template ADRankFourTensor RankFourTensor::operator-(const ADRankFourTensor & a) const; 49 : template ADRankFourTensor ADRankFourTensor::operator-(const ADRankFourTensor & a) const; 50 : 51 : template RankFourTensor RankFourTensor::operator*(const RankFourTensor & a) const; 52 : template ADRankFourTensor ADRankFourTensor::operator*(const RankFourTensor & a) const; 53 : template ADRankFourTensor RankFourTensor::operator*(const ADRankFourTensor & a) const; 54 : template ADRankFourTensor ADRankFourTensor::operator*(const ADRankFourTensor & a) const;