https://mooseframework.inl.gov
Loading...
Searching...
No Matches
OptimizationData.h
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#pragma once
11
12// MOOSE includes
13#include "MooseTypes.h"
14#include "MooseUtils.h"
15#include "InputParameters.h"
16#include "FEProblemBase.h"
17#include "MooseError.h"
18#include "MooseObject.h"
19#include "Reporter.h"
20#include "DelimitedFileReader.h"
21#include "SystemBase.h"
22#include "GeneralReporter.h"
24
25// Forward Declarations
26template <typename T>
28
30
31template <typename T>
33{
34public:
36 OptimizationDataTempl(const InputParameters & parameters);
37
38 virtual void initialize() override {}
39 virtual void execute() override;
40 virtual void finalize() override {}
41
45 void computeMisfit();
46
51 Real computeMisfitValue();
52
53protected:
56 std::vector<Real> & _measurement_xcoord;
57 std::vector<Real> & _measurement_ycoord;
58 std::vector<Real> & _measurement_zcoord;
59 std::vector<Real> & _measurement_time;
60 std::vector<Real> & _measurement_values;
63 std::vector<Real> & _simulation_values;
65 std::vector<Real> & _misfit_values;
66
69
70private:
76 std::vector<MooseVariableFieldBase *> _var_vec;
78 std::vector<std::vector<Real> *> _variable_weights;
80 std::map<std::string, std::vector<Real> *> _weight_names_weights_map;
82 void errorCheckDataSize();
83};
const double T
OptimizationDataTempl< GeneralReporter > OptimizationData
std::vector< std::vector< Real > * > _variable_weights
Weight names to reporter values.
std::vector< Real > & _simulation_values
simulated values at measurement xyzt
std::vector< MooseVariableFieldBase * > _var_vec
variable
void readMeasurementsFromInput()
parse measurement data from input file
std::map< std::string, std::vector< Real > * > _weight_names_weights_map
Weight names to reporter values map created from input file.
virtual void initialize() override
std::vector< Real > & _measurement_zcoord
static InputParameters validParams()
Real & _objective_val
Reporter value that will hold the objective value.
std::vector< Real > & _measurement_ycoord
void readMeasurementsFromFile()
parse measurement data from csv file
void errorCheckDataSize()
helper to check data sizes
Real computeMisfitValue()
Compute half the sum of the misfit (squared) values.
void computeMisfit()
Compute misfit vectors from the simulations and measurement values.
std::vector< Real > & _measurement_values
std::vector< Real > & _misfit_values
difference between simulation and measurement values at measurement xyzt
virtual void finalize() override
std::vector< Real > & _measurement_time
virtual void execute() override
std::vector< Real > & _measurement_xcoord