18 #define usingBlockRestrictableMembers using BlockRestrictable::getBlockCoordSystem 96 const std::vector<SubdomainName> &
blocks()
const;
109 virtual const std::set<SubdomainID> &
blockIDs()
const;
121 bool hasBlocks(
const SubdomainName & name)
const;
128 bool hasBlocks(
const std::vector<SubdomainName> & names)
const;
135 bool hasBlocks(
const std::set<SubdomainName> & names)
const;
149 bool hasBlocks(
const std::vector<SubdomainID> & ids)
const;
157 bool hasBlocks(
const std::set<SubdomainID> & ids)
const;
175 bool isBlockSubset(
const std::vector<SubdomainID> & ids)
const;
189 template <
typename T,
bool is_ad = false>
269 template <
typename T,
bool is_ad>
unsigned int blocksMaxDimension() const
Return the largest mesh dimension of the elements in the blocks for this object.
unsigned int _blk_dim
Largest mesh dimension of the elements in the blocks for this object.
bool haveGenericProperty(const std::string &prop_name) const
unsigned int numBlocks() const
Return the number of blocks for this object.
const bool _blk_dual_restrictable
Flag for allowing dual restriction.
Moose::CoordinateSystemType getBlockCoordSystem()
Check if the blocks this object operates on all have the same coordinate system, and if so return it...
FEProblemBase * _blk_feproblem
Pointer to FEProblemBase.
virtual void checkVariable(const MooseVariableFieldBase &variable) const
Helper for checking that the ids for this object are in agreement with the variables on the supplied ...
This class provides an interface for common operations on field variables of both FE and FV types wit...
virtual const std::set< SubdomainID > & blockIDs() const
Return the block subdomain ids for this object Note, if this is not block restricted, this function returns all mesh subdomain ids.
virtual bool blockRestricted() const
Returns true if this object has been restricted to a block.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
void initialize(EquationSystems &es, const std::string &system_name)
static InputParameters validParams()
bool isBlockSubset(const std::set< SubdomainID > &ids) const
Test if the class block ids are a subset of the supplied objects.
void initializeBlockRestrictable(const MooseObject *moose_object)
An initialization routine needed for dual constructors.
virtual ~BlockRestrictable()
Destructor: does nothing but needs to be marked as virtual since this class defines virtual functions...
std::vector< SubdomainID > _vec_ids
Vector of block ids supplied by the user via the input file (for error reporting) ...
Every object that can be built by the factory should be derived from this class.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
THREAD_ID _blk_tid
Thread id for this object.
std::vector< SubdomainName > _blocks
Vector the block names supplied by the user via the input file.
bool hasBlockMaterialProperty(const std::string &prop_name)
Check if a material property is valid for all blocks of this object.
const MooseMesh * _blk_mesh
Pointer to Mesh.
const std::vector< SubdomainName > & blocks() const
Return the block names for this object.
const std::set< BoundaryID > _empty_boundary_ids
An empty set for referencing when boundary_ids is not included.
const MaterialData * _blk_material_data
Pointer to the MaterialData class for this object.
An interface that restricts an object to subdomains via the 'blocks' input parameter.
const std::set< SubdomainID > & meshBlockIDs() const
Return all of the SubdomainIDs for the mesh.
virtual bool hasBlockMaterialPropertyHelper(const std::string &prop_name)
A helper method to allow the Material object to specialize the behavior of hasBlockMaterialProperty.
const std::set< BoundaryID > & _boundary_ids
Reference to the boundary_ids, defaults to an empty set if not provided.
Proxy for accessing MaterialPropertyStorage.
BlockRestrictable(const MooseObject *moose_object, bool initialize=true)
Class constructor Populates the 'block' input parameters, see the general class documentation for det...
bool hasBlocks(const SubdomainName &name) const
Test if the supplied block name is valid for this object.
std::set< SubdomainID > _blk_ids
Set of block ids supplied by the user via the input file (for error checking)
const std::string & _blk_name
Name of the object.