21 : _gc_params(moose_object->parameters()),
32 mooseError(
"hasGuaranteedMaterialProperty() needs to be called in initialSetup()");
43 for (
const auto &
id : ids)
46 if (warehouse.hasActiveBlockObjects(
id))
48 const std::vector<std::shared_ptr<MaterialBase>> & mats = warehouse.getActiveBlockObjects(
id);
49 for (
const auto & mat : mats)
51 const auto & mat_props = mat->getSuppliedItems();
52 if (mat_props.count(prop_name))
55 if (guarantee_mat && !guarantee_mat->hasGuarantee(prop_name, guarantee))
void mooseError(Args &&... args)
Add-on class that provides the functionality to issue guarantees for declared material properties...
BlockRestrictable *const _gc_block_restrict
Access block restrictions of the object with this interface.
GuaranteeConsumer(MooseObject *moose_object)
virtual const std::set< SubdomainID > & blockIDs() const
virtual bool blockRestricted() const
const MaterialWarehouse & getMaterialWarehouse() const
FEProblemBase *const _gc_feproblem
Reference to the FEProblemBase class.
Guarantee
Enum values for guarantees that can be demanded for material properties.
virtual MooseMesh & mesh() override
bool hasGuaranteedMaterialProperty(const MaterialPropertyName &prop, Guarantee guarantee)
const Elem & get(const ElemType type_in)
virtual bool startedInitialSetup()
const std::set< SubdomainID > & meshSubdomains() const