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 : #pragma once 11 : 12 : #include "KernelCurl.h" 13 : #include "ADKernelCurl.h" 14 : 15 : template <bool is_ad> 16 : class GenericKernelCurl : public KernelCurl 17 : { 18 : public: 19 14468 : static InputParameters validParams() { return KernelCurl::validParams(); }; 20 107 : GenericKernelCurl(const InputParameters & parameters) : KernelCurl(parameters) {} 21 : }; 22 : 23 : template <> 24 : class GenericKernelCurl<true> : public ADKernelCurl 25 : { 26 : public: 27 14334 : static InputParameters validParams() { return ADKernelCurl::validParams(); }; 28 37 : GenericKernelCurl(const InputParameters & parameters) : ADKernelCurl(parameters) {} 29 : }; 30 : 31 : #define usingGenericKernelCurlMembers \ 32 : usingFunctionInterfaceMembers; \ 33 : usingPostprocessorInterfaceMembers; \ 34 : usingMooseObjectMembers; \ 35 : usingTransientInterfaceMembers; \ 36 : usingTaggingInterfaceMembers; \ 37 : usingBlockRestrictableMembers; \ 38 : using GenericKernelCurl<is_ad>::_qp; \ 39 : using GenericKernelCurl<is_ad>::_i; \ 40 : using GenericKernelCurl<is_ad>::_j; \ 41 : using GenericKernelCurl<is_ad>::_u; \ 42 : using GenericKernelCurl<is_ad>::_phi; \ 43 : using GenericKernelCurl<is_ad>::_test; \ 44 : using GenericKernelCurl<is_ad>::_q_point; \ 45 : using GenericKernelCurl<is_ad>::_var; \ 46 : using GenericKernelCurl<is_ad>::getVar; \ 47 : using GenericKernelCurl<is_ad>::_curl_test; \ 48 : using GenericKernelCurl<is_ad>::_curl_phi; \ 49 : using GenericKernelCurl<is_ad>::_curl_u; \ 50 : using Coupleable::coupled; \ 51 : using Coupleable::coupledComponents