https://mooseframework.inl.gov
ControlDrumMaterial.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 "Material.h"
13 
20 {
21 public:
23 
25 
26 protected:
27  virtual void computeQpProperties() override;
28 
30  const std::vector<Point> _rotation_centers;
31 
34 
36  const bool _plus;
37 
39  const std::vector<Real> _rotation_offsets;
40 
42  const std::vector<Real> _segment_angles;
43 
45  const unsigned int _n_segments;
46 
48  unsigned int _dir;
49 
51  std::vector<const Moose::Functor<Real> *> _rotation_functors;
52 
54  std::vector<MaterialProperty<Real> *> _drum_properties;
55 
57  std::vector<std::vector<const MaterialProperty<Real> *>> _segment_properties;
58 };
const MooseEnum _rotation_axis
x/y/z/-x/-y/-z
ControlDrumMaterial(const InputParameters &parameters)
const bool _plus
Whether the rotation axis points to the positive direction, i.e. equal to x, y or z...
const std::vector< Real > _rotation_offsets
Rotation offsets of all drums.
unsigned int _dir
Rotation direction (x/y/z - 0/1/2)
const InputParameters & parameters() const
const std::vector< Real > _segment_angles
Segment angles (all rotation centers share the same segment angles)
const unsigned int _n_segments
Number of rod segments.
static InputParameters validParams()
const std::vector< Point > _rotation_centers
Rotation center.
virtual void computeQpProperties() override
std::vector< const Moose::Functor< Real > * > _rotation_functors
Rotation angle functors of all drums.
std::vector< std::vector< const MaterialProperty< Real > * > > _segment_properties
Material properties of all segments.
This material evaluate a material property on elements on a rotating control drum from material prope...
std::vector< MaterialProperty< Real > * > _drum_properties
The properties this material evaluates.