https://mooseframework.inl.gov
Loading...
Searching...
No Matches
KokkosADDiffusion.h
Go to the documentation of this file.
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 "KokkosADKernel.h"
13
15{
16public:
18
20
21 template <typename Derived>
22 KOKKOS_FUNCTION Moose::Kokkos::ADReal
23 computeQpResidual(const unsigned int i, const unsigned int qp, AssemblyDatum & datum) const;
24};
25
26template <typename Derived>
27KOKKOS_FUNCTION Moose::Kokkos::ADReal
29 const unsigned int qp,
30 AssemblyDatum & datum) const
31{
32 return _grad_u(datum, qp) * _grad_test(datum, i, qp);
33}
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
KokkosADDiffusion(const InputParameters &parameters)
static InputParameters validParams()
KOKKOS_FUNCTION Moose::Kokkos::ADReal computeQpResidual(const unsigned int i, const unsigned int qp, AssemblyDatum &datum) const
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
The base class for a user to derive their own Kokkos kernels using automatic differentiation (AD).
const ADVariableTestGradient _grad_test
Gradient of the current test function.
const ADVariableGradient _grad_u
Gradient of the current solution at quadrature points.
The Kokkos object that holds thread-private data in the parallel operations of Kokkos kernels.
DualNumber< Real, DNDerivativeType, false > ADReal