https://mooseframework.inl.gov
AddBoundsVectorsAction.C
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 // MOOSE includes
11 #include "AddBoundsVectorsAction.h"
12 #include "FEProblem.h"
13 #include "NonlinearSystemBase.h"
14 
15 registerMooseAction("MooseApp", AddBoundsVectorsAction, "add_bounds_vectors");
16 
19 {
21  params.addClassDescription(
22  "Action to add vectors to nonlinear system when using the Bounds syntax.");
23  return params;
24 }
25 
27 
28 void
30 {
31  if (!_problem->numNonlinearSystems() && _problem->numLinearSystems())
32  mooseError("Vector bounds cannot be used with only LinearSystems!");
33 
34  _problem->getNonlinearSystemBase(/*nl_sys=*/0).addVector("lower_bound", false, libMesh::GHOSTED);
35  _problem->getNonlinearSystemBase(/*nl_sys=*/0).addVector("upper_bound", false, libMesh::GHOSTED);
36 }
AddBoundsVectorsAction(const InputParameters &params)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Base class for actions.
Definition: Action.h:33
static InputParameters validParams()
registerMooseAction("MooseApp", AddBoundsVectorsAction, "add_bounds_vectors")
static InputParameters validParams()
Definition: Action.C:26
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition: MooseBase.h:267
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump...
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:171
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.