https://mooseframework.inl.gov
Loading...
Searching...
No Matches
optimization
test
src
vectorpostprocessors
OptimizationFunctionTest.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 "
OptimizationFunctionTest.h
"
11
12
#include "
OptimizationFunction.h
"
13
14
registerMooseObject
(
"OptimizationTestApp"
,
OptimizationFunctionTest
);
15
16
InputParameters
17
OptimizationFunctionTest::validParams
()
18
{
19
InputParameters
params =
GeneralVectorPostprocessor::validParams
();
20
params.
addClassDescription
(
21
"Outputs parameter gradients for the inputted optimization functions."
);
22
params.
addRequiredParam
<std::vector<FunctionName>>(
"functions"
,
23
"Optimization functions to test."
);
24
params.
addParam
<std::vector<Point>>(
25
"points"
,
26
std::vector<Point>(1, Point(0, 0, 0)),
27
"Points in domain to test the functions, default is single point at (0,0,0)."
);
28
params.
addParam
<std::vector<Real>>(
"times"
,
29
std::vector<Real>(1, 0),
30
"Times to test the functions, default is single time at 0."
);
31
return
params;
32
}
33
34
OptimizationFunctionTest::OptimizationFunctionTest
(
const
InputParameters
& params)
35
:
GeneralVectorPostprocessor
(params),
36
_points(getParam<
std
::vector<Point>>(
"points"
)),
37
_times(getParam<
std
::vector<Real>>(
"times"
))
38
{
39
for
(
const
auto
& fnm : getParam<std::vector<FunctionName>>(
"functions"
))
40
{
41
auto
func =
dynamic_cast<
const
OptimizationFunction
*
>
(&
getFunctionByName
(fnm));
42
if
(!func)
43
paramError
(
"functions"
, fnm,
" is not an OptimizationFunction."
);
44
auto
& vecs =
_functions
[func];
45
for
(
const
auto
& t : index_range(
_times
))
46
for
(
const
auto
&
p
: index_range(
_points
))
47
{
48
const
std::string vnm = fnm +
"_t"
+ std::to_string(t) +
"_p"
+ std::to_string(
p
);
49
vecs.push_back(&
declareVector
(vnm));
50
}
51
}
52
}
53
54
void
55
OptimizationFunctionTest::execute
()
56
{
57
for
(
auto
& it :
_functions
)
58
{
59
const
auto
& fun = *it.first;
60
auto
& vecs = it.second;
61
std::size_t ind = 0;
62
for
(
const
auto
& t :
_times
)
63
for
(
const
auto
&
p
:
_points
)
64
(*vecs[ind++]) = fun.parameterGradient(t,
p
);
65
}
66
}
p
const Real p
Definition
GasLiquidMassTransferTest.C:18
registerMooseObject
registerMooseObject("OptimizationTestApp", OptimizationFunctionTest)
OptimizationFunctionTest.h
OptimizationFunction.h
GeneralVectorPostprocessor::getFunctionByName
const Function & getFunctionByName(const FunctionName &name) const
GeneralVectorPostprocessor
GeneralVectorPostprocessor::validParams
static InputParameters validParams()
InputParameters::addRequiredParam
void addRequiredParam(const std::string &name, const std::string &doc_string)
InputParameters::addParam
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
InputParameters::addClassDescription
void addClassDescription(const std::string &doc_string)
GeneralVectorPostprocessor::paramError
void paramError(const std::string ¶m, Args... args) const
OptimizationFunctionTest
Definition
OptimizationFunctionTest.h:17
OptimizationFunctionTest::_times
const std::vector< Real > & _times
Definition
OptimizationFunctionTest.h:30
OptimizationFunctionTest::_functions
std::map< const OptimizationFunction *, std::vector< VectorPostprocessorValue * > > _functions
Definition
OptimizationFunctionTest.h:31
OptimizationFunctionTest::execute
void execute() override
Definition
OptimizationFunctionTest.C:55
OptimizationFunctionTest::OptimizationFunctionTest
OptimizationFunctionTest(const InputParameters ¶ms)
Definition
OptimizationFunctionTest.C:34
OptimizationFunctionTest::validParams
static InputParameters validParams()
Definition
OptimizationFunctionTest.C:17
OptimizationFunctionTest::_points
const std::vector< Point > & _points
Definition
OptimizationFunctionTest.h:29
OptimizationFunction
Base class for functions used in inverse optimization The parameterDerivative function is used in adj...
Definition
OptimizationFunction.h:20
GeneralVectorPostprocessor::declareVector
VectorPostprocessorValue & declareVector(const std::string &vector_name)
std
InputParameters
Generated on Fri Aug 21 2026 13:41:18 for https://mooseframework.inl.gov by
1.9.8