https://mooseframework.inl.gov
GenericKernelGrad.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 "KernelGrad.h"
13 #include "ADKernelGrad.h"
14 
15 template <bool is_ad>
16 using GenericKernelGrad = std::conditional_t<is_ad, ADKernelGrad, KernelGrad>;
17 
18 #define usingGenericKernelGradMembers \
19  usingFunctionInterfaceMembers; \
20  usingPostprocessorInterfaceMembers; \
21  usingMooseObjectMembers; \
22  usingTransientInterfaceMembers; \
23  usingTaggingInterfaceMembers; \
24  usingBlockRestrictableMembers; \
25  usingCoupleableMembers; \
26  using GenericKernelGrad<is_ad>::_qp; \
27  using GenericKernelGrad<is_ad>::_grad_u
std::conditional_t< is_ad, ADKernelGrad, KernelGrad > GenericKernelGrad