https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ElementExtremeMaterialPropertyReporter.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 "ElementReporter.h"
13
17template <bool is_ad>
19{
20public:
22
24 enum class ExtremeType
25 {
26 MAX,
27 MIN
28 };
29
31
32 virtual void initialize() override;
33 virtual void execute() override;
34 virtual void finalize() override;
35 virtual void threadJoin(const UserObject & uo) override;
36
37protected:
43 void computeQpValue();
44
47
50
53
55 Point & _coordinates;
56
58 std::vector<const GenericMaterialProperty<Real, is_ad> *> _additional_reported_properties;
59
62
64 unsigned int _qp;
65};
66
ElementExtremeMaterialPropertyReporterTempl< false > ElementExtremeMaterialPropertyReporter
ElementExtremeMaterialPropertyReporterTempl< true > ADElementExtremeMaterialPropertyReporter
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
Determines the location of the extreme (minimum or maximum) value of a material property,...
std::vector< Real * > _additional_reported_property_values
Values of other reported material properties.
void computeQpValue()
Check a given quadrature point for the extreme value, and capture the extreme value as well as the ot...
Point & _coordinates
Coordinates of point with extreme value.
const GenericMaterialProperty< Real, is_ad > & _mat_prop
Material property for which to find extreme.
std::vector< const GenericMaterialProperty< Real, is_ad > * > _additional_reported_properties
Pointers to other reported material property objects.
virtual void threadJoin(const UserObject &uo) override
Must override.
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
const ExtremeType _type
Type of extreme value to compute.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
Base class for user-specific data.
Definition UserObject.h:20