www.mooseframework.org
MaterialVectorPostprocessor.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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.
static InputParameters validParams()
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
VectorPostprocessorValue & _y_coords
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
std::vector< VectorPostprocessorValue * > _prop_vecs
Columns for each (scalar) property of the material.
VectorPostprocessorValue & _qp_ids
Column of quadrature point indices.
virtual void finalize() override
Finalize.
virtual void threadJoin(const UserObject &y) override
Must override.
VectorPostprocessorValue & _x_coords
Columns of quadrature point coordinates.
VectorPostprocessorValue & _z_coords
void sortVecs()
Sorts all data in the VectorPostProcessorValue objects so that output from this postprocessor is orde...
virtual void execute() override
Execute method.
std::vector< const PropertyValue * > _prop_refs
Reference to each material property - used to retrieve the actual property values at every execution ...
std::vector< std::string > _prop_names
Names for every property in the material - used for determining if properties are scalar or not...
std::vector< Real > VectorPostprocessorValue
Definition: MooseTypes.h:192
VectorPostprocessorValue & _elem_ids
Column of element id info.
const InputParameters & parameters() const
Get the parameters of the object.
This postprocessor records all scalar material properties of the specified material object on specifi...
Base class for user-specific data.
Definition: UserObject.h:39
MaterialVectorPostprocessor(const InputParameters &parameters)