Line data Source code
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 : #include "KokkosKernelBase.h" 11 : 12 : #include "MooseVariableFE.h" 13 : #include "Problem.h" 14 : #include "SubProblem.h" 15 : #include "SystemBase.h" 16 : #include "NonlinearSystem.h" 17 : 18 : namespace Moose::Kokkos 19 : { 20 : 21 : InputParameters 22 48170 : KernelBase::validParams() 23 : { 24 48170 : auto params = ResidualObject::validParams(); 25 48170 : params += BlockRestrictable::validParams(); 26 48170 : params += MaterialPropertyInterface::validParams(); 27 48170 : params += LocalParallelInterface::validParams(); 28 : 29 : // Kernels always couple within their element 30 148758 : params.addRelationshipManager("ElementSideNeighborLayers", 31 : Moose::RelationshipManagerType::COUPLING, 32 50441 : [](const InputParameters &, InputParameters & rm_params) 33 18742 : { rm_params.set<unsigned short>("layers") = 0; }); 34 : 35 48170 : params.registerBase("Kernel"); 36 : 37 48170 : return params; 38 0 : } 39 : 40 3123 : KernelBase::KernelBase(const InputParameters & parameters, Moose::VarFieldType field_type) 41 : : ResidualObject(parameters, field_type), 42 : BlockRestrictable(this), 43 : CoupleableMooseVariableDependencyIntermediateInterface(this, false), 44 : MaterialPropertyInterface(this, blockIDs(), Moose::EMPTY_BOUNDARY_IDS), 45 1707 : LocalParallelInterface(this) 46 : { 47 3123 : } 48 : 49 154069 : KernelBase::KernelBase(const KernelBase & object) 50 : : ResidualObject(object), 51 : BlockRestrictable(object, {}), 52 : CoupleableMooseVariableDependencyIntermediateInterface(object, {}), 53 : MaterialPropertyInterface(object, {}), 54 89464 : LocalParallelInterface(object) 55 : { 56 154069 : } 57 : 58 : } // namespace Moose::Kokkos