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 "SymmetricRankFourTensorImplementation.h" 11 : 12 : template class SymmetricRankFourTensorTempl<Real>; 13 : template class SymmetricRankFourTensorTempl<ADReal>; 14 : 15 : namespace MathUtils 16 : { 17 : template <> 18 : void 19 0 : mooseSetToZero<SymmetricRankFourTensor>(SymmetricRankFourTensor & v) 20 : { 21 0 : v.zero(); 22 0 : } 23 : template <> 24 : void 25 0 : mooseSetToZero<ADSymmetricRankFourTensor>(ADSymmetricRankFourTensor & v) 26 : { 27 0 : v.zero(); 28 0 : } 29 : } 30 : 31 : #define SymmetricRankFourTensorMultInstantiate(TemplateClass, opname) \ 32 : template TemplateClass<Real> SymmetricRankFourTensor::operator opname( \ 33 : const TemplateClass<Real> & a) const; \ 34 : template TemplateClass<ADReal> ADSymmetricRankFourTensor::operator opname( \ 35 : const TemplateClass<Real> & a) const; \ 36 : template TemplateClass<ADReal> SymmetricRankFourTensor::operator opname( \ 37 : const TemplateClass<ADReal> & a) const; \ 38 : template TemplateClass<ADReal> ADSymmetricRankFourTensor::operator opname( \ 39 : const TemplateClass<ADReal> & a) const 40 : 41 : SymmetricRankFourTensorMultInstantiate(SymmetricRankTwoTensorTempl, *); 42 : SymmetricRankFourTensorMultInstantiate(SymmetricRankFourTensorTempl, *); 43 : SymmetricRankFourTensorMultInstantiate(SymmetricRankFourTensorTempl, +); 44 : SymmetricRankFourTensorMultInstantiate(SymmetricRankFourTensorTempl, -);