https://mooseframework.inl.gov
ElementIntegralMaterialProperty.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 
12 #include "metaphysicl/raw_type.h"
13 
16 
17 template <bool is_ad>
20 {
22  params.addRequiredParam<MaterialPropertyName>("mat_prop", "The name of the material property");
23  params.addClassDescription("Compute the integral of the material property over the domain");
24  return params;
25 }
26 
27 template <bool is_ad>
29  const InputParameters & parameters)
30  : ElementIntegralPostprocessor(parameters),
31  _scalar(getGenericMaterialProperty<Real, is_ad>("mat_prop"))
32 {
33 }
34 
35 template <bool is_ad>
36 Real
38 {
39  return MetaPhysicL::raw_value(_scalar[_qp]);
40 }
41 
This postprocessor computes a volume integral of the specified variable.
auto raw_value(const Eigen::Map< T > &in)
Definition: EigenADReal.h:73
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void addRequiredParam(const std::string &name, const std::string &doc_string)
This method adds a parameter and documentation string to the InputParameters object that will be extr...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
ElementIntegralMaterialPropertyTempl(const InputParameters &parameters)
registerMooseObject("MooseApp", ElementIntegralMaterialProperty)
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump...