https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
params.
addClassDescription
(
29
"Computes the average of the diffusive flux over the specified boundary"
);
30
return
params;
31
}
32
33
template
<
bool
is_ad>
34
SideDiffusiveFluxAverageTempl<is_ad>::SideDiffusiveFluxAverageTempl
(
35
const
InputParameters
& parameters)
36
:
SideDiffusiveFluxIntegralTempl
<is_ad, Real>(parameters), _volume(0)
37
{
38
}
39
40
template
<
bool
is_ad>
41
void
42
SideDiffusiveFluxAverageTempl<is_ad>::initialize
()
43
{
44
SideDiffusiveFluxIntegralTempl<is_ad, Real>::initialize
();
45
_volume = 0;
46
}
47
48
template
<
bool
is_ad>
49
void
50
SideDiffusiveFluxAverageTempl<is_ad>::execute
()
51
{
52
SideDiffusiveFluxIntegralTempl<is_ad, Real>::execute
();
53
_volume += this->_current_side_volume;
54
}
55
56
template
<
bool
is_ad>
57
Real
58
SideDiffusiveFluxAverageTempl<is_ad>::getValue
()
const
59
{
60
return
_integral_value / _volume;
61
}
62
63
template
<
bool
is_ad>
64
void
65
SideDiffusiveFluxAverageTempl<is_ad>::finalize
()
66
{
67
SideDiffusiveFluxIntegralTempl<is_ad, Real>::gatherSum
(_integral_value);
68
SideDiffusiveFluxIntegralTempl<is_ad, Real>::gatherSum
(_volume);
69
}
70
71
template
<
bool
is_ad>
72
void
73
SideDiffusiveFluxAverageTempl<is_ad>::threadJoin
(
const
UserObject
& y)
74
{
75
SideDiffusiveFluxIntegralTempl<is_ad, Real>::threadJoin
(y);
76
const
auto
& pps =
static_cast<
const
SideDiffusiveFluxAverageTempl<is_ad>
&
>
(y);
77
_volume += pps.
_volume
;
78
}
79
80
template
class
SideDiffusiveFluxAverageTempl<false>
;
81
template
class
SideDiffusiveFluxAverageTempl<true>
;
registerMooseObjectRenamed
registerMooseObjectRenamed("MooseApp", SideFluxAverage, "06/30/2021 24:00", SideDiffusiveFluxAverage)
registerMooseObject
registerMooseObject("MooseApp", SideDiffusiveFluxAverage)
SideDiffusiveFluxAverage.h
InputParameters
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Definition
InputParameters.h:68
InputParameters::addClassDescription
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.
Definition
InputParameters.C:81
SideDiffusiveFluxAverageTempl
Definition
SideDiffusiveFluxAverage.h:21
SideDiffusiveFluxAverageTempl::validParams
static InputParameters validParams()
Definition
SideDiffusiveFluxAverage.C:25
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:65
SideDiffusiveFluxAverageTempl::threadJoin
virtual void threadJoin(const UserObject &y) override
Must override.
Definition
SideDiffusiveFluxAverage.C:73
SideDiffusiveFluxAverageTempl::getValue
virtual Real getValue() const override
This will get called to actually grab the final value the postprocessor has calculated.
Definition
SideDiffusiveFluxAverage.C:58
SideDiffusiveFluxAverageTempl::execute
virtual void execute() override
Execute method.
Definition
SideDiffusiveFluxAverage.C:50
SideDiffusiveFluxAverageTempl::SideDiffusiveFluxAverageTempl
SideDiffusiveFluxAverageTempl(const InputParameters ¶meters)
Definition
SideDiffusiveFluxAverage.C:34
SideDiffusiveFluxAverageTempl::initialize
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
Definition
SideDiffusiveFluxAverage.C:42
SideDiffusiveFluxAverageTempl::_volume
Real _volume
Definition
SideDiffusiveFluxAverage.h:34
SideDiffusiveFluxIntegralTempl
This postprocessor computes a side integral of the mass flux.
Definition
SideDiffusiveFluxIntegral.h:28
SideDiffusiveFluxIntegralTempl::validParams
static InputParameters validParams()
Definition
SideDiffusiveFluxIntegral.C:30
SideIntegralPostprocessor::threadJoin
virtual void threadJoin(const UserObject &y) override
Must override.
Definition
SideIntegralPostprocessor.C:54
SideIntegralPostprocessor::initialize
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
Definition
SideIntegralPostprocessor.C:36
SideIntegralPostprocessor::execute
virtual void execute() override
Execute method.
Definition
SideIntegralPostprocessor.C:42
UserObjectBase::gatherSum
void gatherSum(T &value)
Gather the parallel sum of the variable passed in.
Definition
UserObjectBase.h:96
UserObject
Base class for user-specific data.
Definition
UserObject.h:20
Generated on Mon Aug 24 2026 19:02:13 for https://mooseframework.inl.gov by
1.9.8