https://mooseframework.inl.gov
TagVectorSum.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 #include "TagVectorSum.h"
11 
12 // MOOSE includes
13 #include "NonlinearSystemBase.h"
14 #include "FEProblemBase.h"
15 
16 // libMesh includes
17 #include "libmesh/numeric_vector.h"
18 
20 
23 {
25  params.addRequiredParam<TagName>("vector", "The name of the vector to compute the sum for");
26  params.addClassDescription("Computes the sum of components of the requested tagged vector");
27  return params;
28 }
29 
31  : GeneralPostprocessor(parameters),
32  _vec(_fe_problem.getNonlinearSystemBase(_sys.number())
33  .getVector(_fe_problem.getVectorTagID(getParam<TagName>("vector"))))
34 {
35 }
36 
37 void
39 {
40 }
41 
42 void
44 {
45  _sum = _vec.sum();
46 }
47 
50 {
51  return _sum;
52 }
virtual Number sum() const =0
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
virtual PostprocessorValue getValue() const override
This will get called to actually grab the final value the postprocessor has calculated.
Definition: TagVectorSum.C:49
This class is here to combine the Postprocessor interface and the base class Postprocessor object alo...
void addRequiredParam(const std::string &name, const std::string &doc_string)
This method adds a parameter and documentation string to the InputParameters object that will be extr...
TagVectorSum(const InputParameters &parameters)
Definition: TagVectorSum.C:30
static InputParameters validParams()
Real PostprocessorValue
various MOOSE typedefs
Definition: MooseTypes.h:202
static InputParameters validParams()
Definition: TagVectorSum.C:22
const NumericVector< Number > & _vec
The vector we will take the sum of.
Definition: TagVectorSum.h:38
Computes the sum of components of the requested tagged vector.
Definition: TagVectorSum.h:23
virtual void execute() override
Execute method.
Definition: TagVectorSum.C:43
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...
Number _sum
The vector sum.
Definition: TagVectorSum.h:40
registerMooseObject("MooseApp", TagVectorSum)
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
Definition: TagVectorSum.C:38