https://mooseframework.inl.gov
ElementMaterialSampler.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 
13 #include <optional>
14 
20 {
21 public:
23 
25 
26  virtual void initialize() override;
27  virtual void execute() override;
28  virtual void finalize() override;
29  virtual void threadJoin(const UserObject & y) override;
30 
31 private:
35  void sortVecs();
36 
38  std::optional<std::set<dof_id_type>> _elem_filter;
39 
42 
45 
50 
52  std::vector<VectorPostprocessorValue *> _prop_vecs;
53 
56  std::vector<const PropertyValue *> _prop_refs;
57 
60  std::vector<std::string> _prop_names;
61 };
std::optional< std::set< dof_id_type > > _elem_filter
Element ids to record material properties for.
VectorPostprocessorValue & _qp_ids
Column of quadrature point indices.
virtual void finalize() override
Finalize.
VectorPostprocessorValue & _x_coords
Columns of quadrature point coordinates.
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
std::vector< const PropertyValue * > _prop_refs
Reference to each material property - used to retrieve the actual property values at every execution ...
void sortVecs()
Sorts all data in the VectorPostProcessorValue objects so that output from this postprocessor is orde...
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
VectorPostprocessorValue & _y_coords
ElementMaterialSampler(const InputParameters &parameters)
This postprocessor records all scalar material properties of the specified material object on specifi...
virtual void execute() override
Execute method.
std::vector< Real > VectorPostprocessorValue
Definition: MooseTypes.h:203
std::vector< std::string > _prop_names
Names for every property in the material - used for determining if properties are scalar or not...
const InputParameters & parameters() const
Get the parameters of the object.
static InputParameters validParams()
std::vector< VectorPostprocessorValue * > _prop_vecs
Columns for each (scalar) property of the material.
virtual void threadJoin(const UserObject &y) override
Must override.
VectorPostprocessorValue & _elem_ids
Column of element id info.
Base class for user-specific data.
Definition: UserObject.h:40
VectorPostprocessorValue & _z_coords