www.mooseframework.org
AverageElementSize.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 "AverageElementSize.h"
11 
13 
14 template <>
17 {
19  return params;
20 }
21 
23  : ElementPostprocessor(parameters)
24 {
25 }
26 
27 void
29 {
30  _total_size = 0;
31  _elems = 0;
32 }
33 
34 void
36 {
37  _total_size += _current_elem->hmax();
38  _elems++;
39 }
40 
41 Real
43 {
46 
47  return _total_size / _elems;
48 }
49 
50 void
52 {
53  const AverageElementSize & pps = static_cast<const AverageElementSize &>(y);
54  _total_size += pps._total_size;
55  _elems += pps._elems;
56 }
InputParameters validParams< AverageElementSize >()
This postprocessor computes an average element size (h) for the whole domain.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
registerMooseObject("MooseApp", AverageElementSize)
virtual Real getValue() override
This will get called to actually grab the final value the postprocessor has calculated.
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
AverageElementSize(const InputParameters &parameters)
void gatherSum(T &value)
Gather the parallel sum of the variable passed in.
Definition: UserObject.h:103
virtual void threadJoin(const UserObject &y) override
Must override.
InputParameters validParams< ElementPostprocessor >()
const Elem *const & _current_elem
The current element pointer (available during execute())
Base class for user-specific data.
Definition: UserObject.h:37
virtual void execute() override
Execute method.