https://mooseframework.inl.gov
NodalUserObject.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 // MOOSE includes
13 #include "UserObject.h"
14 #include "BlockRestrictable.h"
15 #include "BoundaryRestrictable.h"
17 #include "TransientInterface.h"
18 #include "RandomInterface.h"
19 
24 class NodalUserObject : public UserObject,
25  public BlockRestrictable,
26  public BoundaryRestrictable,
28  public TransientInterface,
29  public RandomInterface
30 {
31 public:
33 
35 
36  virtual void subdomainSetup() override /*final*/;
37 
39 
40 protected:
43 
45  const unsigned int _qp;
46 
48  const Node * const & _current_node;
49 
50  // Flag for enable/disabling multiple execute calls on nodes that share block ids
51  const bool & _unique_node_execute;
52 };
Interface for objects that need parallel consistent random numbers without patterns over the course o...
NodalUserObject(const InputParameters &parameters)
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:127
const Node *const & _current_node
Reference to current node pointer.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
/class BoundaryRestrictable /brief Provides functionality for limiting the object to certain boundary...
static InputParameters validParams()
A user object that runs over all the nodes and does an aggregation step to compute a single value...
Interface for objects that needs transient capabilities.
MooseMesh & _mesh
The mesh that is being iterated over.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:88
bool isUniqueNodeExecute()
const unsigned int _qp
Quadrature point index.
virtual void subdomainSetup() override
Gets called when the subdomain changes (i.e.
Intermediate base class that ties together all the interfaces for getting MooseVariableFEBases with t...
An interface that restricts an object to subdomains via the 'blocks' input parameter.
const bool & _unique_node_execute
Base class for user-specific data.
Definition: UserObject.h:40