https://mooseframework.inl.gov
Indicator.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 "MooseObject.h"
13 #include "BlockRestrictable.h"
14 #include "SetupInterface.h"
15 #include "FunctionInterface.h"
16 #include "UserObjectInterface.h"
18 #include "Restartable.h"
19 #include "OutputInterface.h"
21 
22 class MooseMesh;
23 class SubProblem;
24 class Assembly;
25 class SystemBase;
26 
27 class Indicator : public MooseObject,
28  public BlockRestrictable,
29  public SetupInterface,
30  public FunctionInterface,
31  public UserObjectInterface,
33  public Restartable,
34  public OutputInterface,
36 {
37 public:
39 
41 
42  virtual ~Indicator(){};
43 
51  virtual void computeIndicator() = 0;
52 
58  virtual void finalize() {}
59 
61 
62  // TODO: Fixme
63  bool isActive() const { return true; }
64 
65 protected:
67  const bool _use_displaced_mesh;
72 
74 
76 
78 };
SystemBase & _sys
Definition: Indicator.h:70
SubProblem & _subproblem
Definition: Indicator.h:68
A class for creating restricted objects.
Definition: Restartable.h:28
static InputParameters validParams()
Definition: Indicator.C:21
Keeps track of stuff related to assembling.
Definition: Assembly.h:101
virtual void finalize()
Can be overridden to do a final postprocessing of the indicator field.
Definition: Indicator.h:58
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...
NumericVector< Number > & _solution
Definition: Indicator.h:71
MooseMesh & _mesh
Definition: Indicator.h:77
Base class for a system (of equations)
Definition: SystemBase.h:84
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
const bool _use_displaced_mesh
Whether to use the displaced mesh.
Definition: Indicator.h:67
THREAD_ID _tid
Definition: Indicator.h:73
bool isActive() const
Definition: Indicator.h:63
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:28
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:88
Interface for objects that need to use UserObjects.
Generic class for solving transient nonlinear problems.
Definition: SubProblem.h:78
An interface for accessing Materials.
virtual void computeIndicator()=0
Pure virtual that must be overridden.
An interface that restricts an object to subdomains via the &#39;blocks&#39; input parameter.
Indicator(const InputParameters &parameters)
Definition: Indicator.C:42
const InputParameters & parameters() const
Get the parameters of the object.
virtual ~Indicator()
Definition: Indicator.h:42
FEProblemBase & _fe_problem
Definition: Indicator.h:69
SubProblem & subProblem()
Definition: Indicator.h:60
Interface for objects that need to use functions.
unsigned int THREAD_ID
Definition: MooseTypes.h:209
Assembly & _assembly
Definition: Indicator.h:75