https://mooseframework.inl.gov
src
postprocessors
InterfaceDiffusiveFluxAverage.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 "
InterfaceDiffusiveFluxAverage.h
"
11
12
registerMooseObject
(
"MooseApp"
,
InterfaceDiffusiveFluxAverage
);
13
registerMooseObject
(
"MooseApp"
,
ADInterfaceDiffusiveFluxAverage
);
14
15
template
<
bool
is_ad>
16
InputParameters
17
InterfaceDiffusiveFluxAverageTempl<is_ad>::validParams
()
18
{
19
InputParameters
params =
InterfaceDiffusiveFluxIntegralTempl<is_ad>::validParams
();
20
return
params;
21
}
22
23
template
<
bool
is_ad>
24
InterfaceDiffusiveFluxAverageTempl<is_ad>::InterfaceDiffusiveFluxAverageTempl
(
25
const
InputParameters
& parameters)
26
:
InterfaceDiffusiveFluxIntegralTempl
<is_ad>(parameters), _volume(0)
27
{
28
}
29
30
template
<
bool
is_ad>
31
void
32
InterfaceDiffusiveFluxAverageTempl<is_ad>::initialize
()
33
{
34
InterfaceDiffusiveFluxIntegralTempl<is_ad>::initialize
();
35
_volume = 0;
36
}
37
38
template
<
bool
is_ad>
39
void
40
InterfaceDiffusiveFluxAverageTempl<is_ad>::execute
()
41
{
42
InterfaceDiffusiveFluxIntegralTempl<is_ad>::execute
();
43
_volume += this->_current_side_volume;
44
}
45
46
template
<
bool
is_ad>
47
Real
48
InterfaceDiffusiveFluxAverageTempl<is_ad>::getValue
()
const
49
{
50
return
_integral_value / _volume;
51
}
52
53
template
<
bool
is_ad>
54
void
55
InterfaceDiffusiveFluxAverageTempl<is_ad>::finalize
()
56
{
57
this->gatherSum(_volume);
58
this->gatherSum(_integral_value);
59
}
60
61
template
<
bool
is_ad>
62
void
63
InterfaceDiffusiveFluxAverageTempl<is_ad>::threadJoin
(
const
UserObject
& y)
64
{
65
InterfaceDiffusiveFluxIntegralTempl<is_ad>::threadJoin
(y);
66
const
auto
& pps =
static_cast<
const
InterfaceDiffusiveFluxAverageTempl<is_ad>
&
>
(y);
67
_volume += pps.
_volume
;
68
}
69
70
template
class
InterfaceDiffusiveFluxAverageTempl<false>
;
71
template
class
InterfaceDiffusiveFluxAverageTempl<true>
;
InterfaceDiffusiveFluxAverageTempl::validParams
static InputParameters validParams()
Definition:
InterfaceDiffusiveFluxAverage.C:17
InterfaceDiffusiveFluxIntegralTempl::validParams
static InputParameters validParams()
Definition:
InterfaceDiffusiveFluxIntegral.C:22
InterfaceDiffusiveFluxAverageTempl::threadJoin
virtual void threadJoin(const UserObject &y) override
Must override.
Definition:
InterfaceDiffusiveFluxAverage.C:63
InputParameters
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Definition:
InputParameters.h:66
InterfaceDiffusiveFluxAverage.h
InterfaceDiffusiveFluxIntegralTempl
This postprocessor computes an integral of the diffusive flux over an interface.
Definition:
InterfaceDiffusiveFluxIntegral.h:18
InterfaceIntegralPostprocessor::threadJoin
virtual void threadJoin(const UserObject &y) override
Must override.
Definition:
InterfaceIntegralPostprocessor.C:51
InterfaceIntegralPostprocessor::execute
virtual void execute() override
Execute method.
Definition:
InterfaceIntegralPostprocessor.C:38
InterfaceDiffusiveFluxAverageTempl::_volume
Real _volume
Definition:
InterfaceDiffusiveFluxAverage.h:34
InterfaceDiffusiveFluxAverageTempl::getValue
virtual Real getValue() const override
This will get called to actually grab the final value the postprocessor has calculated.
Definition:
InterfaceDiffusiveFluxAverage.C:48
InterfaceDiffusiveFluxAverageTempl::InterfaceDiffusiveFluxAverageTempl
InterfaceDiffusiveFluxAverageTempl(const InputParameters ¶meters)
Definition:
InterfaceDiffusiveFluxAverage.C:24
Real
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
InterfaceDiffusiveFluxAverageTempl
Definition:
InterfaceDiffusiveFluxAverage.h:15
InterfaceDiffusiveFluxAverageTempl::initialize
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
Definition:
InterfaceDiffusiveFluxAverage.C:32
registerMooseObject
registerMooseObject("MooseApp", InterfaceDiffusiveFluxAverage)
InterfaceDiffusiveFluxAverageTempl::finalize
virtual void finalize() override
Finalize.
Definition:
InterfaceDiffusiveFluxAverage.C:55
InterfaceIntegralPostprocessor::initialize
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
Definition:
InterfaceIntegralPostprocessor.C:31
UserObject
Base class for user-specific data.
Definition:
UserObject.h:40
InterfaceDiffusiveFluxAverageTempl::execute
virtual void execute() override
Execute method.
Definition:
InterfaceDiffusiveFluxAverage.C:40
Generated on Thu Jul 17 2025 01:32:15 for https://mooseframework.inl.gov by
1.8.14