www.mooseframework.org
Indicator.C
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 // MOOSE includes
16 #include "Indicator.h"
17 #include "Assembly.h"
18 #include "MooseVariable.h"
19 #include "Problem.h"
20 #include "SubProblem.h"
21 #include "SystemBase.h"
22 
23 #include "libmesh/threads.h"
24 
25 template <>
28 {
31  params += validParams<OutputInterface>();
33 
34  params.addParam<bool>("use_displaced_mesh",
35  false,
36  "Whether or not this object should use the "
37  "displaced mesh for computation. Note that "
38  "in the case this is true but no "
39  "displacements are provided in the Mesh block "
40  "the undisplaced mesh will still be used.");
41  params.addParamNamesToGroup("use_displaced_mesh", "Advanced");
42 
43  params.registerBase("Indicator");
44 
45  return params;
46 }
47 
49  : MooseObject(parameters),
50  BlockRestrictable(this),
51  SetupInterface(this),
52  FunctionInterface(this),
53  UserObjectInterface(this),
54  Restartable(parameters, "Indicators"),
55  OutputInterface(parameters),
56  MaterialPropertyInterface(this, blockIDs()),
57  _subproblem(*parameters.get<SubProblem *>("_subproblem")),
58  _fe_problem(*parameters.get<FEProblemBase *>("_fe_problem_base")),
59  _sys(*parameters.get<SystemBase *>("_sys")),
60  _solution(_sys.solution()),
61  _tid(parameters.get<THREAD_ID>("_tid")),
62  _assembly(_subproblem.assembly(_tid)),
63  _mesh(_subproblem.mesh())
64 {
65 }
InputParameters validParams< MaterialPropertyInterface >()
A class for creating restricted objects.
Definition: Restartable.h:31
InputParameters validParams< BlockRestrictable >()
InputParameters validParams< OutputInterface >()
A class to provide an common interface to objects requiring "outputs" option.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Base class for a system (of equations)
Definition: SystemBase.h:91
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:36
Interface for objects that need to use UserObjects.
InputParameters validParams< MooseObject >()
Definition: MooseObject.C:22
Generic class for solving transient nonlinear problems.
Definition: SubProblem.h:53
An interface for accessing Materials.
An interface that restricts an object to subdomains via the &#39;blocks&#39; input parameter.
InputParameters validParams< Indicator >()
Definition: Indicator.C:27
Indicator(const InputParameters &parameters)
Definition: Indicator.C:48
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...
Interface for objects that need to use functions.
unsigned int THREAD_ID
Definition: MooseTypes.h:79