15 #include "nlohmann/json.h" 40 template <
typename DataType>
57 template <
typename DataType>
73 const std::vector<DataType> & data,
74 const bool relative_sensitivity);
77 virtual std::string
type()
const override 79 return "DirectPerturbationSensitivity<" + MooseUtils::prettyCppType<DataType>() +
">";
90 const DataType & to_add,
91 const DataType & reference_value,
92 const Real interval)
const;
103 const std::vector<DataType> &
_data;
virtual void finalize() override
A class used to generate samples for a direct perturbation analysis.
const ReporterState< std::vector< DataType > > & state() const
Reporter class for computing and displaying local sensitivity coefficients around a nominal value usi...
static InputParameters validParams()
void declareValueHelper(const ReporterName &r_name)
Helper for adding direct perturbation-based reporter values.
const std::vector< DataType > & _data
Data used for the statistic calculation.
const bool _relative_sensitivity
If relative sensitivity should be computed.
DirectPerturbationReporterContext(const libMesh::ParallelObject &other, const MooseObject &producer, ReporterState< std::vector< DataType >> &state, DirectPerturbationSampler &sampler, const std::vector< DataType > &data, const bool relative_sensitivity)
Constructor.
DataType initializeDataType(const DataType &example_output) const
Initialize the sensitivity container, split into a separate function due to the different constructor...
Reporter context for computing direct perturbation-based sensitivity coefficients.
virtual void execute() override final
DirectPerturbationSampler & _sampler
Reference to the direct perturbation sampler.
void addSensitivityContribution(DataType &add_to, const DataType &to_add, const DataType &reference_value, const Real interval) const
Compute direct perturbation sensitivity, split into a separate function due to the different operator...
virtual void finalize() override final
const InputParameters & parameters() const
const bool _relative_sensitivity
If relative sensitivities should be computed.
virtual std::string type() const override
DirectPerturbationReporter(const InputParameters ¶meters)
DirectPerturbationSampler & _sampler
Direct perturbation sampler.
virtual void initialize() override final
bool _initialized
Whether or not initialize() has been called for reporter value declaration.