42 template <
typename T,
bool is_ad>
75 virtual std::vector<std::vector<unsigned int>>
nChooseK(
unsigned int N,
unsigned int K);
94 virtual std::vector<std::vector<unsigned int>>
multiIndex(
unsigned int dim,
unsigned int order);
132 virtual void compute()
override;
140 DenseVector<Number>
_P;
141 DenseMatrix<Number>
_A;
142 DenseVector<Number>
_B;
150 return MaterialPropertyInterface::getMaterialProperty<T>(
name);
153template <
typename T,
bool is_ad>
157 return MaterialPropertyInterface::getGenericMaterialProperty<T, is_ad>(
name);
164 return MaterialPropertyInterface::getMaterialPropertyOld<T>(
name);
171 return MaterialPropertyInterface::getMaterialPropertyOlder<T>(
name);
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
const InputParameters & parameters() const
Get the parameters of the object.
const std::string & name() const
Get the name of the class.
This class uses patch recovery technique to recover material properties to smooth nodal fields.
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty(const std::string &name)
virtual ~NodalPatchRecovery()
virtual void accumulateAMatrix()
Calculate the patch stiffness matrix as \sum_1^n P^TP where n is the number of quadrature points in t...
const MaterialProperty< T > & getMaterialProperty(const std::string &name)
This function overrides the one implemented in AuxKernel.C to suppress warnings when retrieving mater...
const unsigned int _patch_polynomial_order
polynomial order, default is variable order
DenseVector< Number > _coef
virtual std::vector< std::vector< unsigned int > > nChooseK(unsigned int N, unsigned int K)
Find out how many different ways you can choose K items from N items set without repetition and witho...
virtual void reinitPatch()
reserve space for A, B, P, and prepare required material properties
FEProblemBase & _fe_problem
virtual void accumulateBVector(Real val)
calculate the patch load vector as \sum_1^n P^Tval where n is the number of quadrature points in the ...
std::vector< std::vector< unsigned int > > _multi_index
virtual std::vector< std::vector< unsigned int > > multiIndex(unsigned int dim, unsigned int order)
generate a complete multi index table for given dimension and order i.e.
virtual void compute() override
solve the equation Ac = B where c is the coefficients vector from least square fitting nodal value is...
static InputParameters validParams()
const MaterialProperty< T > & getMaterialPropertyOlder(const std::string &name)
This function overrides the one implemented in AuxKernel.C to suppress warnings when retrieving mater...
virtual void computePVector(Point q_point)
compute the P vector at given point i.e.
const MaterialProperty< T > & getMaterialPropertyOld(const std::string &name)
This function overrides the one implemented in AuxKernel.C to suppress warnings when retrieving mater...