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