15 #if defined(__clang__) 16 #pragma clang diagnostic push 17 #pragma clang diagnostic ignored "-Woverloaded-virtual" 18 #elif defined(__GNUC__) || defined(__GNUG__) 19 #pragma GCC diagnostic push 20 #pragma GCC diagnostic ignored "-Woverloaded-virtual" 98 template <
typename Derived>
100 KOKKOS_FUNCTION
void operator()(ElementInit,
const ThreadID tid,
const Derived & material)
const;
101 template <
typename Derived>
102 KOKKOS_FUNCTION
void operator()(SideInit,
const ThreadID tid,
const Derived & material)
const;
103 template <
typename Derived>
104 KOKKOS_FUNCTION
void operator()(NeighborInit,
const ThreadID tid,
const Derived & material)
const;
105 template <
typename Derived>
108 template <
typename Derived>
109 KOKKOS_FUNCTION
void operator()(SideCompute,
const ThreadID tid,
const Derived & material)
const;
110 template <
typename Derived>
121 const unsigned int state)
override final;
154 const QBase *
const &
_qrule;
160 template <
typename Derived>
168 for (
unsigned int qp = 0; qp < datum.
n_qps(); qp++)
171 material.initQpStatefulProperties(qp, datum);
175 template <
typename Derived>
183 for (
unsigned int qp = 0; qp < datum.
n_qps(); qp++)
186 material.initQpStatefulProperties(qp, datum);
190 template <
typename Derived>
198 for (
unsigned int qp = 0; qp < datum.
n_qps(); qp++)
201 material.initQpStatefulProperties(qp, datum);
205 template <
typename Derived>
213 for (
unsigned int qp = 0; qp < datum.
n_qps(); qp++)
216 material.computeQpProperties(qp, datum);
220 template <
typename Derived>
228 for (
unsigned int qp = 0; qp < datum.
n_qps(); qp++)
231 material.computeQpProperties(qp, datum);
235 template <
typename Derived>
243 for (
unsigned int qp = 0; qp < datum.
n_qps(); qp++)
246 material.computeQpProperties(qp, datum);
virtual const std::unordered_set< unsigned int > & getMatPropDependencies() const
Retrieve the set of material properties that this object depends on.
virtual void checkMaterialProperty(const std::string &name, const unsigned int state)
A helper method for checking material properties This method was required to avoid a compiler problem...
virtual void initStatefulProperties(unsigned int) override
Dispatch stateful material property initialization.
The Kokkos object that holds thread-private data in the parallel operations of any Kokkos object...
virtual MaterialDataType materialDataType() override
const unsigned int invalid_uint
KOKKOS_FUNCTION const Assembly & kokkosAssembly() const
Get the const reference of the Kokkos assembly.
virtual void checkMaterialProperty(const std::string &name, const unsigned int state) override
A helper method for checking material properties This method was required to avoid a compiler problem...
virtual bool boundaryRestricted() const
Returns true if this object has been restricted to a boundary.
const InputParameters & parameters() const
Get the parameters of the object.
MaterialDataType
MaterialData types.
static auto defaultInitStateful()
Get the function pointer of the default initQpStatefulProperties()
KOKKOS_FUNCTION ContiguousElementID kokkosElementID(ThreadID tid) const
Get the contiguous element ID for a thread.
static InputParameters validParams()
MaterialData & _material_data
The material data class that stores properties.
KOKKOS_FUNCTION void operator()(ElementInit, const ThreadID tid, const Derived &material) const
The parallel computation entry functions called by Kokkos.
KOKKOS_FUNCTION void initQpStatefulProperties(const unsigned int, Datum &) const
Default methods to prevent compile errors even when these methods were not defined in the derived cla...
void getKokkosMaterialPropertyHook(const std::string &prop_name_in, const unsigned int state) override final
Override of the MaterialPropertyInterface function to perform additional checks and add dependencies...
const std::string & name() const
Get the name of the class.
virtual const QBase & qRule() const override
KOKKOS_FUNCTION unsigned int n_qps() const
Get the number of local quadrature points.
KOKKOS_FUNCTION auto kokkosElementSideID(ThreadID tid) const
Get the contiguous element ID - side index pair for a thread.
virtual void computeProperties() override
Dispatch material property evaluation.
Material(const InputParameters ¶meters)
Constructor.
Interface for objects that needs coupling capabilities.
The base class for a user to derive their own Kokkos materials.
virtual const std::unordered_set< unsigned int > & getMatPropDependencies() const override
Retrieve the set of material properties that this object depends on.
An interface for accessing Materials.
const QBase *const & _qrule
Dummy members unused for Kokkos materials.
virtual MaterialData & materialData() override
Proxy for accessing MaterialPropertyStorage.
virtual bool isBoundaryMaterial() const override
Returns true of the MaterialData type is not associated with volume data.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
const bool _neighbor
Flag whether the material is on neighbor faces.
virtual const MaterialData & materialData() const override
const Moose::MaterialDataType _material_data_type
The type of data.
The base class for Kokkos materials.
KOKKOS_FUNCTION void reinit()
Reset the reinit flag.
const bool _bnd
Flag whether the material is on faces.
KOKKOS_FUNCTION const Array< System > & kokkosSystems() const
Get the const reference of the Kokkos systems.
virtual void initQpStatefulProperties() override final
Initialize stateful properties at quadrature points.