https://mooseframework.inl.gov
MultiControlDrumFunction.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 "Function.h"
13 #include "MeshMetaDataInterface.h"
14 #include "ElementIDInterface.h"
15 
20  public MeshMetaDataInterface,
21  public ElementIDInterface
22 {
23 public:
25 
27 
28  using Function::value;
29  virtual Real value(Real t, const Point & p) const override;
30 
31 protected:
33  const MeshGeneratorName _mesh_generator;
35  const std::vector<Real> _angular_speeds;
37  const std::vector<Real> _start_angles;
39  const std::vector<Real> _angle_ranges;
49  const std::vector<Point> & _control_drum_positions;
51  const std::vector<std::vector<Real>> & _control_drums_azimuthal_meta;
52 };
const std::vector< Real > _angle_ranges
Vector of angular ranges of control drums.
A function that returns an absorber fraction for multiple control drums application.
static InputParameters validParams()
const dof_id_type & _control_drum_id
ExtraElementID: control drum ExtraElementID.
const std::vector< std::vector< Real > > & _control_drums_azimuthal_meta
MeshMetaData: vector of azimuthal angles of all nodes of each control drum.
virtual Real value(Real t, const Point &p) const override
MultiControlDrumFunction(const InputParameters &parameters)
const Real _rotation_start_time
Start time of control drums rotation.
const std::vector< Real > _start_angles
Vector of initial starting angles of control drums.
const std::vector< Real > _angular_speeds
Vector of angular speeds of control drums.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real _rotation_end_time
End time of control drums rotation.
const InputParameters & parameters() const
const std::vector< Point > & _control_drum_positions
MeshMetaData: positions of control drums.
virtual Real value(Real t, const Point &p) const
const bool _use_control_drum_id
Whether extra element id user_control_drum_id is used.
uint8_t dof_id_type
const MeshGeneratorName _mesh_generator
Name of the mesh generator to get MeshMetaData from.