forked from idaholab/moose
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ProjectedMaterialPropertyNodalPatchRecoveryAux.C
41 lines (36 loc) · 1.58 KB
/
ProjectedMaterialPropertyNodalPatchRecoveryAux.C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//* This file is part of the MOOSE framework
//* https://www.mooseframework.org
//*
//* All rights reserved, see COPYRIGHT for full restrictions
//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
//*
//* Licensed under LGPL 2.1, please see LICENSE for details
//* https://www.gnu.org/licenses/lgpl-2.1.html
#include "ProjectedMaterialPropertyNodalPatchRecoveryAux.h"
#include "ProjectedStatefulMaterialNodalPatchRecovery.h"
registerMooseObject("MooseApp", ProjectedMaterialPropertyNodalPatchRecoveryAux);
InputParameters
ProjectedMaterialPropertyNodalPatchRecoveryAux::validParams()
{
InputParameters params = NodalPatchRecoveryAuxBase::validParams();
params.addRequiredParam<unsigned int>("component",
"Serial access component for the recovered type");
return params;
}
ProjectedMaterialPropertyNodalPatchRecoveryAux::ProjectedMaterialPropertyNodalPatchRecoveryAux(
const InputParameters & parameters)
: NodalPatchRecoveryAuxBase(parameters),
_npr(getUserObject<ProjectedStatefulMaterialNodalPatchRecoveryBase>("nodal_patch_recovery_uo")),
_component(getParam<unsigned int>("component"))
{
// Check user object block restriction for consistency
if (!isBlockSubset(_npr.blockIDs()))
paramError("nodal_patch_recovery_uo",
"Nodal patch recovery auxiliary kernel is not defined in a subset of blocks of the "
"associated user object. Revise your input file.");
}
Real
ProjectedMaterialPropertyNodalPatchRecoveryAux::nodalPatchRecovery()
{
return _npr.nodalPatchRecovery(*_current_node, _elem_ids, _component);
}