https://mooseframework.inl.gov
Loading...
Searching...
No Matches
FunctorNodalCorrector.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 "NodalUserObject.h"
13#include "MooseMesh.h"
14
16
21{
22public:
24
26
27 void initialize() override {}
28 void execute() override;
29 void finalize() override;
30 void threadJoin(const UserObject &) override {}
31
32protected:
35
37 const std::vector<VariableName> & _var_names;
39 std::vector<unsigned int> _var_numbers;
40
42 const std::vector<MooseFunctorName> & _functor_names;
43
46
52
54 std::vector<const Moose::Functor<Real> *> _functors;
55
57 std::vector<BoundaryID> _excluded_nodeset_ids;
58};
Set (all or some) values of (one or more) nonlinear variable(s) using functor evaluations.
std::vector< const Moose::Functor< Real > * > _functors
Pointers to the functors.
const MooseEnum _functor_evaluation_technique
Evaluation method (argument)
const std::vector< VariableName > & _var_names
names of the variables to set using functors
MooseMesh & _mesh
reference to the mesh
void finalize() override
Finalize.
std::vector< unsigned int > _var_numbers
internal ID numbers of the variables to smooth
const std::vector< MooseFunctorName > & _functor_names
Name of the functors.
void execute() override
Execute method.
FunctorEvalType
This enum must match the enum in the input parameters.
std::vector< BoundaryID > _excluded_nodeset_ids
Vector of boundaries to not execute on.
void threadJoin(const UserObject &) override
Must override.
void initialize() override
Called before execute() is ever called so that data can be cleared.
static InputParameters validParams()
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition MooseEnum.h:55
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition MooseMesh.h:95
A user object that runs over all the nodes and does an aggregation step to compute a single value.
An interface for accessing Moose::Functors for systems that do not care about automatic differentiati...
Nonlinear system to be solved.
Base class for user-specific data.
Definition UserObject.h:20