www.mooseframework.org
NodalBCBase.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 #include "NodalBCBase.h"
11 
12 template <>
15 {
16  return NodalBCBase::validParams();
17 }
18 
21 {
23  params += RandomInterface::validParams();
24  params.addParam<std::vector<AuxVariableName>>(
25  "save_in",
26  "The name of auxiliary variables to save this BC's residual contributions to. "
27  "Everything about that variable must match everything about this variable (the "
28  "type, what blocks it's on, etc.)");
29  params.addParam<std::vector<AuxVariableName>>(
30  "diag_save_in",
31  "The name of auxiliary variables to save this BC's diagonal jacobian "
32  "contributions to. Everything about that variable must match everything "
33  "about this variable (the type, what blocks it's on, etc.)");
34 
35  params.addParamNamesToGroup("vector_tags matrix_tags", "Tagging");
36 
37  params.set<MultiMooseEnum>("vector_tags") = "residual";
38  params.set<MultiMooseEnum>("matrix_tags") = "system time";
39  return params;
40 }
41 
43  : BoundaryCondition(parameters, true), // true is for being Nodal
44  RandomInterface(parameters, _fe_problem, _tid, true),
46  _save_in_strings(parameters.get<std::vector<AuxVariableName>>("save_in")),
47  _diag_save_in_strings(parameters.get<std::vector<AuxVariableName>>("diag_save_in"))
48 {
49 }
BoundaryCondition
Base class for creating new types of boundary conditions.
Definition: BoundaryCondition.h:46
BoundaryCondition::validParams
static InputParameters validParams()
Definition: BoundaryCondition.C:23
NodalBCBase.h
InputParameters::addParam
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an option parameter and a documentation string to the InputParameters object.
Definition: InputParameters.h:1198
InputParameters
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Definition: InputParameters.h:53
InputParameters::set
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
Definition: InputParameters.h:987
NodalBCBase::NodalBCBase
NodalBCBase(const InputParameters &parameters)
Definition: NodalBCBase.C:42
CoupleableMooseVariableDependencyIntermediateInterface
Intermediate base class that ties together all the interfaces for getting MooseVariableFEBases with t...
Definition: CoupleableMooseVariableDependencyIntermediateInterface.h:20
validParams< NodalBCBase >
InputParameters validParams< NodalBCBase >()
Definition: NodalBCBase.C:14
InputParameters::addParamNamesToGroup
void addParamNamesToGroup(const std::string &space_delim_names, const std::string group_name)
This method takes a space delimited list of parameter names and adds them to the specified group name...
Definition: InputParameters.C:590
std
Definition: TheWarehouse.h:80
MultiMooseEnum
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MultiMooseEnum.h:38
RandomInterface::validParams
static InputParameters validParams()
Definition: RandomInterface.C:20
NodalBCBase::validParams
static InputParameters validParams()
Definition: NodalBCBase.C:20
RandomInterface
Interface for objects that need parallel consistent random numbers without patterns over the course o...
Definition: RandomInterface.h:33