16 #include <unordered_map>    29                                   const std::vector<dof_id_type> & elem_ids,
    30                                   std::size_t component) 
const = 0;
    33 template <
typename T, 
bool is_ad>
    52                                   const std::vector<dof_id_type> & elem_ids,
    53                                   std::size_t component) 
const override;
    58   virtual void execute() 
override;
    78   typedef std::pair<RealEigenMatrix, std::vector<RealEigenVector>> 
ElementData;
    93   const unsigned int _q;
    99   std::unordered_map<dof_id_type, ElementData> 
_abs;
 virtual void initialize() override
Called before execute() is ever called so that data can be cleared. 
ProjectedStatefulMaterialNodalPatchRecoveryTempl< Real, true > ADProjectedStatefulMaterialNodalPatchRecoveryReal
ProjectedStatefulMaterialNodalPatchRecoveryBase(const InputParameters ¶meters)
static InputParameters validParams()
ProjectedStatefulMaterialNodalPatchRecoveryTempl< Real, false > ProjectedStatefulMaterialNodalPatchRecoveryReal
const std::vector< std::vector< unsigned int > > _multi_index
The multi-index table. 
const InputParameters & parameters() const
Get the parameters of the object. 
const unsigned int _q
Number of basis functions. 
static InputParameters validParams()
unsigned int _qp
current quadrature point 
virtual Real nodalPatchRecovery(const Point &p, const std::vector< dof_id_type > &elem_ids, std::size_t component) const override
Solve the least-squares problem. 
RealEigenVector evaluateBasisFunctions(const Point &q_point) const
Compute the P vector at a given point i.e. 
virtual void execute() override
Execute method. 
const GenericMaterialProperty< T, is_ad > & _prop
stored property 
ProjectedStatefulMaterialNodalPatchRecoveryTempl< RankFourTensor, true > ADProjectedStatefulMaterialNodalPatchRecoveryRankFourTensor
virtual void threadJoin(const UserObject &) override
Must override. 
const SubdomainID & _current_subdomain_id
Current subdomain. 
ProjectedStatefulMaterialNodalPatchRecoveryTempl< RankTwoTensor, true > ADProjectedStatefulMaterialNodalPatchRecoveryRankTwoTensor
virtual void initialSetup() override
Gets called at the beginning of the simulation before this object is asked to do its job...
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
std::size_t _n_components
number of scalar components in the recovered type 
ProjectedStatefulMaterialNodalPatchRecoveryTempl< RankFourTensor, false > ProjectedStatefulMaterialNodalPatchRecoveryRankFourTensor
std::pair< RealEigenMatrix, std::vector< RealEigenVector > > ElementData
data type stored for each element 
ProjectedStatefulMaterialNodalPatchRecoveryTempl< RealVectorValue, false > ProjectedStatefulMaterialNodalPatchRecoveryRealVectorValue
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void finalize() override
Finalize. 
std::unordered_map< SubdomainID, std::vector< MaterialBase * > > _required_materials
list of required materials that need to be explicitly initialized at step zero 
virtual Real nodalPatchRecovery(const Point &p, const std::vector< dof_id_type > &elem_ids, std::size_t component) const =0
Eigen::Matrix< Real, Eigen::Dynamic, 1 > RealEigenVector
std::unordered_map< dof_id_type, ElementData > _abs
The element-level A matrix and the element-level b vectors for each component. 
ProjectedStatefulMaterialNodalPatchRecoveryTempl< RealVectorValue, true > ADProjectedStatefulMaterialNodalPatchRecoveryRealVectorValue
const unsigned int _patch_polynomial_order
The polynomial order, default is variable order. 
ProjectedStatefulMaterialNodalPatchRecoveryTempl< RankTwoTensor, false > ProjectedStatefulMaterialNodalPatchRecoveryRankTwoTensor
Base class for user-specific data. 
ProjectedStatefulMaterialNodalPatchRecoveryTempl(const InputParameters ¶meters)