https://mooseframework.inl.gov
ElementExtremeMaterialProperty.h
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 
10 #pragma once
11 
12 #include "ElementPostprocessor.h"
13 
15 template <bool is_ad>
17 {
18 public:
20 
23  {
24  MAX,
26  };
27 
29 
30  virtual void initialize() override;
31  virtual void execute() override;
32  virtual Real getValue() const override;
33  virtual void finalize() override;
34  virtual void threadJoin(const UserObject & y) override;
35 
36 protected:
37  virtual void computeQpValue();
38 
41 
44 
47 
49  unsigned int _qp;
50 };
51 
ElementExtremeMaterialPropertyTempl< true > ADElementExtremeMaterialProperty
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
unsigned int _qp
Current quadrature point.
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
ExtremeType _type
Type of extreme value to compute.
ExtremeType
Type of extreme value to compute.
virtual Real getValue() const override
This will get called to actually grab the final value the postprocessor has calculated.
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
ElementExtremeMaterialPropertyTempl< false > ElementExtremeMaterialProperty
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void execute() override
Execute method.
const GenericMaterialProperty< Real, is_ad > & _mat_prop
Material property for which to find extreme.
ElementExtremeMaterialPropertyTempl(const InputParameters &parameters)
virtual void threadJoin(const UserObject &y) override
Must override.
const InputParameters & parameters() const
Get the parameters of the object.
virtual void finalize() override
This is called after execute() and after threadJoin()! This is probably where you want to do MPI comm...
Base class for user-specific data.
Definition: UserObject.h:40
Determines the minimum or maximum of a material property over a volume.