https://mooseframework.inl.gov
InterfaceQpUserObjectBase.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 
23 {
24 public:
29  static MooseEnum valueOptions() { return MooseEnum("value rate increment", "value"); }
30 
33  virtual void initialSetup() override;
34  virtual void initialize() override{};
35  virtual void execute() override;
36  virtual void finalize() override{};
37  virtual void threadJoin(const UserObject & /*uo*/) override{};
38 
42  Real getQpValue(const dof_id_type elem, const unsigned int side, unsigned int qp) const;
46  Real getSideAverageValue(const dof_id_type elem, const unsigned int side) const;
47 
48 protected:
53 
57  virtual Real computeRealValue(const unsigned int /*qp*/) = 0;
58 
61  std::map<std::pair<dof_id_type, unsigned int>, std::vector<Real>> _map_values;
62  std::map<std::pair<dof_id_type, unsigned int>, std::vector<Real>> _map_JxW;
64 };
A special InterfaceUserObject computing average values across an interface given the average type (se...
This is a base class for userobjects collecting values of variables or material properites across an ...
std::map< std::pair< dof_id_type, unsigned int >, std::vector< Real > > _map_JxW
virtual void initialSetup() override
Gets called at the beginning of the simulation before this object is asked to do its job...
virtual void finalize() override
Finalize.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
static InputParameters validParams()
const MooseEnum _value_type
moose enum deciding this userobject reture value type
static MooseEnum valueOptions()
the method defining the returning value type: value, rate or increment
virtual Real computeRealValue(const unsigned int)=0
method to overrid in child classes returnig a real value
std::map< std::pair< dof_id_type, unsigned int >, std::vector< Real > > _map_values
these maps are used to store QP data.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:33
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
InterfaceQpUserObjectBase(const InputParameters &parameters)
virtual void execute() override
Execute method.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void threadJoin(const UserObject &) override
Must override.
const InputParameters & parameters() const
Get the parameters of the object.
Real getSideAverageValue(const dof_id_type elem, const unsigned int side) const
function returning the element side average value
Real getQpValue(const dof_id_type elem, const unsigned int side, unsigned int qp) const
method returning the quadrature point value
Base class for user-specific data.
Definition: UserObject.h:40
uint8_t dof_id_type