LCOV - code coverage report
Current view: top level - include/interfacekernels - GenericInterfaceKernel.h (source / functions) Hit Total Coverage
Test: idaholab/moose framework: 8601ad Lines: 8 8 100.0 %
Date: 2025-07-18 13:27:08 Functions: 7 8 87.5 %
Legend: Lines: hit not hit

          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 "InterfaceKernel.h"
      13             : #include "ADInterfaceKernel.h"
      14             : 
      15             : template <typename T, bool is_ad>
      16             : class GenericInterfaceKernelTempl : public InterfaceKernelTempl<T>
      17             : {
      18             : public:
      19       29095 :   static InputParameters validParams() { return InterfaceKernelTempl<T>::validParams(); };
      20         295 :   GenericInterfaceKernelTempl(const InputParameters & parameters)
      21         295 :     : InterfaceKernelTempl<T>(parameters)
      22             :   {
      23         295 :   }
      24             : };
      25             : 
      26             : template <typename T>
      27             : class GenericInterfaceKernelTempl<T, true> : public ADInterfaceKernelTempl<T>
      28             : {
      29             : public:
      30       28555 :   static InputParameters validParams() { return ADInterfaceKernelTempl<T>::validParams(); };
      31          13 :   GenericInterfaceKernelTempl(const InputParameters & parameters)
      32          13 :     : ADInterfaceKernelTempl<T>(parameters)
      33             :   {
      34          13 :   }
      35             : };
      36             : 
      37             : template <bool is_ad>
      38             : using GenericInterfaceKernel = GenericInterfaceKernelTempl<Real, is_ad>;
      39             : 
      40             : #define usingGenericInterfaceKernelTemplMembers(T)                                                 \
      41             :   usingFunctionInterfaceMembers;                                                                   \
      42             :   usingPostprocessorInterfaceMembers;                                                              \
      43             :   usingMooseObjectMembers;                                                                         \
      44             :   usingTransientInterfaceMembers;                                                                  \
      45             :   usingTaggingInterfaceMembers;                                                                    \
      46             :   using GenericInterfaceKernelTempl<T, is_ad>::_qp;                                                \
      47             :   using GenericInterfaceKernelTempl<T, is_ad>::_i;                                                 \
      48             :   using GenericInterfaceKernelTempl<T, is_ad>::_j;                                                 \
      49             :   using GenericInterfaceKernelTempl<T, is_ad>::_u;                                                 \
      50             :   using GenericInterfaceKernelTempl<T, is_ad>::_phi;                                               \
      51             :   using GenericInterfaceKernelTempl<T, is_ad>::_test;                                              \
      52             :   using GenericInterfaceKernelTempl<T, is_ad>::_q_point;                                           \
      53             :   using GenericInterfaceKernelTempl<T, is_ad>::_var;                                               \
      54             :   using GenericInterfaceKernelTempl<T, is_ad>::_neighbor_value;                                    \
      55             :   using GenericInterfaceKernelTempl<T, is_ad>::_test_neighbor;                                     \
      56             :   using GenericInterfaceKernelTempl<T, is_ad>::_phi_neighbor;                                      \
      57             :   using Coupleable::getVar;                                                                        \
      58             :   using Coupleable::coupled;                                                                       \
      59             :   using Coupleable::coupledComponents
      60             : 
      61             : #define usingGenericInterfaceKernelMembers usingGenericInterfaceKernelTemplMembers(Real)

Generated by: LCOV version 1.14