https://mooseframework.inl.gov
src
postprocessors
SideDiffusiveFluxAverage.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 "
SideDiffusiveFluxAverage.h
"
11
12
registerMooseObject
(
"MooseApp"
,
SideDiffusiveFluxAverage
);
13
registerMooseObject
(
"MooseApp"
,
ADSideDiffusiveFluxAverage
);
14
registerMooseObjectRenamed
(
"MooseApp"
,
15
SideFluxAverage,
16
"06/30/2021 24:00"
,
17
SideDiffusiveFluxAverage
);
18
registerMooseObjectRenamed
(
"MooseApp"
,
19
ADSideFluxAverage,
20
"06/30/2021 24:00"
,
21
ADSideDiffusiveFluxAverage
);
22
23
template
<
bool
is_ad>
24
InputParameters
25
SideDiffusiveFluxAverageTempl<is_ad>::validParams
()
26
{
27
InputParameters
params =
SideDiffusiveFluxIntegralTempl<is_ad, Real>::validParams
();
28
return
params;
29
}
30
31
template
<
bool
is_ad>
32
SideDiffusiveFluxAverageTempl<is_ad>::SideDiffusiveFluxAverageTempl
(
33
const
InputParameters
& parameters)
34
:
SideDiffusiveFluxIntegralTempl
<is_ad,
Real
>(parameters), _volume(0)
35
{
36
}
37
38
template
<
bool
is_ad>
39
void
40
SideDiffusiveFluxAverageTempl<is_ad>::initialize
()
41
{
42
SideDiffusiveFluxIntegralTempl<is_ad, Real>::initialize
();
43
_volume = 0;
44
}
45
46
template
<
bool
is_ad>
47
void
48
SideDiffusiveFluxAverageTempl<is_ad>::execute
()
49
{
50
SideDiffusiveFluxIntegralTempl<is_ad, Real>::execute
();
51
_volume += this->_current_side_volume;
52
}
53
54
template
<
bool
is_ad>
55
Real
56
SideDiffusiveFluxAverageTempl<is_ad>::getValue
()
const
57
{
58
return
_integral_value / _volume;
59
}
60
61
template
<
bool
is_ad>
62
void
63
SideDiffusiveFluxAverageTempl<is_ad>::finalize
()
64
{
65
SideDiffusiveFluxIntegralTempl<is_ad, Real>::gatherSum
(_integral_value);
66
SideDiffusiveFluxIntegralTempl<is_ad, Real>::gatherSum
(_volume);
67
}
68
69
template
<
bool
is_ad>
70
void
71
SideDiffusiveFluxAverageTempl<is_ad>::threadJoin
(
const
UserObject
& y)
72
{
73
SideDiffusiveFluxIntegralTempl<is_ad, Real>::threadJoin
(y);
74
const
auto
& pps =
static_cast<
const
SideDiffusiveFluxAverageTempl<is_ad>
&
>
(y);
75
_volume += pps.
_volume
;
76
}
77
78
template
class
SideDiffusiveFluxAverageTempl<false>
;
79
template
class
SideDiffusiveFluxAverageTempl<true>
;
SideDiffusiveFluxIntegralTempl::validParams
static InputParameters validParams()
Definition:
SideDiffusiveFluxIntegral.C:30
SideDiffusiveFluxAverageTempl::SideDiffusiveFluxAverageTempl
SideDiffusiveFluxAverageTempl(const InputParameters ¶meters)
Definition:
SideDiffusiveFluxAverage.C:32
registerMooseObject
registerMooseObject("MooseApp", SideDiffusiveFluxAverage)
SideDiffusiveFluxAverage.h
SideDiffusiveFluxIntegralTempl
This postprocessor computes a side integral of the mass flux.
Definition:
SideDiffusiveFluxIntegral.h:17
InputParameters
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Definition:
InputParameters.h:65
SideDiffusiveFluxAverageTempl::getValue
virtual Real getValue() const override
This will get called to actually grab the final value the postprocessor has calculated.
Definition:
SideDiffusiveFluxAverage.C:56
registerMooseObjectRenamed
registerMooseObjectRenamed("MooseApp", SideFluxAverage, "06/30/2021 24:00", SideDiffusiveFluxAverage)
UserObject::gatherSum
void gatherSum(T &value)
Gather the parallel sum of the variable passed in.
Definition:
UserObject.h:126
SideDiffusiveFluxAverageTempl::execute
virtual void execute() override
Execute method.
Definition:
SideDiffusiveFluxAverage.C:48
SideDiffusiveFluxAverageTempl
Definition:
SideDiffusiveFluxAverage.h:15
SideIntegralPostprocessor::threadJoin
virtual void threadJoin(const UserObject &y) override
Must override.
Definition:
SideIntegralPostprocessor.C:54
SideDiffusiveFluxAverageTempl::_volume
Real _volume
Definition:
SideDiffusiveFluxAverage.h:34
SideDiffusiveFluxAverageTempl::finalize
virtual void finalize() override
This is called after execute() and after threadJoin()! This is probably where you want to do MPI comm...
Definition:
SideDiffusiveFluxAverage.C:63
SideIntegralPostprocessor::initialize
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
Definition:
SideIntegralPostprocessor.C:36
SideDiffusiveFluxAverageTempl::threadJoin
virtual void threadJoin(const UserObject &y) override
Must override.
Definition:
SideDiffusiveFluxAverage.C:71
Real
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
SideDiffusiveFluxAverageTempl::validParams
static InputParameters validParams()
Definition:
SideDiffusiveFluxAverage.C:25
SideIntegralPostprocessor::execute
virtual void execute() override
Execute method.
Definition:
SideIntegralPostprocessor.C:42
UserObject
Base class for user-specific data.
Definition:
UserObject.h:40
SideDiffusiveFluxAverageTempl::initialize
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
Definition:
SideDiffusiveFluxAverage.C:40
Generated on Sun Aug 24 2025 13:53:48 for https://mooseframework.inl.gov by
1.8.14