14 #include "libmesh/elem_range.h" 30 std::vector<std::vector<std::unique_ptr<Assembly>>> & assembly);
35 virtual void post()
override;
37 virtual void onElement(
const Elem * elem)
override;
41 const Elem * lower_d_elem =
nullptr)
override;
42 virtual void onInternalSide(
const Elem * elem,
unsigned int side)
override;
66 std::vector<std::vector<std::unique_ptr<Assembly>>> &
_assembly;
Base class for assembly-like calculations.
const bool _has_neighbor_stateful_props
void join(const ComputeMaterialsObjectThread &)
Keeps track of stuff related to assembling.
MaterialPropertyStorage & _material_props
Stores the stateful material properties computed by materials.
const bool _has_stateful_props
MaterialBase objects are special in that they have additional objects created automatically (see FEPr...
const MaterialWarehouse & _interface_materials
This is populated using _fe_problem.getResidualInterfaceMaterialsWarehouse because it has the union o...
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Nonlinear system to be solved.
const MaterialWarehouse & _materials
This is populated using _fe_problem.getResidualMaterialsWarehouse because it has the union of traditi...
virtual void onBoundary(const Elem *elem, unsigned int side, BoundaryID bnd_id, const Elem *lower_d_elem=nullptr) override
Called when doing boundary assembling.
boundary_id_type BoundaryID
virtual void onInternalSide(const Elem *elem, unsigned int side) override
Called when doing internal edge assembling.
bool _need_internal_side_material
MaterialPropertyStorage & _neighbor_material_props
virtual void subdomainChanged() override
Called every time the current subdomain changes (i.e.
std::vector< std::vector< std::unique_ptr< Assembly > > > & _assembly
virtual void onElement(const Elem *elem) override
Assembly of the element (not including surface assembly)
ComputeMaterialsObjectThread(FEProblemBase &fe_problem, MaterialPropertyStorage &material_props, MaterialPropertyStorage &bnd_material_props, MaterialPropertyStorage &neighbor_material_props, std::vector< std::vector< std::unique_ptr< Assembly >>> &assembly)
const bool _has_bnd_stateful_props
Proxy for accessing MaterialPropertyStorage.
virtual void post() override
Called after the element range loop.
virtual void onInterface(const Elem *elem, unsigned int side, BoundaryID bnd_id) override
Called when doing interface assembling.
MaterialPropertyStorage & _bnd_material_props
const MaterialWarehouse & _discrete_materials
FEProblemBase & _fe_problem