12#ifdef MOOSE_KOKKOS_ENABLED
59 const std::set<SubdomainID> & block_ids,
62#ifdef MOOSE_KOKKOS_ENABLED
73 static bool restricted(
const std::set<BoundaryID> & ids);
84 const virtual std::set<BoundaryID> &
boundaryIDs()
const;
110 bool hasBoundary(
const std::vector<BoundaryName> & names)
const;
169 template <
typename T,
bool is_ad = false>
234#ifdef MOOSE_KOKKOS_ENABLED
245#ifdef MOOSE_KOKKOS_SCOPE
279#ifdef MOOSE_KOKKOS_ENABLED
293template <
typename T,
bool is_ad>
boundary_id_type BoundaryID
dof_id_type ContiguousNodeID
/class BoundaryRestrictable /brief Provides functionality for limiting the object to certain boundary...
const bool _bnd_dual_restrictable
Flag for allowing dual restriction with BlockRestrictable.
FEProblemBase * _bnd_feproblem
Pointer to FEProblemBase.
MooseMesh * _bnd_mesh
Point to mesh.
KOKKOS_FUNCTION dof_id_type numKokkosBoundarySides() const
Get the number of sides this Kokkos object is operating on.
void initializeKokkosBoundaryRestrictable()
virtual bool checkVariableBoundaryIntegrity() const
Whether integrity/coverage checking should be conducted for moose variables used in this object.
bool hasBoundary(const BoundaryName &name) const
Test if the supplied boundary name is valid for this object.
std::set< BoundaryID > _bnd_ids
Set of the boundary ids.
virtual ~BoundaryRestrictable()
Empty class destructor.
const std::set< SubdomainID > & _block_ids
Reference to the block_ids, defaults to an empty set if not provided.
bool hasBoundaryMaterialPropertyHelper(const std::string &prop_name) const
A helper method to avoid circular #include problems.
bool isBoundarySubset(const std::set< BoundaryID > &ids) const
Test if the class boundary ids are a subset of the supplied objects.
static bool restricted(const std::set< BoundaryID > &ids)
Helper for determining if the object is boundary restricted.
bool _bnd_nodal
Whether or not this object is restricted to nodesets.
const std::vector< BoundaryName > & boundaryNames() const
Return the boundary names for this object.
KOKKOS_FUNCTION auto kokkosBoundaryElementSideID(Moose::Kokkos::ThreadID tid) const
Get the contiguous element ID - side index pair this Kokkos thread is operating on.
TEST_TYPE
A flag changing the behavior of hasBoundary.
THREAD_ID _bnd_tid
Thread id for this object.
KOKKOS_FUNCTION ContiguousNodeID kokkosBoundaryNodeID(Moose::Kokkos::ThreadID tid) const
Get the contiguous node ID this Kokkos thread is operating on.
Moose::Kokkos::Array< ContiguousNodeID > _kokkos_node_ids
List of contiguous node IDs this Kokkos object is operating on.
virtual bool boundaryRestricted() const
Returns true if this object has been restricted to a boundary.
bool hasBoundaryMaterialProperty(const std::string &prop_name) const
Check if a material property is valid for all boundaries of this object.
const std::set< BoundaryID > & meshBoundaryIDs() const
Returns the set of all boundary ids for the entire mesh.
BoundaryRestrictable(const BoundaryRestrictable &object, const Moose::Kokkos::FunctorCopy &key)
Special constructor used for Kokkos functor copy during parallel dispatch.
const MooseObject & _moose_object
The moose object that this is an interface for.
const MaterialData & _bnd_material_data
Pointer to MaterialData for boundary (.
static InputParameters validParams()
Moose::Kokkos::Array< Moose::Kokkos::Pair< ContiguousElementID, unsigned int > > _kokkos_element_side_ids
List of contiguous element ID - side index pairs this Kokkos object is operating on.
KOKKOS_FUNCTION dof_id_type numKokkosBoundaryNodes() const
Get the number of nodes this Kokkos object is operating on.
std::vector< BoundaryID > _vec_ids
Vector of the boundary ids.
std::vector< BoundaryName > _boundary_names
Vector the the boundary names.
virtual const std::set< BoundaryID > & boundaryIDs() const
Return the boundary IDs for this object.
const std::set< SubdomainID > _empty_block_ids
An empty set for referencing when block_ids is not included.
void initializeBoundaryRestrictable()
An initialization routine needed for dual constructors.
unsigned int numBoundaryIDs() const
Return the number of boundaries for this object.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Proxy for accessing MaterialPropertyStorage.
bool haveGenericProperty(const std::string &prop_name) const
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Every object that can be built by the factory should be derived from this class.
KOKKOS_FUNCTION index_type size() const
Get the total array size.
MOOSE_KOKKOS_INDEX_TYPE ThreadID