106 KOKKOS_ASSERT(
false);
118 KOKKOS_ASSERT(
false);
127 KOKKOS_ASSERT(
false);
136 KOKKOS_ASSERT(
false);
158 Function(std::shared_ptr<FunctionWrapperHostBase> wrapper);
172 KOKKOS_FUNCTION
operator bool()
const
const InputParameters & parameters() const
Get the parameters of the object.
The base class for a user to derive their own Kokkos functions.
KOKKOS_FUNCTION Real3 curl(Real, Real3) const
Evaluate a curl at point (t,x,y,z)
KOKKOS_FUNCTION Real average() const
Evaluate the average over the domain.
FunctionBase(const FunctionBase &object)
Copy constructor for parallel dispatch.
KOKKOS_FUNCTION Real3 gradient(Real, Real3) const
Evaluate a gradient at point (t,x,y,z)
KOKKOS_FUNCTION Real integral() const
Evaluate the integral over the domain.
KOKKOS_FUNCTION Real timeIntegral(Real, Real, Real3) const
Evaluate a time integral at point (x,y,z) between time t1 and t2.
KOKKOS_FUNCTION Real timeDerivative(Real, Real3) const
Evaluate a time derivative at point (t,x,y,z)
KOKKOS_FUNCTION Real value(Real, Real3) const
Evaluate a scalar value at point (t,x,y,z)
KOKKOS_FUNCTION Real div(Real, Real3) const
Evaluate a divergence at point (t,x,y,z)
static InputParameters validParams()
FunctionBase(const InputParameters ¶meters)
Constructor.
KOKKOS_FUNCTION Real3 vectorValue(Real, Real3) const
Evaluate a vector value at point (t,x,y,z)
Base class for device function wrapper.
KOKKOS_FUNCTION KOKKOS_VIRTUAL Real3 gradient(Real, Real3) const
KOKKOS_FUNCTION KOKKOS_VIRTUAL Real value(Real, Real3) const
Virtual shims that calls the corresponding methods of the actual stored function.
KOKKOS_FUNCTION KOKKOS_VIRTUAL Real average() const
KOKKOS_FUNCTION KOKKOS_VIRTUAL Real timeIntegral(Real, Real, Real3) const
KOKKOS_FUNCTION KOKKOS_VIRTUAL Real3 vectorValue(Real, Real3) const
KOKKOS_FUNCTION KOKKOS_VIRTUAL Real timeDerivative(Real, Real3) const
KOKKOS_FUNCTION KOKKOS_VIRTUAL Real div(Real, Real3) const
KOKKOS_FUNCTION KOKKOS_VIRTUAL Real3 curl(Real, Real3) const
KOKKOS_FUNCTION KOKKOS_VIRTUAL Real integral() const
The abstract class that provides polymorphic interfaces for a function.
KOKKOS_FUNCTION Real timeDerivative(Real t, Real3 p) const
Function()=default
Default constructor.
KOKKOS_FUNCTION Real3 curl(Real t, Real3 p) const
KOKKOS_FUNCTION Real average() const
std::shared_ptr< FunctionWrapperHostBase > _wrapper_host
Pointer to the host function wrapper.
KOKKOS_FUNCTION Real value(Real t, Real3 p) const
FunctionWrapperDeviceBase * _wrapper_device
Pointer to the device function wrapper.
Function(const Function &function)
Copy constructor for parallel dispatch.
KOKKOS_FUNCTION Real integral() const
Function(std::shared_ptr< FunctionWrapperHostBase > wrapper)
Constructor.
KOKKOS_FUNCTION Real div(Real t, Real3 p) const
KOKKOS_FUNCTION Real timeIntegral(Real t1, Real t2, Real3 p) const
KOKKOS_FUNCTION Real3 gradient(Real t, Real3 p) const
KOKKOS_FUNCTION Real3 vectorValue(Real t, Real3 p) const