diff --git a/framework/doc/content/source/auxkernels/ProjectedMaterialPropertyNodalPatchRecoveryAux.md b/framework/doc/content/source/auxkernels/ProjectedMaterialPropertyNodalPatchRecoveryAux.md new file mode 100644 index 000000000000..f4715b1ef9a7 --- /dev/null +++ b/framework/doc/content/source/auxkernels/ProjectedMaterialPropertyNodalPatchRecoveryAux.md @@ -0,0 +1,15 @@ +# ProjectedMaterialPropertyNodalPatchRecoveryAux + +This AuxKernel performs nodal patch recovery of a material property component with data prepared by a [ProjectedStatefulMaterialNodalPatchRecovery](ProjectedStatefulMaterialNodalPatchRecovery.md) object with the purpose of projecting the property onto a nodal basis function (e.g. first order Lagrange). + +This object is set up by the [ProjectedStatefulMaterialStorageAction](ProjectedStatefulMaterialStorageAction.md). + +See also [ProjectedStatefulMaterialAux](ProjectedStatefulMaterialAux.md) for the AuxKernel that projects onto elemental basis functions. + +!syntax description /AuxKernels/ProjectedMaterialPropertyNodalPatchRecoveryAux + +!syntax parameters /AuxKernels/ProjectedMaterialPropertyNodalPatchRecoveryAux + +!syntax inputs /AuxKernels/ProjectedMaterialPropertyNodalPatchRecoveryAux + +!syntax children /AuxKernels/ProjectedMaterialPropertyNodalPatchRecoveryAux diff --git a/framework/doc/content/source/auxkernels/ProjectedStatefulMaterialAux.md b/framework/doc/content/source/auxkernels/ProjectedStatefulMaterialAux.md index 053ca642913b..935a7535315b 100644 --- a/framework/doc/content/source/auxkernels/ProjectedStatefulMaterialAux.md +++ b/framework/doc/content/source/auxkernels/ProjectedStatefulMaterialAux.md @@ -1,15 +1,27 @@ -# ProjectedStatefulMaterialAux +# ProjectedStatefulMaterial...Aux -This AuxKernel simply returns the value of a given material property at a quadrature point with the purpose of projecting the property onto an elemental basis function (e.g. first order monomial). +This AuxKernel simply returns the value of a given material property (or component of the property value) at a quadrature point with the purpose of projecting the property onto an elemental basis function (e.g. first order monomial). + +Variants include: +- `ProjectedStatefulMaterialRealAux` +- `ProjectedStatefulMaterialRealVectorValueAux` +- `ProjectedStatefulMaterialRankTwoTensorAux` +- `ProjectedStatefulMaterialRankFourTensorAux` +- `ADProjectedStatefulMaterialRealAux` +- `ADProjectedStatefulMaterialRealVectorValueAux` +- `ADProjectedStatefulMaterialRankTwoTensorAux` +- `ADProjectedStatefulMaterialRankFourTensorAux` At step zero this object will compute the material QP values by explicitly calling `initStatefulProperties` in order to project the state that will correspond to the *old state* in the first timestep. This object is set up by the [ProjectedStatefulMaterialStorageAction](ProjectedStatefulMaterialStorageAction.md). -!syntax description /AuxKernels/ProjectedStatefulMaterialAux +See also [ProjectedMaterialPropertyNodalPatchRecoveryAux](ProjectedMaterialPropertyNodalPatchRecoveryAux.md) for the AuxKernel that projects onto nodal basis functions. + +!syntax description /AuxKernels/ProjectedStatefulMaterialRealAux -!syntax parameters /AuxKernels/ProjectedStatefulMaterialAux +!syntax parameters /AuxKernels/ProjectedStatefulMaterialRealAux -!syntax inputs /AuxKernels/ProjectedStatefulMaterialAux +!syntax inputs /AuxKernels/ProjectedStatefulMaterialRealAux -!syntax children /AuxKernels/ProjectedStatefulMaterialAux +!syntax children /AuxKernels/ProjectedStatefulMaterialRealAux diff --git a/framework/doc/content/source/materials/InterpolatedStatefulMaterial.md b/framework/doc/content/source/materials/InterpolatedStatefulMaterial.md index 8ad2f727e6c1..c50a89a6aa28 100644 --- a/framework/doc/content/source/materials/InterpolatedStatefulMaterial.md +++ b/framework/doc/content/source/materials/InterpolatedStatefulMaterial.md @@ -1,17 +1,23 @@ -# InterpolatedStatefulMaterial +# InterpolatedStatefulMaterial... -!syntax description /Materials/InterpolatedStatefulMaterial +!syntax description /Materials/InterpolatedStatefulMaterialReal ## Description `InterpolatedStatefulMaterial` reconstitutes the old state of a material property from the old state of the AuxVariables holding the projected components of the material property. +Variants include: +- `InterpolatedStatefulMaterialReal` +- `InterpolatedStatefulMaterialRealVectorValue` +- `InterpolatedStatefulMaterialRankTwoTensor` +- `InterpolatedStatefulMaterialRankFourTensor` + This object is set up by the [ProjectedStatefulMaterialStorageAction](ProjectedStatefulMaterialStorageAction.md). -!syntax parameters /Materials/InterpolatedStatefulMaterial +!syntax parameters /Materials/InterpolatedStatefulMaterialReal -!syntax inputs /Materials/InterpolatedStatefulMaterial +!syntax inputs /Materials/InterpolatedStatefulMaterialReal -!syntax children /Materials/InterpolatedStatefulMaterial +!syntax children /Materials/InterpolatedStatefulMaterialReal !bibtex bibliography diff --git a/framework/doc/content/source/userobjects/ProjectedStatefulMaterialNodalPatchRecovery.md b/framework/doc/content/source/userobjects/ProjectedStatefulMaterialNodalPatchRecovery.md index debf7471254a..134823018384 100644 --- a/framework/doc/content/source/userobjects/ProjectedStatefulMaterialNodalPatchRecovery.md +++ b/framework/doc/content/source/userobjects/ProjectedStatefulMaterialNodalPatchRecovery.md @@ -1,15 +1,23 @@ -# ProjectedStatefulMaterialNodalPatchRecovery +# ProjectedStatefulMaterialNodalPatchRecovery... -This user object is derived from [NodalPatchRecoveryMaterialProperty](NodalPatchRecoveryMaterialProperty.md) and performs patch recovery for a material property component. +This user object performs patch recovery for a material property component. At step zero this object will compute the material QP values by explicitly calling `initStatefulProperties` in order to project the state that will correspond to the *old state* in the first time step. -At step zero this object will compute the material QP values by explicitly calling `initStatefulProperties` in order to project the state that will correspond to the *old state* in the first timestep. +Variants include: +- `ProjectedStatefulMaterialNodalPatchRecoveryReal` +- `ProjectedStatefulMaterialNodalPatchRecoveryRealVectorValue` +- `ProjectedStatefulMaterialNodalPatchRecoveryRankTwoTensor` +- `ProjectedStatefulMaterialNodalPatchRecoveryRankFourTensor` +- `ADProjectedStatefulMaterialNodalPatchRecoveryReal` +- `ADProjectedStatefulMaterialNodalPatchRecoveryRealVectorValue` +- `ADProjectedStatefulMaterialNodalPatchRecoveryRankTwoTensor` +- `ADProjectedStatefulMaterialNodalPatchRecoveryRankFourTensor` This object is set up by the [ProjectedStatefulMaterialStorageAction](ProjectedStatefulMaterialStorageAction.md). -!syntax description /UserObjects/NodalPatchRecoveryMaterialProperty +!syntax description /UserObjects/ProjectedStatefulMaterialNodalPatchRecoveryReal -!syntax parameters /UserObjects/NodalPatchRecoveryMaterialProperty +!syntax parameters /UserObjects/ProjectedStatefulMaterialNodalPatchRecoveryReal -!syntax inputs /UserObjects/NodalPatchRecoveryMaterialProperty +!syntax inputs /UserObjects/ProjectedStatefulMaterialNodalPatchRecoveryReal -!syntax children /UserObjects/NodalPatchRecoveryMaterialProperty +!syntax children /UserObjects/ProjectedStatefulMaterialNodalPatchRecoveryReal diff --git a/framework/src/userobjects/ProjectedStatefulMaterialNodalPatchRecovery.C b/framework/src/userobjects/ProjectedStatefulMaterialNodalPatchRecovery.C index c206c7b4488c..c5c945e4871a 100644 --- a/framework/src/userobjects/ProjectedStatefulMaterialNodalPatchRecovery.C +++ b/framework/src/userobjects/ProjectedStatefulMaterialNodalPatchRecovery.C @@ -30,7 +30,9 @@ InputParameters ProjectedStatefulMaterialNodalPatchRecoveryBase::validParams() { InputParameters params = ElementUserObject::validParams(); - + params.addClassDescription( + "Prepare patches for use in nodal patch recovery based on a material property for material " + "property states projected onto nodal variables."); params.addRelationshipManager("ElementSideNeighborLayers", Moose::RelationshipManagerType::ALGEBRAIC, [](const InputParameters &, InputParameters & rm_params)