15 #include "nlohmann/json.h" 27 virtual void store(nlohmann::json & json)
const override;
33 template <
typename DataType>
52 template <
typename DataType>
54 std::map<std::string, std::pair<std::vector<DataType>, std::vector<std::vector<DataType>>>>;
56 template <
typename DataType>
64 const std::vector<DataType> & data);
70 const std::vector<DataType> & data,
72 const std::vector<Real> & ci_levels,
73 unsigned int ci_replicates,
74 unsigned int ci_seed);
77 virtual std::string
type()
const override 79 return "MorrisSensitivity<" + MooseUtils::prettyCppType<DataType>() +
">";
88 const std::vector<DataType> &
y)
const;
94 const std::vector<DataType> &
_data;
97 std::unique_ptr<StochasticTools::Calculator<std::vector<DataType>, DataType>>
_mu_calc;
98 std::unique_ptr<StochasticTools::Calculator<std::vector<DataType>, DataType>>
_mustar_calc;
99 std::unique_ptr<StochasticTools::Calculator<std::vector<DataType>, DataType>>
_sig_calc;
102 std::unique_ptr<StochasticTools::BootstrapCalculator<std::vector<DataType>, DataType>>
104 std::unique_ptr<StochasticTools::BootstrapCalculator<std::vector<DataType>, DataType>>
106 std::unique_ptr<StochasticTools::BootstrapCalculator<std::vector<DataType>, DataType>>
virtual void finalize() override
virtual void execute() override final
const ReporterState< MorrisState< DataType > > & state() const
static InputParameters validParams()
const unsigned int & _ci_seed
Random seed for producing CI replicates.
std::unique_ptr< StochasticTools::BootstrapCalculator< std::vector< DataType >, DataType > > _ci_mustar_calc
void declareValueHelper(const ReporterName &r_name)
Helper for adding Morris reporter values.
const std::vector< double > y
const std::vector< Real > & _ci_levels
CI levels to be computed.
std::vector< DataType > computeElementaryEffects(const RealEigenMatrix &x, const std::vector< DataType > &y) const
Function for computing elementary effects for a single set of trajectories This is meant to be specia...
const unsigned int & _ci_replicates
Number of CI replicates to use in Bootstrap methods.
const std::vector< double > x
virtual void initialize() override final
Sampler & _sampler
Morris sampler (don't need any specific functions, but should be this type)
std::map< std::string, std::pair< std::vector< DataType >, std::vector< std::vector< DataType > >> > MorrisState
Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic > RealEigenMatrix
virtual void finalize() override final
MorrisReporterContext(const libMesh::ParallelObject &other, const MooseObject &producer, ReporterState< MorrisState< DataType >> &state, Sampler &sampler, const std::vector< DataType > &data)
virtual std::string type() const override
std::unique_ptr< StochasticTools::Calculator< std::vector< DataType >, DataType > > _mu_calc
Storage for the Calculator object for the desired stat, this is created in constructor.
bool _initialized
Whether or not initialize() has been called for reporter value declaration.
const std::vector< DataType > & _data
Data used for the statistic calculation.
const InputParameters & parameters() const
Sampler & _sampler
Morris sampler (don't need any specific functions, but should be this type)
std::unique_ptr< StochasticTools::Calculator< std::vector< DataType >, DataType > > _sig_calc
MorrisReporter(const InputParameters ¶meters)
virtual void store(nlohmann::json &json) const override
std::unique_ptr< StochasticTools::BootstrapCalculator< std::vector< DataType >, DataType > > _ci_sig_calc
std::unique_ptr< StochasticTools::BootstrapCalculator< std::vector< DataType >, DataType > > _ci_mu_calc
Storage for the BootstrapCalculator for the desired confidence interval calculations (optional) ...
std::unique_ptr< StochasticTools::Calculator< std::vector< DataType >, DataType > > _mustar_calc