https://mooseframework.inl.gov
Loading...
Searching...
No Matches
KokkosParsedMaterial.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 "KokkosMaterial.h"
14
16{
17public:
19
21
22 template <typename Derived>
23 KOKKOS_FUNCTION void computeQpProperties(const unsigned int qp, Datum & datum) const;
24
25protected:
30};
31
32template <typename Derived>
33KOKKOS_FUNCTION void
34KokkosParsedMaterial::computeQpProperties(const unsigned int qp, Datum & datum) const
35{
36 _prop(datum, qp) = _evaluator.eval(_t, datum.q_point(qp), qp, &datum);
37}
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
KokkosParsedMaterial(const InputParameters &parameters)
static InputParameters validParams()
Moose::Kokkos::MaterialProperty< Real > _prop
Parsed material property.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
The Kokkos object that holds thread-private data in the parallel operations of any Kokkos object.
KOKKOS_FUNCTION Real3 q_point(const unsigned int qp)
Get the physical quadrature point coordinate.
virtual void computeQpProperties() override final
Users must override this method.
Scalar< Real > _t
TODO: Move to TransientInterface.
The Kokkos material property class.
The base class for a user to derive their own Kokkos materials.
RPNEvaluator _evaluator
Parsed function evaluator.
KOKKOS_FUNCTION Real eval(const Real t, const Real3 p, const unsigned int qp=0, Datum *datum=nullptr) const
Evaluate RPN at point (t,x,y,z)