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"
85 template <
typename Derived>
90 "Default initQpStatefulProperties() should never be called. Make sure you properly "
91 "redefined this method in your class without typos.");
101 template <
typename Derived>
104 return &Material::initQpStatefulProperties<Derived>;
112 template <
typename Derived>
113 KOKKOS_FUNCTION
void operator()(ElementInit,
const ThreadID tid,
const Derived & material)
const;
114 template <
typename Derived>
115 KOKKOS_FUNCTION
void operator()(SideInit,
const ThreadID tid,
const Derived & material)
const;
116 template <
typename Derived>
117 KOKKOS_FUNCTION
void operator()(NeighborInit,
const ThreadID tid,
const Derived & material)
const;
118 template <
typename Derived>
121 template <
typename Derived>
122 KOKKOS_FUNCTION
void operator()(SideCompute,
const ThreadID tid,
const Derived & material)
const;
123 template <
typename Derived>
134 const unsigned int state)
override final;
173template <
typename Derived>
185 for (
unsigned int qp = 0; qp < num_qps; ++qp)
186 material.template initQpStatefulProperties<Derived>(qp, datum);
189template <
typename Derived>
199 for (
unsigned int qp = 0; qp < num_qps; ++qp)
200 material.template initQpStatefulProperties<Derived>(qp, datum);
203template <
typename Derived>
213 for (
unsigned int qp = 0; qp < num_qps; ++qp)
214 material.template initQpStatefulProperties<Derived>(qp, datum);
217template <
typename Derived>
229 for (
unsigned int qp = 0; qp < num_qps; ++qp)
230 material.template computeQpProperties<Derived>(qp, datum);
233template <
typename Derived>
243 for (
unsigned int qp = 0; qp < num_qps; ++qp)
244 material.template computeQpProperties<Derived>(qp, datum);
247template <
typename Derived>
257 for (
unsigned int qp = 0; qp < num_qps; ++qp)
258 material.template computeQpProperties<Derived>(qp, datum);
virtual bool boundaryRestricted() const
Returns true if this object has been restricted to a boundary.
Interface for objects that needs coupling capabilities.
Proxy for accessing MaterialPropertyStorage.
An interface for accessing Materials.
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...
const Moose::MaterialDataType _material_data_type
The type of data.
virtual const std::unordered_set< unsigned int > & getMatPropDependencies() const
Retrieve the set of material properties that this object depends on.
MaterialData & _material_data
The material data class that stores properties.
const InputParameters & parameters() const
Get the parameters of the object.
const std::string & name() const
Get the name of the class.
KOKKOS_FUNCTION const Assembly & kokkosAssembly() const
Get the const reference of the Kokkos assembly.
The Kokkos object that holds thread-private data in the parallel operations of any Kokkos object.
KOKKOS_FUNCTION unsigned int n_qps() const
Get the number of local quadrature points.
The base class for Kokkos materials.
KOKKOS_FUNCTION auto kokkosElementSideID(ThreadID tid) const
Get the contiguous element ID - side index pair for a thread.
KOKKOS_FUNCTION ContiguousElementID kokkosElementID(ThreadID tid) const
Get the contiguous element ID for a thread.
const PropertyConstantOption _constant_option
Whether the properties declared by this material are constant over element or subdomain.
The base class for a user to derive their own Kokkos materials.
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...
const QBase *const & _qrule
Dummy members unused for Kokkos materials.
virtual MaterialDataType materialDataType() override
virtual void initStatefulProperties(unsigned int) override
Dispatch stateful material property initialization.
virtual bool isBoundaryMaterial() const override
Returns true of the MaterialData type is not associated with volume data.
Material(const InputParameters ¶meters)
Constructor.
virtual const QBase & qRule() const override
virtual MaterialData & materialData() override
static InputParameters validParams()
static auto defaultInitStateful()
Functions used to check if users have overriden the hook methods, whose calculations can be skipped w...
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...
const bool _bnd
Flag whether the material is on faces.
KOKKOS_FUNCTION void operator()(ElementInit, const ThreadID tid, const Derived &material) const
The parallel computation entry functions called by Kokkos.
virtual void computeProperties() override
Dispatch material property evaluation.
Material(const Material &object)
Copy constructor for parallel dispatch.
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.
virtual const MaterialData & materialData() const override
virtual const std::unordered_set< unsigned int > & getMatPropDependencies() const override
Retrieve the set of material properties that this object depends on.
const bool _neighbor
Flag whether the material is on neighbor faces.
MOOSE_KOKKOS_INDEX_TYPE ThreadID
MaterialDataType
MaterialData types.
const unsigned int invalid_uint