A class used to perform Parallel Subset Simulation Sampling. More...
#include <ParallelSubsetSimulation.h>
Public Types | |
| enum | SampleMode |
| typedef DataFileName | DataFileParameterType |
Public Member Functions | |
| ParallelSubsetSimulation (const InputParameters ¶meters) | |
| const unsigned int & | getNumSamplesSub () const |
| Access the number samples per subset. | |
| const bool & | getUseAbsoluteValue () const |
| Access use absolute value bool. | |
| const Real & | getSubsetProbability () const |
| Access the subset probability. | |
| virtual bool | isAdaptiveSamplingCompleted () const override |
| Returns true if the adaptive sampling is completed. | |
| std::vector< Real > | getSampleRow (dof_id_type row_index) const |
| Real | getSample (dof_id_type row_index, dof_id_type col_index) const |
| dof_id_type | getNumberOfRows () const |
| dof_id_type | getNumberOfCols () const |
| dof_id_type | getNumberOfLocalRows () const |
| const LocalRankConfig & | getRankConfig (bool batch_mode) const |
| virtual bool | enabled () const |
| std::shared_ptr< MooseObject > | getSharedPtr () |
| std::shared_ptr< const MooseObject > | getSharedPtr () const |
| bool | isKokkosObject () const |
| MooseApp & | getMooseApp () const |
| const std::string & | type () const |
| const std::string & | name () const |
| std::string | typeAndName () const |
| MooseObjectParameterName | uniqueParameterName (const std::string ¶meter_name) const |
| MooseObjectName | uniqueName () const |
| const InputParameters & | parameters () const |
| const hit::Node * | getHitNode () const |
| bool | hasBase () const |
| const std::string & | getBase () const |
| const T & | getParam (const std::string &name) const |
| std::vector< std::pair< T1, T2 > > | getParam (const std::string ¶m1, const std::string ¶m2) const |
| const T * | queryParam (const std::string &name) const |
| const T & | getRenamedParam (const std::string &old_name, const std::string &new_name) const |
| T | getCheckedPointerParam (const std::string &name, const std::string &error_string="") const |
| bool | isParamValid (const std::string &name) const |
| bool | isParamSetByUser (const std::string &name) const |
| void | connectControllableParams (const std::string ¶meter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const |
| void | paramError (const std::string ¶m, Args... args) const |
| void | paramWarning (const std::string ¶m, Args... args) const |
| void | paramWarning (const std::string ¶m, Args... args) const |
| void | paramInfo (const std::string ¶m, Args... args) const |
| std::string | messagePrefix (const bool hit_prefix=true) const |
| std::string | errorPrefix (const std::string &) const |
| void | mooseError (Args &&... args) const |
| void | mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const |
| void | mooseErrorNonPrefixed (Args &&... args) const |
| void | mooseWarning (Args &&... args) const |
| void | mooseWarning (Args &&... args) const |
| void | mooseWarningNonPrefixed (Args &&... args) const |
| void | mooseWarningNonPrefixed (Args &&... args) const |
| void | mooseDeprecated (Args &&... args) const |
| void | mooseDeprecated (Args &&... args) const |
| void | mooseDeprecatedNoTrace (Args &&... args) const |
| void | mooseInfo (Args &&... args) const |
| void | callMooseError (std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) const |
| std::string | getDataFileName (const std::string ¶m) const |
| std::string | getDataFileNameByName (const std::string &relative_path) const |
| std::string | getDataFilePath (const std::string &relative_path) const |
| virtual void | initialSetup () |
| virtual void | timestepSetup () |
| virtual void | jacobianSetup () |
| virtual void | residualSetup () |
| virtual void | subdomainSetup () |
| virtual void | customSetup (const ExecFlagType &) |
| const ExecFlagEnum & | getExecuteOnEnum () const |
| PerfGraph & | perfGraph () |
| T & | getSampler (const std::string &name) |
| Sampler & | getSampler (const std::string &name) |
| T & | getSamplerByName (const SamplerName &name) |
| Sampler & | getSamplerByName (const SamplerName &name) |
| const VectorPostprocessorValue & | getVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name) const |
| const VectorPostprocessorValue & | getVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name, bool needs_broadcast) const |
| const VectorPostprocessorValue & | getVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
| const VectorPostprocessorValue & | getVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const |
| const VectorPostprocessorValue & | getVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name) const |
| const VectorPostprocessorValue & | getVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name, bool needs_broadcast) const |
| const VectorPostprocessorValue & | getVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
| const VectorPostprocessorValue & | getVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const |
| const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name) const |
| const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
| const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name) const |
| const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
| bool | hasVectorPostprocessor (const std::string ¶m_name, const std::string &vector_name) const |
| bool | hasVectorPostprocessor (const std::string ¶m_name) const |
| bool | hasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
| bool | hasVectorPostprocessorByName (const VectorPostprocessorName &name) const |
| const VectorPostprocessorName & | getVectorPostprocessorName (const std::string ¶m_name) const |
| DenseMatrix< Real > | getGlobalSamples () |
| DenseMatrix< Real > | getGlobalSamples () |
| DenseMatrix< Real > | getLocalSamples () |
| DenseMatrix< Real > | getLocalSamples () |
| dof_id_type | getLocalRowBegin () const |
| dof_id_type | getLocalRowBegin () const |
| dof_id_type | getLocalRowEnd () const |
| dof_id_type | getLocalRowEnd () const |
| const Distribution & | getDistribution (const std::string &name) const |
| const T & | getDistribution (const std::string &name) const |
| const Distribution & | getDistribution (const std::string &name) const |
| const T & | getDistribution (const std::string &name) const |
| const Distribution & | getDistributionByName (const DistributionName &name) const |
| const T & | getDistributionByName (const std::string &name) const |
| const Distribution & | getDistributionByName (const DistributionName &name) const |
| const T & | getDistributionByName (const std::string &name) const |
| bool | isVectorPostprocessorDistributed (const std::string ¶m_name) const |
| bool | isVectorPostprocessorDistributed (const std::string ¶m_name) const |
| bool | isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const |
| bool | isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const |
| const Parallel::Communicator & | comm () const |
| processor_id_type | n_processors () const |
| processor_id_type | processor_id () const |
Static Public Member Functions | |
| static InputParameters | validParams () |
| static void | callMooseError (MooseApp *const app, const InputParameters ¶ms, std::string msg, const bool with_prefix, const hit::Node *node, const bool show_trace=true) |
Public Attributes | |
| usingCombinedWarningSolutionWarnings | |
| const ConsoleStream | _console |
Static Public Attributes | |
| static const std::string | type_param |
| static const std::string | name_param |
| static const std::string | unique_name_param |
| static const std::string | app_param |
| static const std::string | moose_base_param |
| static const std::string | kokkos_object_param |
Protected Member Functions | |
| virtual void | executeSetUp () override |
| virtual Real | computeSample (dof_id_type row_index, dof_id_type col_index) const override |
| void | setNumberOfRandomSeeds (std::size_t number) |
| Real | getRand (std::size_t n, unsigned int index=0) const |
| unsigned int | getRandl (std::size_t n, unsigned int lower, unsigned int upper, unsigned int index=0) const |
| virtual void | computeSampleRow (dof_id_type i, std::vector< Real > &data) const |
| virtual void | advanceGenerators (const dof_id_type count) |
| virtual void | advanceGenerator (const unsigned int seed_index, const dof_id_type count) |
| void | setAutoAdvanceGenerators (const bool state) |
| virtual void | executeTearDown () |
| virtual LocalRankConfig | constructRankConfig (bool batch_mode) const |
| void | flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const |
| InvalidSolutionID | registerInvalidSolutionInternal (const std::string &message, const bool warning) const |
| PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level) const |
| PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const |
| std::string | timedSectionName (const std::string §ion_name) const |
| virtual void | addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &) const |
| const ReporterContextBase & | getReporterContextBaseByName (const ReporterName &reporter_name) const |
| const ReporterName & | getReporterName (const std::string ¶m_name) const |
| virtual void | addReporterDependencyHelper (const ReporterName &) |
| T & | declareRestartableData (const std::string &data_name, Args &&... args) |
| ManagedValue< T > | declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args) |
| const T & | getRestartableData (const std::string &data_name) const |
| T & | declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args) |
| T & | declareRecoverableData (const std::string &data_name, Args &&... args) |
| T & | declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args) |
| T & | declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args) |
| std::string | restartableName (const std::string &data_name) const |
| void | setNumberOfRows (dof_id_type n_rows) |
| void | setNumberOfRows (dof_id_type n_rows) |
| void | setNumberOfCols (dof_id_type n_cols) |
| void | setNumberOfCols (dof_id_type n_cols) |
| virtual void | computeSampleMatrix (DenseMatrix< Real > &matrix) |
| virtual void | computeSampleMatrix (DenseMatrix< Real > &matrix) |
| virtual void | computeLocalSampleMatrix (DenseMatrix< Real > &matrix) |
| virtual void | computeLocalSampleMatrix (DenseMatrix< Real > &matrix) |
| const T & | getReporterValue (const std::string ¶m_name, const std::size_t time_index=0) |
| const T & | getReporterValue (const std::string ¶m_name, ReporterMode mode, const std::size_t time_index=0) |
| const T & | getReporterValue (const std::string ¶m_name, const std::size_t time_index=0) |
| const T & | getReporterValue (const std::string ¶m_name, ReporterMode mode, const std::size_t time_index=0) |
| const T & | getReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0) |
| const T & | getReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0) |
| const T & | getReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0) |
| const T & | getReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0) |
| bool | hasReporterValue (const std::string ¶m_name) const |
| bool | hasReporterValue (const std::string ¶m_name) const |
| bool | hasReporterValue (const std::string ¶m_name) const |
| bool | hasReporterValue (const std::string ¶m_name) const |
| bool | hasReporterValueByName (const ReporterName &reporter_name) const |
| bool | hasReporterValueByName (const ReporterName &reporter_name) const |
| bool | hasReporterValueByName (const ReporterName &reporter_name) const |
| bool | hasReporterValueByName (const ReporterName &reporter_name) const |
Protected Attributes | |
| const unsigned int & | _num_samplessub |
| Number of samples per subset. | |
| const unsigned int & | _num_subsets |
| Number of subsets. | |
| const bool & | _use_absolute_value |
| Absolute value of the model result. Use this when failure is defined as a non-exceedance rather than an exceedance. | |
| const Real & | _subset_probability |
| The subset conditional failure probability. | |
| const unsigned int & | _num_random_seeds |
| Initialize a certain number of random seeds. Change from the default only if you have to. | |
| const std::vector< Real > & | _outputs |
| Reporter value containing calculated outputs. | |
| const std::vector< std::vector< Real > > & | _inputs |
| Reporter value containing input values from decision reporter. | |
| const int & | _step |
| Track the current step of the main App. | |
| const unsigned int | _count_max |
| Maximum length of markov chains based on subset probability. | |
| unsigned int & | _subset |
| Track the current subset index. | |
| std::vector< Distribution const * > | _distributions |
| Storage for distribution objects to be utilized. | |
| bool & | _is_sampling_completed |
| True if the sampling is completed. | |
| const dof_id_type | _min_procs_per_row |
| const dof_id_type | _max_procs_per_row |
| const bool & | _enabled |
| MooseApp & | _app |
| Factory & | _factory |
| ActionFactory & | _action_factory |
| const std::string & | _type |
| const std::string & | _name |
| const InputParameters & | _pars |
| const ExecFlagEnum & | _execute_enum |
| const ExecFlagType & | _current_execute_flag |
| MooseApp & | _pg_moose_app |
| const std::string | _prefix |
| MooseApp & | _restartable_app |
| const std::string | _restartable_system_name |
| const THREAD_ID | _restartable_tid |
| const bool | _restartable_read_only |
| const Parallel::Communicator & | _communicator |
Private Member Functions | |
| void | execute () |
| void | checkReinitStatus () const |
| void | advanceGeneratorsInternal (const dof_id_type count) |
| const VectorPostprocessorValue & | getVectorPostprocessorByNameHelper (const VectorPostprocessorName &name, const std::string &vector_name, bool broadcast, std::size_t t_index) const |
| const VectorPostprocessorContext< VectorPostprocessorValue > & | getVectorPostprocessorContextByNameHelper (const VectorPostprocessorName &name, const std::string &vector_name) const |
| bool | vectorPostprocessorsAdded () const |
| bool | reportersAdded () const |
| void | possiblyCheckHasReporter (const ReporterName &reporter_name, const std::string ¶m_name="") const |
| RestartableDataValue & | registerRestartableDataOnApp (std::unique_ptr< RestartableDataValue > data, THREAD_ID tid) const |
| void | registerRestartableNameWithFilterOnApp (const std::string &name, Moose::RESTARTABLE_FILTER filter) |
| RestartableData< T > & | declareRestartableDataHelper (const std::string &data_name, void *context, Args &&... args) const |
| void | init () |
| void | init () |
| void | reinit () |
| void | reinit () |
| void | possiblyCheckHasVectorPostprocessor (const std::string ¶m_name, const std::string &vector_name) const |
| void | possiblyCheckHasVectorPostprocessor (const std::string ¶m_name, const std::string &vector_name) const |
| void | possiblyCheckHasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
| void | possiblyCheckHasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
Static Private Member Functions | |
| static const hit::Node * | getHitNode (const InputParameters ¶ms) |
| static std::string | messagePrefix (const InputParameters ¶ms, const bool hit_prefix) |
Private Attributes | |
| std::vector< std::vector< Real > > & | _inputs_sto |
| Storage for the previously accepted sample inputs across all the subsets. | |
| std::vector< Real > & | _outputs_sto |
| Storage for previously accepted sample outputs across all the subsets. | |
| std::vector< std::vector< Real > > & | _inputs_sorted |
| Store the sorted input samples according to their corresponding outputs. | |
| std::vector< std::vector< Real > > & | _markov_seed |
| Mean input vector for the next proposed sample inputs across several processors. | |
| std::vector< std::unique_ptr< MooseRandomStateless > > & | _generators |
| dof_id_type & | _n_local_rows |
| dof_id_type & | _local_row_begin |
| dof_id_type & | _local_row_end |
| dof_id_type & | _n_rows |
| dof_id_type & | _n_cols |
| std::size_t | _n_seeds |
| bool | _initialized |
| bool | _needs_reinit |
| bool & | _has_executed |
| const dof_id_type | _limit_get_global_samples |
| const dof_id_type | _limit_get_local_samples |
| const dof_id_type | _limit_get_row |
| std::pair< LocalRankConfig, LocalRankConfig > & | _rank_config |
| bool | _auto_advance_generators |
| const ParallelParamObject & | _parent |
| const MooseBase & | _si_moose_base |
| const FEProblemBase * | _si_problem |
| ExecFlagEnum | _empty_execute_enum |
| const InputParameters & | _dni_params |
| FEProblemBase & | _dni_feproblem |
| const MooseObject *const | _dni_moose_object_ptr |
| const InputParameters & | _si_params |
| FEProblemBase & | _si_feproblem |
| THREAD_ID | _si_tid |
| const bool | _broadcast_by_default |
| const MooseObject & | _vpi_moose_object |
| const FEProblemBase & | _vpi_feproblem |
| const THREAD_ID | _vpi_tid |
| const InputParameters & | _ri_params |
| FEProblemBase & | _ri_fe_problem_base |
| const ReporterData & | _ri_reporter_data |
| const MooseObject & | _ri_moose_object |
| const RestartableDataMapName | _metaname |
| std::string | _restartable_name |
A class used to perform Parallel Subset Simulation Sampling.
Definition at line 18 of file ParallelSubsetSimulation.h.
| ParallelSubsetSimulation::ParallelSubsetSimulation | ( | const InputParameters & | parameters | ) |
Definition at line 46 of file ParallelSubsetSimulation.C.
|
overrideprotectedvirtual |
Implements Sampler.
Definition at line 183 of file ParallelSubsetSimulation.C.
|
overrideprotectedvirtual |
Reimplemented from Sampler.
Definition at line 120 of file ParallelSubsetSimulation.C.
| const unsigned int & ParallelSubsetSimulation::getNumSamplesSub | ( | ) | const |
Access the number samples per subset.
Definition at line 102 of file ParallelSubsetSimulation.C.
Referenced by AdaptiveMonteCarloDecision::AdaptiveMonteCarloDecision(), and AdaptiveMonteCarloDecision::execute().
| const Real & ParallelSubsetSimulation::getSubsetProbability | ( | ) | const |
Access the subset probability.
Definition at line 114 of file ParallelSubsetSimulation.C.
Referenced by AdaptiveMonteCarloDecision::execute().
| const bool & ParallelSubsetSimulation::getUseAbsoluteValue | ( | ) | const |
Access use absolute value bool.
Definition at line 108 of file ParallelSubsetSimulation.C.
Referenced by AdaptiveMonteCarloDecision::execute().
|
inlineoverridevirtual |
Returns true if the adaptive sampling is completed.
Reimplemented from Sampler.
Definition at line 37 of file ParallelSubsetSimulation.h.
|
static |
Definition at line 18 of file ParallelSubsetSimulation.C.
|
protected |
Maximum length of markov chains based on subset probability.
Definition at line 68 of file ParallelSubsetSimulation.h.
Referenced by executeSetUp(), and ParallelSubsetSimulation().
|
protected |
Storage for distribution objects to be utilized.
Definition at line 74 of file ParallelSubsetSimulation.h.
Referenced by computeSample(), executeSetUp(), and ParallelSubsetSimulation().
|
protected |
Reporter value containing input values from decision reporter.
Definition at line 62 of file ParallelSubsetSimulation.h.
Referenced by executeSetUp().
|
private |
Store the sorted input samples according to their corresponding outputs.
Definition at line 87 of file ParallelSubsetSimulation.h.
Referenced by executeSetUp(), and ParallelSubsetSimulation().
|
private |
Storage for the previously accepted sample inputs across all the subsets.
Definition at line 81 of file ParallelSubsetSimulation.h.
Referenced by executeSetUp(), and ParallelSubsetSimulation().
|
protected |
True if the sampling is completed.
Definition at line 77 of file ParallelSubsetSimulation.h.
Referenced by executeSetUp(), and isAdaptiveSamplingCompleted().
|
private |
Mean input vector for the next proposed sample inputs across several processors.
Definition at line 90 of file ParallelSubsetSimulation.h.
Referenced by computeSample(), executeSetUp(), and ParallelSubsetSimulation().
|
protected |
Initialize a certain number of random seeds. Change from the default only if you have to.
Definition at line 56 of file ParallelSubsetSimulation.h.
Referenced by ParallelSubsetSimulation().
|
protected |
Number of samples per subset.
Definition at line 44 of file ParallelSubsetSimulation.h.
Referenced by executeSetUp(), getNumSamplesSub(), and ParallelSubsetSimulation().
|
protected |
Number of subsets.
Definition at line 47 of file ParallelSubsetSimulation.h.
Referenced by executeSetUp().
|
protected |
Reporter value containing calculated outputs.
Definition at line 59 of file ParallelSubsetSimulation.h.
Referenced by executeSetUp().
|
private |
Storage for previously accepted sample outputs across all the subsets.
Definition at line 84 of file ParallelSubsetSimulation.h.
Referenced by executeSetUp(), and ParallelSubsetSimulation().
|
protected |
Track the current step of the main App.
Definition at line 65 of file ParallelSubsetSimulation.h.
Referenced by computeSample(), and executeSetUp().
|
protected |
Track the current subset index.
Definition at line 71 of file ParallelSubsetSimulation.h.
Referenced by computeSample(), and executeSetUp().
|
protected |
The subset conditional failure probability.
Definition at line 53 of file ParallelSubsetSimulation.h.
Referenced by executeSetUp(), and getSubsetProbability().
|
protected |
Absolute value of the model result. Use this when failure is defined as a non-exceedance rather than an exceedance.
Definition at line 50 of file ParallelSubsetSimulation.h.
Referenced by executeSetUp(), and getUseAbsoluteValue().