12 #include "libmesh/mesh_tools.h" 98 if (lb.layerHasValue(i))
102 const std::vector<Point>
105 std::vector<Point> points;
109 Point pt(0.0, 0.0, 0.0);
111 points.push_back(pt);
virtual void threadJoin(const UserObject &y) override
Must override.
std::vector< Real > & _layer_values
Value of the integral for each layer.
virtual void execute() override
Execute method.
virtual const std::vector< Point > spatialPoints() const override
Optional interface function for providing the points at which a UserObject attains spatial values...
Real extreme_value(const Real a, const Real b) const
bool _cumulative
Whether the values are cumulative over the layers.
const Parallel::Communicator & comm() const
std::vector< int > & _layer_has_value
Whether or not each layer has had any value summed into it.
registerMooseObject("MooseApp", LayeredExtremumMaterialProperty)
static InputParameters validParams()
Real _value
Extreme value.
std::vector< Real > _layer_centers
center coordinates of each layer
auto max(const L &left, const R &right)
unsigned int _direction
The component direction the layers are going in. We cache this for speed (so we're not always going t...
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
ExtremeType _type
Type of extreme value to compute.
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
void min(const T &r, T &o, Request &req) const
virtual Real getLayerValue(unsigned int layer) const
Get the value for a given layer.
void setLayerValue(unsigned int layer, Real value)
Set the value for a particular layer.
const bool _positive_cumulative_direction
Whether the cumulative values should be summed in the positive or negative direction.
virtual unsigned int getLayer(const Point &p) const
Helper function to return the layer the point lies in.
static InputParameters validParams()
virtual void initialize()
unsigned int _num_layers
Number of layers to split the mesh into.
This UserObject computes volume integrals of a variable storing partial sums for the specified number...
LayeredExtremumMaterialProperty(const InputParameters ¶meters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void execute() override
Execute method.
const Elem *const & _current_elem
The current element pointer (available during execute())
void max(const T &r, T &o, Request &req) const
This base class computes volume integrals of a variable storing partial sums for the specified number...
static InputParameters validParams()
IntRange< T > make_range(T beg, T end)
auto min(const L &left, const R &right)
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.
Determines the minimum or maximum of a material property over a volume.