- execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed, the available options include FORWARD, ADJOINT, HOMOGENEOUS_FORWARD, ADJOINT_TIMESTEP_BEGIN, ADJOINT_TIMESTEP_END, NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM.
Default:TIMESTEP_END
C++ Type:ExecFlagEnum
Controllable:No
Description:The list of flag(s) indicating when this object should be executed, the available options include FORWARD, ADJOINT, HOMOGENEOUS_FORWARD, ADJOINT_TIMESTEP_BEGIN, ADJOINT_TIMESTEP_END, NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM.
- parallel_typeDISTRIBUTEDThis parameter will determine how the stochastic data is gathered. It is common for outputting purposes that this parameter be set to ROOT, otherwise, many files will be produced showing the values on each processor. However, if there are lot of samples, gathering on root may be memory restrictive.
Default:DISTRIBUTED
C++ Type:MooseEnum
Controllable:No
Description:This parameter will determine how the stochastic data is gathered. It is common for outputting purposes that this parameter be set to ROOT, otherwise, many files will be produced showing the values on each processor. However, if there are lot of samples, gathering on root may be memory restrictive.
- prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
C++ Type:MaterialPropertyName
Controllable:No
Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
- use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
Default:False
C++ Type:bool
Controllable:No
Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
StochasticReporter
Storage container for stochastic simulation results coming from Reporters.
Description
This object is intended to be used directly with SamplerReporterTransfer, see this object for more details.
Input Parameters
- allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).
Default:False
C++ Type:bool
Controllable:No
Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:Yes
Description:Set the enabled status of the MooseObject.
- execution_order_group0Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.
Default:0
C++ Type:int
Controllable:No
Description:Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.
- force_postauxFalseForces the UserObject to be executed in POSTAUX
Default:False
C++ Type:bool
Controllable:No
Description:Forces the UserObject to be executed in POSTAUX
- force_preauxFalseForces the UserObject to be executed in PREAUX
Default:False
C++ Type:bool
Controllable:No
Description:Forces the UserObject to be executed in PREAUX
- force_preicFalseForces the UserObject to be executed in PREIC during initial setup
Default:False
C++ Type:bool
Controllable:No
Description:Forces the UserObject to be executed in PREIC during initial setup
- outputsVector of output names where you would like to restrict the output of variables(s) associated with this object
C++ Type:std::vector<OutputName>
Controllable:No
Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object
- use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Default:False
C++ Type:bool
Controllable:No
Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Advanced Parameters
Input Files
- (modules/stochastic_tools/test/tests/surrogates/poly_chaos/main_2dnorm_quad_moment.i)
- (modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_1D_tuned.i)
- (modules/stochastic_tools/test/tests/reporters/BFActiveLearning/main_adam.i)
- (modules/stochastic_tools/test/tests/multiapps/nested_multiapp/stm_small_batch.i)
- (modules/stochastic_tools/test/tests/surrogates/poly_chaos/main_2dnorm_quad.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_Matern_half_int_tuned.i)
- (modules/stochastic_tools/test/tests/samplers/ParallelSubsetSimulation/pss.i)
- (modules/stochastic_tools/test/tests/reporters/mapping/load_main.i)
- (modules/stochastic_tools/test/tests/transfers/sampler_reporter/main_batch.i)
- (modules/stochastic_tools/test/tests/surrogates/poly_chaos/main_2d_quad_moment.i)
- (modules/stochastic_tools/examples/surrogates/gaussian_process/GP_normal_mc.i)
- (modules/stochastic_tools/test/tests/reporters/stochastic_reporter/stats.i)
- (modules/stochastic_tools/test/tests/reporters/morris/morris_main.i)
- (modules/stochastic_tools/examples/parameter_study/main.i)
- (modules/combined/examples/stochastic/lhs_uniform.i)
- (modules/stochastic_tools/examples/surrogates/poly_chaos_uniform_quad.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_exponential_tuned.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_squared_exponential_training.i)
- (modules/stochastic_tools/examples/sobol/main.i)
- (modules/stochastic_tools/test/tests/reporters/statistics/statistics_main.i)
- (modules/stochastic_tools/test/tests/transfers/sampler_reporter/main.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_Matern_half_int_tuned_adam.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_exponential_tuned_adam.i)
- (modules/stochastic_tools/test/tests/multiapps/partitioning/main_transient.i)
- (modules/stochastic_tools/test/tests/auxkernels/surrogate_aux/surrogate.i)
- (modules/stochastic_tools/test/tests/samplers/mcmc/main_ss.i)
- (modules/stochastic_tools/test/tests/surrogates/nearest_point/np_vec.i)
- (modules/stochastic_tools/examples/parameter_study/main_vector.i)
- (modules/stochastic_tools/test/tests/samplers/mcmc/main_base.i)
- (modules/combined/examples/stochastic/poly_chaos_train_uniform.i)
- (modules/stochastic_tools/test/tests/surrogates/polynomial_regression/poly_reg_vec.i)
- (modules/stochastic_tools/examples/surrogates/combined/trans_diff_2d/trans_diff_trainer.i)
- (modules/stochastic_tools/examples/surrogates/poly_chaos_normal_quad.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_squared_exponential_tuned.i)
- (modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_2D_tuned.i)
- (modules/stochastic_tools/test/tests/surrogates/poly_chaos/main_2d_mc.i)
- (modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_2D.i)
- (modules/stochastic_tools/examples/surrogates/poly_chaos_uniform_mc.i)
- (modules/stochastic_tools/test/tests/samplers/mcmc/main_des.i)
- (modules/stochastic_tools/test/tests/likelihoods/gaussian_derived/main.i)
- (modules/stochastic_tools/examples/surrogates/polynomial_regression/uniform_train.i)
- (modules/stochastic_tools/test/tests/samplers/ParallelSubsetSimulation/pss_error1.i)
- (modules/stochastic_tools/test/tests/multiapps/nested_multiapp/stm_batch.i)
- (modules/stochastic_tools/test/tests/samplers/mcmc/main_des_var.i)
- (modules/stochastic_tools/test/tests/surrogates/load_store/train_and_evaluate.i)
- (modules/stochastic_tools/test/tests/reporters/bootstrap_statistics/bca/bca_main.i)
- (modules/stochastic_tools/test/tests/reporters/bootstrap_statistics/percentile/percentile_main.i)
- (modules/stochastic_tools/examples/parameter_study/main_time.i)
- (modules/stochastic_tools/test/tests/multiapps/nested_multiapp/stm.i)
- (modules/stochastic_tools/test/tests/transfers/sampler_reporter/main_small.i)
- (modules/stochastic_tools/examples/surrogates/polynomial_regression/normal_train.i)
- (modules/stochastic_tools/test/tests/multiapps/user_cli_args/main_full_solve.i)
- (modules/stochastic_tools/test/tests/reporters/sobol/sobol_main.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_Matern_half_int.i)
- (modules/stochastic_tools/test/tests/surrogates/poly_chaos/main_2d_quad.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_squared_exponential_tuned_adam.i)
- (modules/stochastic_tools/test/tests/surrogates/poly_chaos/main_2d_quad_locs.i)
- (modules/stochastic_tools/test/tests/surrogates/load_store/train.i)
- (modules/stochastic_tools/examples/surrogates/cross_validation/all_trainers_uniform_cv.i)
- (modules/stochastic_tools/test/tests/samplers/mcmc/main_imh.i)
- (modules/stochastic_tools/test/tests/multiapps/user_cli_args/main_transient.i)
- (modules/stochastic_tools/test/tests/surrogates/poly_chaos/main_2dnorm_quad_locs.i)
- (modules/stochastic_tools/test/tests/samplers/AdaptiveImportanceSampler/ais.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_squared_exponential.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_exponential.i)
- (modules/stochastic_tools/test/tests/surrogates/cross_validation/poly_reg_vec.i)
- (modules/stochastic_tools/test/tests/multiapps/partitioning/main.i)
- (modules/combined/test/tests/optimization/invOpt_multiExperiment/sampler_subapp.i)
- (modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_1D.i)
- (modules/stochastic_tools/examples/surrogates/poly_chaos_normal_mc.i)
Child Objects
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/main_2dnorm_quad_moment.i)
[StochasticTools]
[]
[Distributions]
[D_dist]
type = Normal
mean = 5
standard_deviation = 0.5
[]
[S_dist]
type = Normal
mean = 8
standard_deviation = 0.7
[]
[]
[Samplers]
[quadrature]
type = Quadrature
distributions = 'D_dist S_dist'
execute_on = INITIAL
order = 5
[]
[]
[MultiApps]
[quad_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = quadrature
mode = batch-restore
[]
[]
[Transfers]
[quad]
type = SamplerParameterTransfer
to_multi_app = quad_sub
sampler = quadrature
parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = quad_sub
sampler = quadrature
stochastic_reporter = storage
from_reporter = avg/value
[]
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = none
[]
[pc_moments]
type = PolynomialChaosReporter
pc_name = poly_chaos
statistics = 'mean stddev skewness kurtosis'
execute_on = final
[]
[]
[Surrogates]
[poly_chaos]
type = PolynomialChaos
trainer = poly_chaos
[]
[]
[Trainers]
[poly_chaos]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 5
distributions = 'D_dist S_dist'
sampler = quadrature
response = storage/data:avg:value
[]
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_1D_tuned.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[L_dist]
type = Uniform
lower_bound = 0.01
upper_bound = 0.05
[]
[Tinf_dist]
type = Uniform
lower_bound = 290
upper_bound = 310
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 6
distributions = 'q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[cart_sample]
type = CartesianProduct
linear_space_items = '9000 20 100'
execute_on = initial
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = train_sample
param_names = 'Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'rbf'
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
tao_options = '-tao_bncg_type kd'
tune_parameters = ' signal_variance length_factor'
tuning_min = ' 1e-9 1e-9'
tuning_max = ' 1e16 1e16'
tuning_algorithm = 'tao'
[]
[]
[Covariance]
[rbf]
type=SquaredExponentialCovariance
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-3 #A small amount of noise can help with numerical stability
length_factor = '0.38971' #Select a length factor for each parameter (k and q)
[]
[]
[Surrogates]
[gauss_process_avg]
type = GaussianProcess
trainer = 'GP_avg_trainer'
[]
[]
# # Computing statistics
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'gauss_process_avg'
execute_on = final
[]
[]
[Reporters]
[cart_avg]
type = EvaluateSurrogate
model = gauss_process_avg
sampler = cart_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = gauss_process_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[Outputs]
csv = true
execute_on = FINAL
[]
(modules/stochastic_tools/test/tests/reporters/BFActiveLearning/main_adam.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 5
upper_bound = 20
[]
[q_dist]
type = Uniform
lower_bound = 7000
upper_bound = 13000
[]
[Tinf_dist]
type = Uniform
lower_bound = 250
upper_bound = 350
[]
[]
[Samplers]
[mc]
type = ActiveLearningMonteCarloSampler
num_batch = 1
distributions = 'k_dist q_dist Tinf_dist'
flag_sample = 'conditional/flag_sample'
seed = 5
num_samples = 10
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub_lf]
type = SamplerFullSolveMultiApp
sampler = mc
input_files = 'sub_lf.i'
[]
[sub]
type = SamplerFullSolveMultiApp
sampler = mc
input_files = 'sub.i'
mode = batch-reset
should_run_reporter = conditional/need_sample
execute_on = TIMESTEP_END
[]
[]
[Transfers]
[sub]
type = SamplerParameterTransfer
to_multi_app = sub
sampler = mc
parameters = 'Materials/conductivity/prop_values Kernels/source/value BCs/right/value'
check_multiapp_execute_on = false
[]
[sub_lf]
type = SamplerParameterTransfer
to_multi_app = sub_lf
sampler = mc
parameters = 'Materials/conductivity/prop_values Kernels/source/value BCs/right/value'
check_multiapp_execute_on = false
[]
[reporter_transfer_lf]
type = SamplerReporterTransfer
from_reporter = 'avg/value'
stochastic_reporter = 'constant'
from_multi_app = sub_lf
sampler = mc
[]
[reporter_transfer]
type = SamplerReporterTransfer
from_reporter = 'avg/value'
stochastic_reporter = 'conditional'
from_multi_app = sub
sampler = mc
[]
[]
[Reporters]
[constant]
type = StochasticReporter
[]
[conditional]
type = BiFidelityActiveLearningGPDecision
sampler = mc
parallel_type = ROOT
execute_on = 'timestep_begin'
flag_sample = 'flag_sample'
inputs = 'inputs'
gp_mean = 'gp_mean'
gp_std = 'gp_std'
n_train = 8
al_gp = GP_al_trainer
gp_evaluator = GP_eval
learning_function='Ufunction'
learning_function_parameter = 349.345
learning_function_threshold=2.0
outputs_lf = constant/reporter_transfer_lf:avg:value
[]
[]
[Trainers]
[GP_al_trainer]
type = ActiveLearningGaussianProcess
covariance_function = 'covar'
standardize_params = 'true'
standardize_data = 'true'
tune_parameters = 'signal_variance length_factor'
tuning_algorithm = 'adam'
iter_adam = 5000
learning_rate_adam = 0.001
show_optimization_details = true
batch_size = 200
[]
[]
[Surrogates]
[GP_eval]
type = GaussianProcess
trainer = GP_al_trainer
[]
[]
[Covariance]
[covar]
type= SquaredExponentialCovariance
signal_variance = 1.0
noise_variance = 1e-8
length_factor = '1.0 1.0 1.0'
[]
[]
[Executioner]
type = Transient
[]
[Outputs]
file_base = 'single_proc_single_row_ufunction'
[out]
type = JSON
execute_system_information_on = none
[]
[]
(modules/stochastic_tools/test/tests/multiapps/nested_multiapp/stm_small_batch.i)
[StochasticTools]
[]
[Samplers/sample]
type = InputMatrix
matrix = '0 4 8 12 16;
1 5 9 13 17;
2 6 10 14 18;
3 7 11 15 19'
[]
[GlobalParams]
sampler = sample
[]
[MultiApps]
[main]
type = SamplerFullSolveMultiApp
input_files = main.i
[]
[]
[Transfers]
[param]
type = SamplerParameterTransfer
to_multi_app = main
parameters = 'BCs/left/value sub:BCs/left/value sub:subsub:BCs/left/value sub:subsub0:BCs/right/value sub:subsub1:BCs/right/value'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = main
stochastic_reporter = storage
from_reporter = 'val/value receive/sub_val receive/subsub0_left_val receive/subsub1_left_val receive/subsub0_right_val receive/subsub1_right_val'
[]
[]
[Reporters/storage]
type = StochasticReporter
parallel_type = ROOT
[]
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/main_2dnorm_quad.i)
[StochasticTools]
[]
[Distributions]
[D_dist]
type = Normal
mean = 5
standard_deviation = 0.5
[]
[S_dist]
type = Normal
mean = 8
standard_deviation = 0.7
[]
[]
[Samplers]
[sample]
type = MonteCarlo
num_rows = 100
distributions = 'D_dist S_dist'
execute_on = timestep_end
[]
[quadrature]
type = Quadrature
distributions = 'D_dist S_dist'
execute_on = INITIAL
order = 5
[]
[]
[MultiApps]
[quad_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = quadrature
mode = batch-restore
[]
[]
[Transfers]
[quad]
type = SamplerParameterTransfer
to_multi_app = quad_sub
sampler = quadrature
parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = quad_sub
sampler = quadrature
stochastic_reporter = storage
from_reporter = avg/value
[]
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = none
[]
[pc_samp]
type = EvaluateSurrogate
model = poly_chaos
sampler = sample
parallel_type = ROOT
execute_on = final
[]
[]
[Surrogates]
[poly_chaos]
type = PolynomialChaos
trainer = poly_chaos
[]
[]
[Trainers]
[poly_chaos]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 5
distributions = 'D_dist S_dist'
sampler = quadrature
response = storage/data:avg:value
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_Matern_half_int_tuned.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 10
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[test_sample]
type = MonteCarlo
num_rows = 100
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose a Matern with half-integer argument for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
tao_options = '-tao_bncg_type ssml_bfgs'
tune_parameters = ' signal_variance length_factor'
tuning_min = ' 1e-9 1e-9'
tuning_max = ' 1e16 1e16'
tuning_algorithm = 'tao'
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = GP_avg_trainer
[]
[]
[Covariance]
[covar]
type=MaternHalfIntCovariance
p = 2 #Define the exponential factor
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-3 #A small amount of noise can help with numerical stability
length_factor = '0.551133 0.551133' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/samplers/ParallelSubsetSimulation/pss.i)
[StochasticTools]
[]
[Distributions]
[mu1]
type = Normal
mean = 0.0
standard_deviation = 0.5
[]
[mu2]
type = Normal
mean = 1
standard_deviation = 0.5
[]
[]
[Samplers]
[sample]
type = ParallelSubsetSimulation
distributions = 'mu1 mu2'
num_samplessub = 20
num_subsets = 6
num_parallel_chains = 2
output_reporter = 'constant/reporter_transfer:average:value'
inputs_reporter = 'adaptive_MC/inputs'
seed = 1012
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Transfers]
[param]
type = SamplerParameterTransfer
to_multi_app = sub
sampler = sample
parameters = 'BCs/left/value BCs/right/value'
[]
[reporter_transfer]
type = SamplerReporterTransfer
from_reporter = 'average/value'
stochastic_reporter = 'constant'
from_multi_app = sub
sampler = sample
[]
[]
[Reporters]
[constant]
type = StochasticReporter
outputs = none
[]
[adaptive_MC]
type = AdaptiveMonteCarloDecision
output_value = constant/reporter_transfer:average:value
inputs = 'inputs'
sampler = sample
[]
[]
[Executioner]
type = Transient
[]
[Outputs]
[out]
type = JSON
[]
[]
(modules/stochastic_tools/test/tests/reporters/mapping/load_main.i)
[StochasticTools]
[]
[Distributions]
[S_dist]
type = Uniform
lower_bound = 2.5
upper_bound = 7.5
[]
[D_dist]
type = Uniform
lower_bound = 2.5
upper_bound = 7.5
[]
[]
[Samplers]
[sample]
type = MonteCarlo
num_rows = 8
distributions = 'S_dist D_dist'
execute_on = initial
min_procs_per_row = 2
[]
[]
[MultiApps]
[worker]
type = SamplerFullSolveMultiApp
input_files = map_sub.i
sampler = sample
mode = batch-restore
min_procs_per_app = 2
[]
[]
[Transfers]
[param_transfer]
type = SamplerParameterTransfer
to_multi_app = worker
sampler = sample
parameters = 'Kernels/source_u/value BCs/right_v/value'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = worker
stochastic_reporter = results
from_reporter = 'pod_coeffs/u_pod pod_coeffs/v_pod'
sampler = sample
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Outputs]
[json]
type = JSON
execute_on = FINAL
execute_system_information_on = none
[]
file_base = map_variable
[]
(modules/stochastic_tools/test/tests/transfers/sampler_reporter/main_batch.i)
[StochasticTools]
[]
[Samplers]
[sample]
type = CartesianProduct
linear_space_items = '0.0 0.1 10'
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
mode = batch-restore
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = sample
stochastic_reporter = storage
from_reporter = 'pp/value constant/str'
[]
[runner]
type = SamplerParameterTransfer
to_multi_app = sub
sampler = sample
parameters = 'BCs/left/value'
[]
[]
[Reporters]
[storage]
type = StochasticReporter
parallel_type = ROOT
[]
[]
[Outputs]
[out]
type = JSON
execute_on = timestep_end
[]
[]
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/main_2d_quad_moment.i)
[StochasticTools]
[]
[Distributions]
[D_dist]
type = Uniform
lower_bound = 2.5
upper_bound = 7.5
[]
[S_dist]
type = Uniform
lower_bound = 2.5
upper_bound = 7.5
[]
[]
[Samplers]
[quadrature]
type = Quadrature
distributions = 'D_dist S_dist'
execute_on = INITIAL
order = 5
[]
[]
[MultiApps]
[quad_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = quadrature
mode = batch-restore
[]
[]
[Transfers]
[quad]
type = SamplerParameterTransfer
to_multi_app = quad_sub
sampler = quadrature
parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = quad_sub
sampler = quadrature
stochastic_reporter = storage
from_reporter = avg/value
[]
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = none
[]
[pc_moments]
type = PolynomialChaosReporter
pc_name = poly_chaos
statistics = 'mean stddev skewness kurtosis'
execute_on = final
[]
[]
[Surrogates]
[poly_chaos]
type = PolynomialChaos
trainer = poly_chaos
[]
[]
[Trainers]
[poly_chaos]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 5
distributions = 'D_dist S_dist'
sampler = quadrature
response = storage/data:avg:value
[]
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/surrogates/gaussian_process/GP_normal_mc.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 0
upper_bound = 20
[]
[q_dist]
type = Uniform
lower_bound = 7000
upper_bound = 13000
[]
[L_dist]
type = Uniform
lower_bound = 0.0
upper_bound = 0.1
[]
[Tinf_dist]
type = Uniform
lower_bound = 270
upper_bound = 330
[]
[]
[Samplers]
[sample]
type = MonteCarlo
num_rows = 500
distributions = 'k_dist q_dist L_dist Tinf_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[GP_avg]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'rbf'
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = sample
response = results/data:avg:value
tune_parameters = ' signal_variance length_factor'
tuning_algorithm = 'adam'
tuning_min = ' 1e-9 1e-3'
tuning_max = ' 100 100'
iter_adam = 200
learning_rate_adam = 0.005
[]
[]
[Covariance]
[rbf]
type=SquaredExponentialCovariance
noise_variance = 1e-3 #A small amount of noise can help with numerical stability
signal_variance = 1
length_factor = '0.038971 0.038971 0.038971 0.038971' #Select a length factor for each parameter
[]
[]
[Outputs]
file_base = GP_training_normal
[out]
type = SurrogateTrainerOutput
trainers = 'GP_avg'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/reporters/stochastic_reporter/stats.i)
[StochasticTools]
auto_create_executioner = false
[]
[Samplers]
[sample]
type = CartesianProduct
execute_on = PRE_MULTIAPP_SETUP
linear_space_items = '0 1 3
0.0 0.1 5'
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
execute_on = 'INITIAL TIMESTEP_BEGIN'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = sample
stochastic_reporter = storage
from_reporter = 'pp/value constant/int'
[]
[]
[Controls]
[runner]
type = MultiAppSamplerControl
multi_app = sub
param_names = 'Reporters/constant/integer_values
Postprocessors/pp/default'
sampler = sample
[]
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = "none"
[]
[stats]
type = StatisticsReporter
reporters = 'storage/data:pp:value storage/data:constant:int'
compute = mean
[]
[]
[Executioner]
type = Transient
num_steps = 2
dt = 0.01
[]
[Outputs]
[out]
type = JSON
[]
[]
(modules/stochastic_tools/test/tests/reporters/morris/morris_main.i)
[StochasticTools]
[]
[Distributions/uniform]
type = Uniform
lower_bound = 0
upper_bound = 1
[]
[Samplers/morris]
type = MorrisSampler
distributions = 'uniform uniform uniform uniform uniform uniform'
trajectories = 10
levels = 4
execute_on = PRE_MULTIAPP_SETUP
[]
[GlobalParams]
sampler = morris
[]
[MultiApps/sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
mode = batch-reset
[]
[Controls/param]
type = MultiAppSamplerControl
multi_app = sub
param_names = 'x0 x1 x2 x3 x4 x5'
[]
[Transfers/data]
type = SamplerReporterTransfer
from_multi_app = sub
from_reporter = 'const/gf const/gfa const/gf_vec'
stochastic_reporter = storage
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = NONE
[]
[morris]
type = MorrisReporter
reporters = 'storage/data:const:gf storage/data:const:gfa storage/data:const:gf_vec'
ci_levels = '0.1 0.9'
ci_replicates = 1000
execute_on = FINAL
[]
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/parameter_study/main.i)
[StochasticTools]
[]
[Distributions]
[gamma]
type = Uniform
lower_bound = 0.5
upper_bound = 2.5
[]
[q_0]
type = Weibull
location = -110
scale = 20
shape = 1
[]
[T_0]
type = Normal
mean = 300
standard_deviation = 45
[]
[s]
type = Normal
mean = 100
standard_deviation = 25
[]
[]
[Samplers]
[hypercube]
type = LatinHypercube
num_rows = 5000
distributions = 'gamma q_0 T_0 s'
[]
[]
[MultiApps]
[runner]
type = SamplerFullSolveMultiApp
sampler = hypercube
input_files = 'diffusion.i'
mode = batch-restore
[]
[]
[Transfers]
[parameters]
type = SamplerParameterTransfer
to_multi_app = runner
sampler = hypercube
parameters = 'Materials/constant/prop_values Kernels/source/value BCs/right/value BCs/left/value'
[]
[results]
type = SamplerReporterTransfer
from_multi_app = runner
sampler = hypercube
stochastic_reporter = results
from_reporter = 'T_avg/value q_left/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[stats]
type = StatisticsReporter
reporters = 'results/results:T_avg:value results/results:q_left:value'
compute = 'mean stddev'
ci_method = 'percentile'
ci_levels = '0.05 0.95'
[]
[]
[Outputs]
execute_on = 'FINAL'
[out]
type = JSON
[]
[]
(modules/combined/examples/stochastic/lhs_uniform.i)
[StochasticTools]
[]
[Distributions]
[cond_inner]
type = Uniform
lower_bound = 20
upper_bound = 30
[]
[cond_outer]
type = Uniform
lower_bound = 90
upper_bound = 110
[]
[heat_source]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[alpha_inner]
type = Uniform
lower_bound = 1e-6
upper_bound = 3e-6
[]
[alpha_outer]
type = Uniform
lower_bound = 5e-7
upper_bound = 1.5e-6
[]
[ymod_inner]
type = Uniform
lower_bound = 2e5
upper_bound = 2.2e5
[]
[ymod_outer]
type = Uniform
lower_bound = 3e5
upper_bound = 3.2e5
[]
[prat_inner]
type = Uniform
lower_bound = 0.29
upper_bound = 0.31
[]
[prat_outer]
type = Uniform
lower_bound = 0.19
upper_bound = 0.21
[]
[]
[Samplers]
[sample]
type = LatinHypercube
num_rows = 100000
distributions = 'cond_inner cond_outer heat_source alpha_inner alpha_outer ymod_inner ymod_outer prat_inner prat_outer'
execute_on = INITIAL
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = graphite_ring_thermomechanics.i
sampler = sample
mode = batch-reset
[]
[]
[Transfers]
[sub]
type = SamplerParameterTransfer
to_multi_app = sub
sampler = sample
parameters = 'Materials/cond_inner/prop_values Materials/cond_outer/prop_values
Postprocessors/heat_source/scale_factor
Materials/thermal_strain_inner/thermal_expansion_coeff Materials/thermal_strain_outer/thermal_expansion_coeff
Materials/elasticity_tensor_inner/youngs_modulus Materials/elasticity_tensor_outer/youngs_modulus
Materials/elasticity_tensor_inner/poissons_ratio Materials/elasticity_tensor_outer/poissons_ratio'
check_multiapp_execute_on = false
[]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = sample
stochastic_reporter = storage
from_reporter = 'temp_center_inner/value temp_center_outer/value temp_end_inner/value temp_end_outer/value
dispx_center_inner/value dispx_center_outer/value dispx_end_inner/value dispx_end_outer/value
dispz_inner/value dispz_outer/value'
[]
[]
[Reporters]
[storage]
type = StochasticReporter
parallel_type = ROOT
[]
[stats]
type = StatisticsReporter
reporters = 'storage/data:temp_center_inner:value storage/data:temp_center_outer:value storage/data:temp_end_inner:value storage/data:temp_end_outer:value
storage/data:dispx_center_inner:value storage/data:dispx_center_outer:value storage/data:dispx_end_inner:value storage/data:dispx_end_outer:value
storage/data:dispz_inner:value storage/data:dispz_outer:value'
compute = 'mean stddev'
ci_method = 'percentile'
ci_levels = '0.05 0.95'
[]
[]
[Outputs]
[out]
type = JSON
[]
execute_on = TIMESTEP_END
[]
(modules/stochastic_tools/examples/surrogates/poly_chaos_uniform_quad.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[L_dist]
type = Uniform
lower_bound = 0.01
upper_bound = 0.05
[]
[Tinf_dist]
type = Uniform
lower_bound = 290
upper_bound = 310
[]
[]
[Samplers]
[sample]
type = Quadrature
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = sample
stochastic_reporter = results
from_reporter = 'avg/value max/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[poly_chaos_avg]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:avg:value
[]
[poly_chaos_max]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:max:value
[]
[]
[Outputs]
file_base = poly_chaos_training
[out]
type = SurrogateTrainerOutput
trainers = 'poly_chaos_avg poly_chaos_max'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_exponential_tuned.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 10
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[test_sample]
type = MonteCarlo
num_rows = 100
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose an exponential for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
tao_options = '-tao_bncg_type ssml_bfgs'
tune_parameters = 'signal_variance length_factor'
tuning_min = ' 1e-9 1e-9'
tuning_max = ' 1e16 1e16'
tuning_algorithm = 'tao'
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = GP_avg_trainer
[]
[]
[Covariance]
[covar]
type=ExponentialCovariance
gamma = 2 #Define the exponential factor
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-3 #A small amount of noise can help with numerical stability
length_factor = '0.551133 0.551133' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_squared_exponential_training.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 10
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose a squared exponential for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
[]
[]
[Covariance]
[covar]
type=SquaredExponentialCovariance
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-6 #A small amount of noise can help with numerical stability
length_factor = '0.38971 0.38971' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
file_base = gauss_process_training
[out]
type = SurrogateTrainerOutput
trainers = 'GP_avg_trainer'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/sobol/main.i)
[StochasticTools]
[]
[Distributions]
[gamma]
type = Uniform
lower_bound = 0.5
upper_bound = 2.5
[]
[q_0]
type = Weibull
location = -110
scale = 20
shape = 1
[]
[T_0]
type = Normal
mean = 300
standard_deviation = 45
[]
[s]
type = Normal
mean = 100
standard_deviation = 25
[]
[]
[Samplers]
[hypercube_a]
type = LatinHypercube
num_rows = 10000
distributions = 'gamma q_0 T_0 s'
seed = 2011
[]
[hypercube_b]
type = LatinHypercube
num_rows = 10000
distributions = 'gamma q_0 T_0 s'
seed = 2013
[]
[sobol]
type = Sobol
sampler_a = hypercube_a
sampler_b = hypercube_b
[]
[]
[MultiApps]
[runner]
type = SamplerFullSolveMultiApp
sampler = sobol
input_files = 'diffusion.i'
mode = batch-restore
[]
[]
[Transfers]
[parameters]
type = SamplerParameterTransfer
to_multi_app = runner
sampler = sobol
parameters = 'Materials/constant/prop_values Kernels/source/value BCs/right/value BCs/left/value'
[]
[results]
type = SamplerReporterTransfer
from_multi_app = runner
sampler = sobol
stochastic_reporter = results
from_reporter = 'T_avg/value q_left/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
outputs = none
[]
[stats]
type = StatisticsReporter
reporters = 'results/results:T_avg:value results/results:q_left:value'
compute = 'mean'
ci_method = 'percentile'
ci_levels = '0.05 0.95'
[]
[sobol]
type = SobolReporter
sampler = sobol
reporters = 'results/results:T_avg:value results/results:q_left:value'
ci_levels = '0.05 0.95'
[]
[]
[Outputs]
execute_on = 'FINAL'
[out]
type = JSON
[]
[]
(modules/stochastic_tools/test/tests/reporters/statistics/statistics_main.i)
[StochasticTools]
[]
[Samplers/sample]
type = CartesianProduct
linear_space_items = '1 1 6'
execute_on = PRE_MULTIAPP_SETUP
[]
[GlobalParams]
sampler = sample
[]
[MultiApps/sub]
type = SamplerFullSolveMultiApp
input_files = constant_sub.i
mode = batch-reset
[]
[Controls/param]
type = MultiAppSamplerControl
multi_app = sub
param_names = 'val'
[]
[Transfers/data]
type = SamplerReporterTransfer
from_multi_app = sub
from_reporter = 'const/num const/int const/vec'
stochastic_reporter = 'storage'
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = none
[]
[stats]
type = StatisticsReporter
reporters = 'storage/data:const:num storage/data:const:int storage/data:const:vec'
compute = 'min max sum mean stddev norm2 ratio stderr median'
[]
[]
[Outputs]
execute_on = FINAL
[out]
type = JSON
[]
[]
(modules/stochastic_tools/test/tests/transfers/sampler_reporter/main.i)
[StochasticTools]
auto_create_executioner = false
[]
[Samplers]
[sample]
type = CartesianProduct
execute_on = PRE_MULTIAPP_SETUP
linear_space_items = '1 1 2
0.1 0.1 2
0 1e-8 2'
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
execute_on = 'INITIAL TIMESTEP_BEGIN'
ignore_solve_not_converge = true
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = sample
stochastic_reporter = storage
from_reporter = 'pp/value vpp/vec constant/str constant/int'
[]
[]
[Controls]
[runner]
type = MultiAppSamplerControl
multi_app = sub
param_names = 'Reporters/constant/integer_values
real_val
Executioner/nl_rel_tol'
sampler = sample
[]
[]
[Reporters]
[storage]
type = StochasticReporter
execute_on = 'initial timestep_end'
parallel_type = ROOT
[]
[]
[Executioner]
type = Transient
num_steps = 2
dt = 0.01
[]
[Outputs]
[out]
type = JSON
[]
[]
(modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_Matern_half_int_tuned_adam.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 20
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[test_sample]
type = MonteCarlo
num_rows = 100
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose a squared exponential for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
tune_parameters = 'signal_variance length_factor'
tuning_algorithm = 'adam'
iter_adam = 1000
batch_size = 20
learning_rate_adam = 0.005
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = GP_avg_trainer
[]
[]
[Covariance]
[covar]
type=MaternHalfIntCovariance
p = 2 #Define the exponential factor
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-6 #A small amount of noise can help with numerical stability
length_factor = '1.0 1.0' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
file_base = 'GP_Matern_half_int_tuned_adam'
[]
[]
(modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_exponential_tuned_adam.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 20
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[test_sample]
type = MonteCarlo
num_rows = 100
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose a squared exponential for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
tune_parameters = 'signal_variance length_factor'
tuning_algorithm = 'adam'
iter_adam = 1000
batch_size = 20
learning_rate_adam = 0.005
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = GP_avg_trainer
[]
[]
[Covariance]
[covar]
type=ExponentialCovariance
gamma = 2 #Define the exponential factor
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-6 #A small amount of noise can help with numerical stability
length_factor = '1.0 1.0' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/multiapps/partitioning/main_transient.i)
[StochasticTools]
[]
[Samplers/sample]
type = CartesianProduct
linear_space_items = '0 1 5'
execute_on = PRE_MULTIAPP_SETUP
[]
[GlobalParams]
sampler = sample
[]
[MultiApps/sub]
type = SamplerTransientMultiApp
input_files = sub_transient.i
[]
[Controls/cli]
type = MultiAppSamplerControl
multi_app = sub
param_names = 'Postprocessors/pp1/scale_factor'
[]
[Transfers]
[param]
type = SamplerParameterTransfer
to_multi_app = sub
parameters = 'Postprocessors/pp2/scale_factor'
[]
[rep]
type = SamplerReporterTransfer
from_multi_app = sub
stochastic_reporter = reporter
from_reporter = 'pp1/value'
[]
[pp]
type = SamplerPostprocessorTransfer
from_multi_app = sub
to_vector_postprocessor = vpp
from_postprocessor = 'pp2'
[]
[]
[VectorPostprocessors/vpp]
type = StochasticResults
[]
[Reporters]
[reporter]
type = StochasticReporter
outputs = none
[]
[check]
type = TestReporterPartitioning
sampler = sample
reporters = 'reporter/rep:pp1:value vpp/pp:pp2'
[]
[]
[Executioner]
type = Transient
num_steps = 3
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
(modules/stochastic_tools/test/tests/auxkernels/surrogate_aux/surrogate.i)
[StochasticTools]
[]
[Distributions]
[uniform]
type = Uniform
lower_bound = 0
upper_bound = 1
[]
[]
[Samplers]
[mc]
type = MonteCarlo
distributions = 'uniform uniform uniform uniform'
num_rows = 50
[]
[]
[GlobalParams]
sampler = mc
[]
[MultiApps]
[model]
type = SamplerFullSolveMultiApp
input_files = model.i
mode = batch-restore
no_backup_and_restore = true
[]
[]
[Transfers]
[param]
type = SamplerParameterTransfer
to_multi_app = model
parameters ='Postprocessors/x1/value Postprocessors/x2/value Postprocessors/x3/value Postprocessors/x4/value'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = model
stochastic_reporter = storage
from_reporter = 'val/value'
[]
[]
[Reporters]
[storage]
type = StochasticReporter
[]
[]
[Trainers]
[poly_regression]
type = PolynomialRegressionTrainer
regression_type = ols
max_degree = 2
response = storage/data:val:value
[]
[]
[Outputs]
[trainer]
type = SurrogateTrainerOutput
trainers = poly_regression
[]
[]
(modules/stochastic_tools/test/tests/samplers/mcmc/main_ss.i)
[StochasticTools]
[]
[Distributions]
[left]
type = Normal
mean = 0.0
standard_deviation = 1.0
[]
[right]
type = Normal
mean = 0.0
standard_deviation = 1.0
[]
[]
[Likelihood]
[gaussian]
type = Gaussian
noise = 'noise_specified/noise_specified'
file_name = 'exp_0_05.csv'
log_likelihood = true
[]
[]
[Samplers]
[sample]
type = AffineInvariantStretchSampler
prior_distributions = 'left right'
num_parallel_proposals = 5
file_name = 'confg.csv'
execute_on = PRE_MULTIAPP_SETUP
seed = 2547
initial_values = '0.1 0.1'
previous_state = 'mcmc_reporter/inputs'
previous_state_var = 'mcmc_reporter/variance'
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Transfers]
[reporter_transfer]
type = SamplerReporterTransfer
from_reporter = 'average/value'
stochastic_reporter = 'constant'
from_multi_app = sub
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = sample
param_names = 'left_bc right_bc mesh1'
[]
[]
[Reporters]
[constant]
type = StochasticReporter
[]
[noise_specified]
type = ConstantReporter
real_names = 'noise_specified'
real_values = '0.05'
[]
[mcmc_reporter]
type = AffineInvariantStretchDecision
output_value = constant/reporter_transfer:average:value
sampler = sample
likelihoods = 'gaussian'
[]
[]
[Executioner]
type = Transient
num_steps = 5
[]
[Outputs]
file_base = 'ss_5prop'
[out]
type = JSON
execute_system_information_on = NONE
[]
[]
(modules/stochastic_tools/test/tests/surrogates/nearest_point/np_vec.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Normal
mean = 5
standard_deviation = 2
[]
[L_dist]
type = Normal
mean = 0.03
standard_deviation = 0.01
[]
[]
[Samplers]
[sample]
type = LatinHypercube
num_rows = 10
distributions = 'k_dist L_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[GlobalParams]
sampler = sample
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub_vector.i
mode = batch-reset
execute_on = initial
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
param_names = 'Materials/conductivity/prop_values L'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
stochastic_reporter = results
from_reporter = 'T_vec/T T_vec/x'
[]
[]
[Reporters]
[results]
type = StochasticReporter
outputs = none
[]
[eval]
type = EvaluateSurrogate
model = np_surrogate
response_type = vector_real
parallel_type = ROOT
execute_on = timestep_end
[]
[]
[Trainers]
[np]
type = NearestPointTrainer
response = results/data:T_vec:T
response_type = vector_real
execute_on = initial
[]
[]
[Surrogates]
[np_surrogate]
type = NearestPointSurrogate
trainer = np
[]
[]
[Outputs]
[out]
type = JSON
execute_on = timestep_end
[]
[]
(modules/stochastic_tools/examples/parameter_study/main_vector.i)
[StochasticTools]
[]
[Distributions]
[gamma]
type = Uniform
lower_bound = 0.5
upper_bound = 2.5
[]
[q_0]
type = Weibull
location = -110
scale = 20
shape = 1
[]
[T_0]
type = Normal
mean = 300
standard_deviation = 45
[]
[s]
type = Normal
mean = 100
standard_deviation = 25
[]
[]
[Samplers]
[hypercube]
type = LatinHypercube
num_rows = 5000
distributions = 'gamma q_0 T_0 s'
[]
[]
[MultiApps]
[runner]
type = SamplerFullSolveMultiApp
sampler = hypercube
input_files = 'diffusion_vector.i'
mode = batch-restore
[]
[]
[Transfers]
[parameters]
type = SamplerParameterTransfer
to_multi_app = runner
sampler = hypercube
parameters = 'Materials/constant/prop_values Kernels/source/value BCs/right/value BCs/left/value'
[]
[results]
type = SamplerReporterTransfer
from_multi_app = runner
sampler = hypercube
stochastic_reporter = results
from_reporter = 'acc/T_avg:value acc/q_left:value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
outputs = none
[]
[stats]
type = StatisticsReporter
reporters = 'results/results:acc:T_avg:value results/results:acc:q_left:value'
compute = 'mean stddev'
ci_method = 'percentile'
ci_levels = '0.05 0.95'
[]
[]
[Outputs]
execute_on = 'FINAL'
[out]
type = JSON
[]
[]
(modules/stochastic_tools/test/tests/samplers/mcmc/main_base.i)
[StochasticTools]
[]
[Distributions]
[left]
type = Normal
mean = 0.0
standard_deviation = 1.0
[]
[right]
type = Normal
mean = 0.0
standard_deviation = 1.0
[]
[]
[Likelihood]
[gaussian]
type = Gaussian
noise = 'noise_specified/noise_specified'
file_name = 'exp_0_05.csv'
log_likelihood = true
[]
[]
[Samplers]
[sample]
type = PMCMCBase
prior_distributions = 'left right'
num_parallel_proposals = 2
initial_values = '0.1 0.1'
file_name = 'confg.csv'
execute_on = PRE_MULTIAPP_SETUP
seed = 2547
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Transfers]
[reporter_transfer]
type = SamplerReporterTransfer
from_reporter = 'average/value'
stochastic_reporter = 'constant'
from_multi_app = sub
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = sample
param_names = 'left_bc right_bc mesh1'
[]
[]
[Reporters]
[constant]
type = StochasticReporter
[]
[noise_specified]
type = ConstantReporter
real_names = 'noise_specified'
real_values = '0.05'
[]
[mcmc_reporter]
type = PMCMCDecision
output_value = constant/reporter_transfer:average:value
sampler = sample
likelihoods = 'gaussian'
[]
[]
[Executioner]
type = Transient
num_steps = 5
[]
[Outputs]
file_base = 'mcmc_base'
[out]
type = JSON
execute_system_information_on = NONE
[]
[]
(modules/combined/examples/stochastic/poly_chaos_train_uniform.i)
[StochasticTools]
[]
[Distributions]
[cond_inner]
type = Uniform
lower_bound = 20
upper_bound = 30
[]
[cond_outer]
type = Uniform
lower_bound = 90
upper_bound = 110
[]
[heat_source]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[alpha_inner]
type = Uniform
lower_bound = 1e-6
upper_bound = 3e-6
[]
[alpha_outer]
type = Uniform
lower_bound = 5e-7
upper_bound = 1.5e-6
[]
[ymod_inner]
type = Uniform
lower_bound = 2e5
upper_bound = 2.2e5
[]
[ymod_outer]
type = Uniform
lower_bound = 3e5
upper_bound = 3.2e5
[]
[prat_inner]
type = Uniform
lower_bound = 0.29
upper_bound = 0.31
[]
[prat_outer]
type = Uniform
lower_bound = 0.19
upper_bound = 0.21
[]
[]
[GlobalParams]
distributions = 'cond_inner cond_outer heat_source alpha_inner alpha_outer ymod_inner ymod_outer prat_inner prat_outer'
[]
[Samplers]
[sample]
type = Quadrature
sparse_grid = smolyak
order = 5
execute_on = INITIAL
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = graphite_ring_thermomechanics.i
sampler = sample
mode = batch-reset
[]
[]
[Transfers]
[sub]
type = SamplerParameterTransfer
to_multi_app = sub
sampler = sample
parameters = 'Materials/cond_inner/prop_values Materials/cond_outer/prop_values
Postprocessors/heat_source/scale_factor
Materials/thermal_strain_inner/thermal_expansion_coeff Materials/thermal_strain_outer/thermal_expansion_coeff
Materials/elasticity_tensor_inner/youngs_modulus Materials/elasticity_tensor_outer/youngs_modulus
Materials/elasticity_tensor_inner/poissons_ratio Materials/elasticity_tensor_outer/poissons_ratio'
check_multiapp_execute_on = false
[]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = sample
stochastic_reporter = storage
from_reporter = 'temp_center_inner/value temp_center_outer/value temp_end_inner/value temp_end_outer/value
dispx_center_inner/value dispx_center_outer/value dispx_end_inner/value dispx_end_outer/value
dispz_inner/value dispz_outer/value'
[]
[]
[Reporters]
[storage]
type = StochasticReporter
[]
[]
[Trainers]
[temp_center_inner]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 4
sampler = sample
response = storage/data:temp_center_inner:value
[]
[temp_center_outer]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 4
sampler = sample
response = storage/data:temp_center_outer:value
[]
[temp_end_inner]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 4
sampler = sample
response = storage/data:temp_end_inner:value
[]
[temp_end_outer]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 4
sampler = sample
response = storage/data:temp_end_outer:value
[]
[dispx_center_inner]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 4
sampler = sample
response = storage/data:dispx_center_inner:value
[]
[dispx_center_outer]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 4
sampler = sample
response = storage/data:dispx_center_outer:value
[]
[dispx_end_inner]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 4
sampler = sample
response = storage/data:dispx_end_inner:value
[]
[dispx_end_outer]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 4
sampler = sample
response = storage/data:dispx_end_outer:value
[]
[dispz_inner]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 4
sampler = sample
response = storage/data:dispz_inner:value
[]
[dispz_outer]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 4
sampler = sample
response = storage/data:dispz_outer:value
[]
[]
[Outputs]
[out]
type = SurrogateTrainerOutput
trainers = 'temp_center_inner temp_center_outer temp_end_inner temp_end_outer
dispx_center_inner dispx_center_outer dispx_end_inner dispx_end_outer
dispz_inner dispz_outer'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/polynomial_regression/poly_reg_vec.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Normal
mean = 5
standard_deviation = 2
[]
[L_dist]
type = Normal
mean = 0.03
standard_deviation = 0.01
[]
[]
[Samplers]
[sample]
type = LatinHypercube
num_rows = 10
distributions = 'k_dist L_dist'
execute_on = PRE_MULTIAPP_SETUP
min_procs_per_row = 2
[]
[]
[GlobalParams]
sampler = sample
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub_vector.i
mode = batch-reset
execute_on = initial
min_procs_per_app = 2
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
param_names = 'Materials/conductivity/prop_values L'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
stochastic_reporter = results
from_reporter = 'T_vec/T T_vec/x'
[]
[]
[Reporters]
[results]
type = StochasticReporter
outputs = none
[]
[eval]
type = EvaluateSurrogate
model = pr_surrogate
response_type = vector_real
parallel_type = ROOT
execute_on = timestep_end
[]
[]
[Trainers]
[pr]
type = PolynomialRegressionTrainer
regression_type = ols
max_degree = 2
response = results/data:T_vec:T
response_type = vector_real
execute_on = initial
[]
[]
[Surrogates]
[pr_surrogate]
type = PolynomialRegressionSurrogate
trainer = pr
[]
[]
[Outputs]
[out]
type = JSON
execute_on = timestep_end
[]
[]
(modules/stochastic_tools/examples/surrogates/combined/trans_diff_2d/trans_diff_trainer.i)
[StochasticTools]
[]
[Distributions]
[C_dist]
type = Uniform
lower_bound = 0.01
upper_bound = 0.02
[]
[f_dist]
type = Uniform
lower_bound = 15
upper_bound = 25
[]
[init_dist]
type = Uniform
lower_bound = 270
upper_bound = 330
[]
[]
[Samplers]
[sample]
type = Quadrature
order = 5
distributions = 'C_dist f_dist init_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[runner]
type = SamplerFullSolveMultiApp
input_files = 'trans_diff_sub.i'
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = runner
sampler = sample
param_names = 'Materials/diff_coeff/constant_expressions Functions/src_func/vals Variables/T/initial_condition'
[]
[]
[Transfers]
[results]
type = SamplerReporterTransfer
from_multi_app = runner
sampler = sample
stochastic_reporter = trainer_results
from_reporter = 'time_max/value time_min/value'
[]
[]
[Reporters]
[trainer_results]
type = StochasticReporter
[]
[]
[Trainers]
[pc_max]
type = PolynomialChaosTrainer
execute_on = final
order = 5
distributions = 'C_dist f_dist init_dist'
sampler = sample
response = trainer_results/results:time_max:value
[]
[pc_min]
type = PolynomialChaosTrainer
execute_on = final
order = 5
distributions = 'C_dist f_dist init_dist'
sampler = sample
response = trainer_results/results:time_min:value
[]
[np_max]
type = NearestPointTrainer
execute_on = final
sampler = sample
response = trainer_results/results:time_max:value
[]
[np_min]
type = NearestPointTrainer
execute_on = final
sampler = sample
response = trainer_results/results:time_min:value
[]
[pr_max]
type = PolynomialRegressionTrainer
regression_type = "ols"
execute_on = final
max_degree = 4
sampler = sample
response = trainer_results/results:time_max:value
[]
[pr_min]
type = PolynomialRegressionTrainer
regression_type = "ols"
execute_on = final
max_degree = 4
sampler = sample
response = trainer_results/results:time_min:value
[]
[]
[Outputs]
[out]
type = SurrogateTrainerOutput
trainers = 'pc_max pc_min np_max np_min pr_max pr_min'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/surrogates/poly_chaos_normal_quad.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Normal
mean = 5
standard_deviation = 2
[]
[q_dist]
type = Normal
mean = 10000
standard_deviation = 500
[]
[L_dist]
type = Normal
mean = 0.03
standard_deviation = 0.01
[]
[Tinf_dist]
type = Normal
mean = 300
standard_deviation = 10
[]
[]
[Samplers]
[sample]
type = Quadrature
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = sample
stochastic_reporter = results
from_reporter = 'avg/value max/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[poly_chaos_avg]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:avg:value
[]
[poly_chaos_max]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:max:value
[]
[]
[Outputs]
file_base = poly_chaos_training
[out]
type = SurrogateTrainerOutput
trainers = 'poly_chaos_avg poly_chaos_max'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_squared_exponential_tuned.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 10
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[test_sample]
type = MonteCarlo
num_rows = 100
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose a squared exponential for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
tao_options = '-tao_bncg_type ssml_bfgs'
tune_parameters = ' signal_variance length_factor'
tuning_min = ' 1e-9 1e-9'
tuning_max = ' 1e16 1e16'
tuning_algorithm = 'tao'
show_optimization_details = true
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = GP_avg_trainer
[]
[]
[Covariance]
[covar]
type=SquaredExponentialCovariance
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-3 #A small amount of noise can help with numerical stability
length_factor = '0.38971 0.38971' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_2D_tuned.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 50
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[cart_sample]
type = CartesianProduct
linear_space_items = '1 0.09 100
9000 20 100 '
execute_on = initial
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'rbf'
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
tao_options = '-tao_bncg_type kd'
sampler = train_sample
response = results/data:avg:value
tune_parameters = ' signal_variance length_factor'
tuning_min = ' 1e-9 1e-9'
tuning_max = ' 1e16 1e16'
tuning_algorithm = 'tao'
[]
[]
[Covariance]
[rbf]
type=SquaredExponentialCovariance
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-3 #A small amount of noise can help with numerical stability
length_factor = '0.38971 0.38971' #Select a length factor for each parameter (k and q)
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = 'GP_avg_trainer'
[]
[]
[Reporters]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[cart_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = cart_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/main_2d_mc.i)
[StochasticTools]
[]
[Distributions]
[D_dist]
type = Uniform
lower_bound = 2.5
upper_bound = 7.5
[]
[S_dist]
type = Uniform
lower_bound = 2.5
upper_bound = 7.5
[]
[]
[Samplers]
[sample]
type = MonteCarlo
num_rows = 100
distributions = 'D_dist S_dist'
execute_on = initial
[]
[]
[MultiApps]
[quad_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
mode = batch-restore
[]
[]
[Transfers]
[quad]
type = SamplerParameterTransfer
to_multi_app = quad_sub
sampler = sample
parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = quad_sub
sampler = sample
stochastic_reporter = storage
from_reporter = avg/value
[]
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = none
[]
[pc_samp]
type = EvaluateSurrogate
model = poly_chaos
sampler = sample
parallel_type = ROOT
execute_on = final
[]
[]
[Surrogates]
[poly_chaos]
type = PolynomialChaos
trainer = poly_chaos
[]
[]
[Trainers]
[poly_chaos]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 5
distributions = 'D_dist S_dist'
sampler = sample
response = storage/data:avg:value
regression_type = integration
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_2D.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 50
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[cart_sample]
type = CartesianProduct
linear_space_items = '1 0.09 100
9000 20 100 '
execute_on = initial
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[cart_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = cart_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'rbf'
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
[]
[]
[Covariance]
[rbf]
type=SquaredExponentialCovariance
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-6 #A small amount of noise can help with numerical stability
length_factor = '0.38971 0.38971' #Select a length factor for each parameter (k and q)
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = 'GP_avg_trainer'
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/surrogates/poly_chaos_uniform_mc.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[L_dist]
type = Uniform
lower_bound = 0.01
upper_bound = 0.05
[]
[Tinf_dist]
type = Uniform
lower_bound = 290
upper_bound = 310
[]
[]
[Samplers]
[sample]
type = MonteCarlo
num_rows = 10000
distributions = 'k_dist q_dist L_dist Tinf_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = sample
stochastic_reporter = results
from_reporter = 'avg/value max/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[poly_chaos_avg]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
regression_type = integration
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:avg:value
[]
[poly_chaos_max]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
regression_type = integration
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:max:value
[]
[]
[Outputs]
file_base = poly_chaos_training
[out]
type = SurrogateTrainerOutput
trainers = 'poly_chaos_avg poly_chaos_max'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/samplers/mcmc/main_des.i)
[StochasticTools]
[]
[Distributions]
[left]
type = Normal
mean = 0.0
standard_deviation = 1.0
[]
[right]
type = Normal
mean = 0.0
standard_deviation = 1.0
[]
[]
[Likelihood]
[gaussian]
type = Gaussian
noise = 'noise_specified/noise_specified'
file_name = 'exp_0_05.csv'
log_likelihood = true
[]
[]
[Samplers]
[sample]
type = AffineInvariantDES
prior_distributions = 'left right'
num_parallel_proposals = 5
file_name = 'confg.csv'
execute_on = PRE_MULTIAPP_SETUP
seed = 2547
initial_values = '0.1 0.1'
previous_state = 'mcmc_reporter/inputs'
previous_state_var = 'mcmc_reporter/variance'
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Transfers]
[reporter_transfer]
type = SamplerReporterTransfer
from_reporter = 'average/value'
stochastic_reporter = 'constant'
from_multi_app = sub
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = sample
param_names = 'left_bc right_bc mesh1'
[]
[]
[Reporters]
[constant]
type = StochasticReporter
[]
[noise_specified]
type = ConstantReporter
real_names = 'noise_specified'
real_values = '0.05'
[]
[mcmc_reporter]
type = AffineInvariantDifferentialDecision
output_value = constant/reporter_transfer:average:value
sampler = sample
likelihoods = 'gaussian'
[]
[]
[Executioner]
type = Transient
num_steps = 5
[]
[Outputs]
file_base = 'des_5prop'
[out]
type = JSON
execute_system_information_on = NONE
[]
[]
(modules/stochastic_tools/test/tests/likelihoods/gaussian_derived/main.i)
[StochasticTools]
[]
[Distributions]
[mu1]
type = Normal
mean = 0.0
standard_deviation = 0.5
[]
[]
[Samplers]
[sample]
type = MonteCarlo
distributions = 'mu1 mu1'
num_rows = 3
seed = 2547
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Transfers]
[param]
type = SamplerParameterTransfer
to_multi_app = sub
sampler = sample
parameters = 'BCs/left/value BCs/right/value'
# to_control = 'stochastic'
[]
[reporter_transfer]
type = SamplerReporterTransfer
from_reporter = 'average/value'
stochastic_reporter = 'constant'
from_multi_app = sub
sampler = sample
[]
[]
[Reporters]
[constant]
type = StochasticReporter
[]
[noise_specified]
type = ConstantReporter
real_names = 'noise_specified'
real_values = '0.2'
[]
[likelihoodtest]
type = TestLikelihood
likelihoods = 'gaussian'
model_pred = constant/reporter_transfer:average:value
sampler = sample
[]
[]
[Likelihood]
[gaussian]
type = Gaussian
noise = 'noise_specified/noise_specified'
file_name = 'exp1.csv'
log_likelihood=true
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
file_base ='loglikelihood_scalar'
[out]
type = JSON
execute_system_information_on = NONE
[]
[]
(modules/stochastic_tools/examples/surrogates/polynomial_regression/uniform_train.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[L_dist]
type = Uniform
lower_bound = 0.01
upper_bound = 0.05
[]
[Tinf_dist]
type = Uniform
lower_bound = 290
upper_bound = 310
[]
[]
[Samplers]
[pc_sampler]
type = Quadrature
order = 8
distributions = 'k_dist q_dist L_dist Tinf_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[pr_sampler]
type = LatinHypercube
distributions = 'k_dist q_dist L_dist Tinf_dist'
num_rows = 6560
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[pc_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = pc_sampler
[]
[pr_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = pr_sampler
[]
[]
[Controls]
[pc_cmdline]
type = MultiAppSamplerControl
multi_app = pc_sub
sampler = pc_sampler
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[pr_cmdline]
type = MultiAppSamplerControl
multi_app = pr_sub
sampler = pr_sampler
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[pc_data]
type = SamplerReporterTransfer
from_multi_app = pc_sub
sampler = pc_sampler
stochastic_reporter = results
from_reporter = 'max/value'
[]
[pr_data]
type = SamplerReporterTransfer
from_multi_app = pr_sub
sampler = pr_sampler
stochastic_reporter = results
from_reporter = 'max/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[pc_max]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 8
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = pc_sampler
response = results/pc_data:max:value
[]
[pr_max]
type = PolynomialRegressionTrainer
regression_type = "ols"
execute_on = timestep_end
max_degree = 4
sampler = pr_sampler
response = results/pr_data:max:value
[]
[]
[Outputs]
[pc_out]
type = SurrogateTrainerOutput
trainers = 'pc_max'
execute_on = FINAL
[]
[pr_out]
type = SurrogateTrainerOutput
trainers = 'pr_max'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/samplers/ParallelSubsetSimulation/pss_error1.i)
[StochasticTools]
[]
[Distributions]
[mu1]
type = Normal
mean = 0.0
standard_deviation = 0.5
[]
[mu2]
type = Normal
mean = 1
standard_deviation = 0.5
[]
[]
[Samplers]
[sample]
type = MonteCarlo
num_rows = 1
distributions = 'mu1 mu2'
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Transfers]
[param]
type = SamplerParameterTransfer
to_multi_app = sub
sampler = sample
parameters = 'BCs/left/value BCs/right/value'
[]
[reporter_transfer]
type = SamplerReporterTransfer
from_reporter = 'average/value'
stochastic_reporter = 'constant'
from_multi_app = sub
sampler = sample
[]
[]
[Reporters]
[constant]
type = StochasticReporter
outputs = none
[]
[adaptive_MC]
type = AdaptiveMonteCarloDecision
output_value = constant/reporter_transfer:average:value
inputs = 'inputs'
sampler = sample
[]
[]
[Executioner]
type = Transient
num_steps = 1
[]
[Outputs]
[out]
type = JSON
[]
[]
(modules/stochastic_tools/test/tests/multiapps/nested_multiapp/stm_batch.i)
[StochasticTools]
[]
[Samplers/sample]
type = CartesianProduct
linear_space_items = '0 1 2
2 1 2
4 1 2
6 1 2
8 1 2'
[]
[GlobalParams]
sampler = sample
[]
[MultiApps]
[main]
type = SamplerFullSolveMultiApp
input_files = main.i
[]
[]
[Transfers]
[param]
type = SamplerParameterTransfer
to_multi_app = main
parameters = 'BCs/left/value sub:BCs/left/value sub:subsub:BCs/left/value sub:subsub0:BCs/right/value sub:subsub1:BCs/right/value'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = main
stochastic_reporter = storage
from_reporter = 'val/value receive/sub_val receive/subsub0_left_val receive/subsub1_left_val receive/subsub0_right_val receive/subsub1_right_val'
[]
[]
[Reporters/storage]
type = StochasticReporter
parallel_type = ROOT
[]
[Outputs]
csv = true
execute_on = timestep_end
perf_graph = true
[]
(modules/stochastic_tools/test/tests/samplers/mcmc/main_des_var.i)
[StochasticTools]
[]
[Distributions]
[left]
type = Normal
mean = 0.0
standard_deviation = 1.0
[]
[right]
type = Normal
mean = 0.0
standard_deviation = 1.0
[]
[variance]
type = Uniform
lower_bound = 0.0
upper_bound = 0.5
[]
[]
[Likelihood]
[gaussian]
type = Gaussian
noise = 'mcmc_reporter/noise'
file_name = 'exp_0_05.csv'
log_likelihood = true
[]
[]
[Samplers]
[sample]
type = AffineInvariantDES
prior_distributions = 'left right'
num_parallel_proposals = 5
file_name = 'confg.csv'
execute_on = PRE_MULTIAPP_SETUP
seed = 2547
initial_values = '0.1 0.1'
previous_state = 'mcmc_reporter/inputs'
previous_state_var = 'mcmc_reporter/variance'
prior_variance = 'variance'
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Transfers]
[reporter_transfer]
type = SamplerReporterTransfer
from_reporter = 'average/value'
stochastic_reporter = 'constant'
from_multi_app = sub
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = sample
param_names = 'left_bc right_bc mesh1'
[]
[]
[Reporters]
[constant]
type = StochasticReporter
[]
[mcmc_reporter]
type = AffineInvariantDifferentialDecision
output_value = constant/reporter_transfer:average:value
sampler = sample
likelihoods = 'gaussian'
[]
[]
[Executioner]
type = Transient
num_steps = 5
[]
[Outputs]
file_base = 'des_5prop_var'
[out]
type = JSON
execute_system_information_on = NONE
[]
[]
(modules/stochastic_tools/test/tests/surrogates/load_store/train_and_evaluate.i)
[StochasticTools]
[]
[Distributions]
[D_dist]
type = Uniform
lower_bound = 2.5
upper_bound = 7.5
[]
[S_dist]
type = Uniform
lower_bound = 2.5
upper_bound = 7.5
[]
[]
[Samplers]
[quadrature]
type = Quadrature
distributions = 'D_dist S_dist'
execute_on = INITIAL
order = 5
[]
[]
[MultiApps]
[quad_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = quadrature
mode = batch-restore
[]
[]
[Transfers]
[quad]
type = SamplerParameterTransfer
to_multi_app = quad_sub
sampler = quadrature
parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = quad_sub
sampler = quadrature
stochastic_reporter = storage
from_reporter = avg/value
[]
[]
[Reporters]
[storage]
type = StochasticReporter
parallel_type = ROOT
outputs = none
[]
[pc_data]
type = PolynomialChaosReporter
pc_name = poly_chaos
include_data = true
execute_on = final
[]
[]
[Trainers]
[poly_chaos]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 5
distributions = 'D_dist S_dist'
sampler = quadrature
response = storage/data:avg:value
[]
[]
[Surrogates]
[poly_chaos]
type = PolynomialChaos
trainer = poly_chaos
[]
[]
[Outputs/out]
type = JSON
execute_on = FINAL
[]
(modules/stochastic_tools/test/tests/reporters/bootstrap_statistics/bca/bca_main.i)
[StochasticTools]
[]
[Distributions]
[n0]
type = Normal
mean = 0
standard_deviation = 1
[]
[n1]
type = Normal
mean = 1
standard_deviation = 1
[]
[n2]
type = Normal
mean = 2
standard_deviation = 0.5
[]
[n3]
type = Normal
mean = 3
standard_deviation = 0.33333333333
[]
[n4]
type = Normal
mean = 4
standard_deviation = 0.25
[]
[]
[Samplers/sample]
type = MonteCarlo
distributions = 'n0 n1 n2 n3 n4'
num_rows = 100
execute_on = PRE_MULTIAPP_SETUP
[]
[GlobalParams]
sampler = sample
[]
[MultiApps/sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
mode = batch-reset
[]
[Controls/param]
type = MultiAppSamplerControl
multi_app = sub
param_names = 'Reporters/const/real_vector_values[0,1,2,3,4]'
[]
[Transfers/data]
type = SamplerReporterTransfer
from_multi_app = sub
from_reporter = 'const/num_vec'
stochastic_reporter = storage
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = none
[]
[stats]
type = StatisticsReporter
reporters = storage/data:const:num_vec
compute = 'mean stddev'
ci_method = 'bca'
ci_levels = '0.025 0.05 0.1 0.16 0.5 0.84 0.9 0.95 0.975'
ci_replicates = 10000
ci_seed = 1945
execute_on = FINAL
[]
[]
[Outputs]
execute_on = FINAL
[out]
type = JSON
[]
[]
(modules/stochastic_tools/test/tests/reporters/bootstrap_statistics/percentile/percentile_main.i)
[StochasticTools]
[]
[Distributions]
[n0]
type = Normal
mean = 0
standard_deviation = 1
[]
[n1]
type = Normal
mean = 1
standard_deviation = 1
[]
[n2]
type = Normal
mean = 2
standard_deviation = 0.5
[]
[n3]
type = Normal
mean = 3
standard_deviation = 0.33333333333
[]
[n4]
type = Normal
mean = 4
standard_deviation = 0.25
[]
[]
[Samplers/sample]
type = MonteCarlo
distributions = 'n0 n1 n2 n3 n4'
num_rows = 100
execute_on = PRE_MULTIAPP_SETUP
[]
[GlobalParams]
sampler = sample
[]
[MultiApps/sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
mode = batch-reset
[]
[Controls/param]
type = MultiAppSamplerControl
multi_app = sub
param_names = 'Reporters/const/real_vector_values[0,1,2,3,4]'
[]
[Transfers/data]
type = SamplerReporterTransfer
from_multi_app = sub
from_reporter = 'const/num_vec'
stochastic_reporter = storage
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = none
[]
[stats]
type = StatisticsReporter
reporters = storage/data:const:num_vec
compute = 'mean stddev'
ci_method = 'percentile'
ci_levels = '0.025 0.05 0.1 0.16 0.5 0.84 0.9 0.95 0.975'
ci_replicates = 10000
ci_seed = 1945
execute_on = FINAL
[]
[]
[Outputs]
execute_on = FINAL
[out]
type = JSON
[]
[]
(modules/stochastic_tools/examples/parameter_study/main_time.i)
[StochasticTools]
[]
[Distributions]
[gamma]
type = Uniform
lower_bound = 0.5
upper_bound = 2.5
[]
[q_0]
type = Weibull
location = -110
scale = 20
shape = 1
[]
[T_0]
type = Normal
mean = 300
standard_deviation = 45
[]
[s]
type = Normal
mean = 100
standard_deviation = 25
[]
[]
[Samplers]
[hypercube]
type = LatinHypercube
num_rows = 5000
distributions = 'gamma q_0 T_0 s'
[]
[]
[MultiApps]
[runner]
type = SamplerTransientMultiApp
sampler = hypercube
input_files = 'diffusion_time.i'
mode = batch-restore
[]
[]
[Transfers]
[parameters]
type = SamplerParameterTransfer
to_multi_app = runner
sampler = hypercube
parameters = 'Materials/constant/prop_values Kernels/source/value BCs/right/value BCs/left/value'
[]
[results]
type = SamplerReporterTransfer
from_multi_app = runner
sampler = hypercube
stochastic_reporter = results
from_reporter = 'T_avg/value q_left/value T_vec/T'
[]
[x_transfer]
type = MultiAppReporterTransfer
from_multi_app = runner
subapp_index = 0
from_reporters = T_vec/x
to_reporters = const/x
[]
[]
[Reporters]
[results]
type = StochasticReporter
outputs = none
[]
[stats]
type = StatisticsReporter
reporters = 'results/results:T_avg:value results/results:q_left:value results/results:T_vec:T'
compute = 'mean stddev'
ci_method = 'percentile'
ci_levels = '0.05 0.95'
[]
[const]
type = ConstantReporter
real_vector_names = 'x'
real_vector_values = '0'
[]
[]
[Executioner]
type = Transient
num_steps = 4
dt = 0.25
[]
[Outputs]
execute_on = timestep_end
[out]
type = JSON
[]
[]
(modules/stochastic_tools/test/tests/multiapps/nested_multiapp/stm.i)
[StochasticTools]
[]
[Samplers/sample]
type = CartesianProduct
execute_on = PRE_MULTIAPP_SETUP
linear_space_items = '0 1 2
2 1 2
4 1 2
6 1 2
8 1 2'
[]
[GlobalParams]
sampler = sample
[]
[MultiApps]
[main]
type = SamplerFullSolveMultiApp
input_files = main.i
[]
[]
[Controls]
[cli]
type = MultiAppSamplerControl
multi_app = main
param_names = 'BCs/left/value sub:BCs/left/value sub:subsub:BCs/left/value sub:subsub0:BCs/right/value sub:subsub1:BCs/right/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = main
stochastic_reporter = storage
from_reporter = 'val/value receive/sub_val receive/subsub0_left_val receive/subsub1_left_val receive/subsub0_right_val receive/subsub1_right_val'
[]
[]
[Reporters/storage]
type = StochasticReporter
parallel_type = ROOT
[]
[Outputs]
csv = true
execute_on = timestep_end
perf_graph = true
[]
(modules/stochastic_tools/test/tests/transfers/sampler_reporter/main_small.i)
[StochasticTools]
[]
[Samplers]
[sample]
type = CartesianProduct
execute_on = PRE_MULTIAPP_SETUP
linear_space_items = '0 1 3'
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
ignore_solve_not_converge = true
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = sample
stochastic_reporter = storage
from_reporter = 'pp/value'
[]
[]
[Controls]
[runner]
type = MultiAppSamplerControl
multi_app = sub
param_names = 'BCs/left/value'
sampler = sample
[]
[]
[Reporters]
[storage]
type = StochasticReporter
parallel_type = ROOT
[]
[]
[Outputs]
[out]
type = JSON
execute_on = timestep_end
[]
[]
(modules/stochastic_tools/examples/surrogates/polynomial_regression/normal_train.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Normal
mean = 5
standard_deviation = 2
[]
[q_dist]
type = Normal
mean = 10000
standard_deviation = 500
[]
[L_dist]
type = Normal
mean = 0.03
standard_deviation = 0.01
[]
[Tinf_dist]
type = Normal
mean = 300
standard_deviation = 10
[]
[]
[Samplers]
[pc_sampler]
type = Quadrature
order = 8
distributions = 'k_dist q_dist L_dist Tinf_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[pr_sampler]
type = LatinHypercube
distributions = 'k_dist q_dist L_dist Tinf_dist'
num_rows = 6560
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[pc_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = pc_sampler
[]
[pr_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = pr_sampler
[]
[]
[Controls]
[pc_cmdline]
type = MultiAppSamplerControl
multi_app = pc_sub
sampler = pc_sampler
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[pr_cmdline]
type = MultiAppSamplerControl
multi_app = pr_sub
sampler = pr_sampler
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[pc_data]
type = SamplerReporterTransfer
from_multi_app = pc_sub
sampler = pc_sampler
stochastic_reporter = results
from_reporter = 'max/value'
[]
[pr_data]
type = SamplerReporterTransfer
from_multi_app = pr_sub
sampler = pr_sampler
stochastic_reporter = results
from_reporter = 'max/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[pc_max]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 8
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = pc_sampler
response = results/pc_data:max:value
[]
[pr_max]
type = PolynomialRegressionTrainer
execute_on = timestep_end
regression_type = "ols"
max_degree = 4
sampler = pr_sampler
response = results/pr_data:max:value
[]
[]
[Outputs]
[pc_out]
type = SurrogateTrainerOutput
trainers = 'pc_max'
execute_on = FINAL
[]
[pr_out]
type = SurrogateTrainerOutput
trainers = 'pr_max'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/multiapps/user_cli_args/main_full_solve.i)
[StochasticTools]
[]
[Samplers/sample]
type = CartesianProduct
linear_space_items = '1 1 3
1 1 3'
execute_on = 'PRE_MULTIAPP_SETUP'
[]
[MultiApps/sub]
type = SamplerFullSolveMultiApp
sampler = sample
input_files = 'sub_steady.i'
cli_args = 'Mesh/xmax=10;Mesh/ymax=10'
[]
[Transfers]
inactive = 'param'
[param]
type = SamplerParameterTransfer
to_multi_app = sub
sampler = sample
parameters = 'Functions/fun/value Postprocessors/function_val/scale_factor'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = sample
from_reporter = 'size/value function_val/value'
stochastic_reporter = 'storage'
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = sample
param_names = 'Functions/fun/value Postprocessors/function_val/scale_factor'
[]
[]
[Reporters/storage]
type = StochasticReporter
parallel_type = ROOT
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
(modules/stochastic_tools/test/tests/reporters/sobol/sobol_main.i)
[StochasticTools]
[]
[Distributions/uniform]
type = Uniform
lower_bound = 0
upper_bound = 1
[]
[Samplers]
[sample]
type = MonteCarlo
distributions = 'uniform uniform uniform uniform uniform uniform'
num_rows = 10
seed = 0
execute_on = PRE_MULTIAPP_SETUP
[]
[resample]
type = MonteCarlo
distributions = 'uniform uniform uniform uniform uniform uniform'
num_rows = 10
seed = 1
execute_on = PRE_MULTIAPP_SETUP
[]
[sobol]
type = Sobol
sampler_a = sample
sampler_b = resample
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[GlobalParams]
sampler = sobol
[]
[MultiApps/sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
mode = batch-reset
[]
[Controls/param]
type = MultiAppSamplerControl
multi_app = sub
param_names = 'x0 x1 x2 x3 x4 x5'
[]
[Transfers/data]
type = SamplerReporterTransfer
from_multi_app = sub
from_reporter = 'const/gf const/gfa const/gf_vec'
stochastic_reporter = storage
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = NONE
[]
[sobol]
type = SobolReporter
reporters = 'storage/data:const:gf storage/data:const:gfa storage/data:const:gf_vec'
ci_levels = '0.1 0.9'
ci_replicates = 1000
execute_on = FINAL
[]
[]
[Outputs]
execute_on = FINAL
[out]
type = JSON
[]
[]
(modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_Matern_half_int.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 10
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[test_sample]
type = MonteCarlo
num_rows = 100
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose a Matern with half-integer argument for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = GP_avg_trainer
[]
[]
[Covariance]
[covar]
type=MaternHalfIntCovariance
p = 2 #Define the exponential factor
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-6 #A small amount of noise can help with numerical stability
length_factor = '0.551133 0.551133' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/main_2d_quad.i)
[StochasticTools]
[]
[Distributions]
[D_dist]
type = Uniform
lower_bound = 2.5
upper_bound = 7.5
[]
[S_dist]
type = Uniform
lower_bound = 2.5
upper_bound = 7.5
[]
[]
[Samplers]
[sample]
type = MonteCarlo
num_rows = 100
distributions = 'D_dist S_dist'
execute_on = timestep_end
[]
[quadrature]
type = Quadrature
distributions = 'D_dist S_dist'
execute_on = INITIAL
order = 5
[]
[]
[MultiApps]
[quad_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = quadrature
mode = batch-restore
[]
[]
[Transfers]
[quad]
type = SamplerParameterTransfer
to_multi_app = quad_sub
sampler = quadrature
parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = quad_sub
sampler = quadrature
stochastic_reporter = storage
from_reporter = avg/value
[]
[]
[Reporters]
[storage]
type = StochasticReporter
[]
[pc_samp]
type = EvaluateSurrogate
model = poly_chaos
sampler = sample
parallel_type = ROOT
execute_on = final
[]
[]
[Surrogates]
[poly_chaos]
type = PolynomialChaos
trainer = poly_chaos
[]
[]
[Trainers]
[poly_chaos]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 5
distributions = 'D_dist S_dist'
sampler = quadrature
response = storage/data:avg:value
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_squared_exponential_tuned_adam.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 20
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
seed = 100
[]
[test_sample]
type = MonteCarlo
num_rows = 100
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
seed = 100
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[data]
type = SamplerData
sampler = test_sample
execute_on = 'initial timestep_end'
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose a squared exponential for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
tune_parameters = 'signal_variance length_factor'
tuning_algorithm = 'adam'
iter_adam = 1000
batch_size = 20
learning_rate_adam = 0.005
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = GP_avg_trainer
[]
[]
[Covariance]
[covar]
type=SquaredExponentialCovariance
signal_variance = 1.0 #Use a signal variance of 1 in the kernel
noise_variance = 1e-6 #A small amount of noise can help with numerical stability
length_factor = '1.0 1.0' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/main_2d_quad_locs.i)
[StochasticTools]
[]
[Distributions]
[D_dist]
type = Uniform
lower_bound = 2.5
upper_bound = 7.5
[]
[S_dist]
type = Uniform
lower_bound = 2.5
upper_bound = 7.5
[]
[]
[Samplers]
[grid]
type = CartesianProduct
linear_space_items = '2.5 0.5 10 2.5 0.5 10'
[]
[quadrature]
type = Quadrature
distributions = 'D_dist S_dist'
execute_on = INITIAL
order = 5
[]
[]
[MultiApps]
[quad_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = quadrature
mode = batch-restore
[]
[]
[Transfers]
[quad]
type = SamplerParameterTransfer
to_multi_app = quad_sub
sampler = quadrature
parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = quad_sub
sampler = quadrature
stochastic_reporter = storage
from_reporter = avg/value
[]
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = none
[]
[local_sense]
type = PolynomialChaosReporter
pc_name = poly_chaos
local_sensitivity_sampler = grid
local_sensitivity_points = '3.14159 3.14159 2.7182 3.14159 3.14159 2.7182 2.7182 2.7182'
execute_on = final
[]
[]
[Surrogates]
[poly_chaos]
type = PolynomialChaos
trainer = poly_chaos
[]
[]
[Trainers]
[poly_chaos]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 5
distributions = 'D_dist S_dist'
sampler = quadrature
response = storage/data:avg:value
[]
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/load_store/train.i)
[StochasticTools]
[]
[Distributions]
[D_dist]
type = Uniform
lower_bound = 2.5
upper_bound = 7.5
[]
[S_dist]
type = Uniform
lower_bound = 2.5
upper_bound = 7.5
[]
[]
[Samplers]
[quadrature]
type = Quadrature
distributions = 'D_dist S_dist'
execute_on = INITIAL
order = 5
[]
[]
[MultiApps]
[quad_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = quadrature
mode = batch-restore
[]
[]
[Transfers]
[quad]
type = SamplerParameterTransfer
to_multi_app = quad_sub
sampler = quadrature
parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = quad_sub
sampler = quadrature
stochastic_reporter = storage
from_reporter = avg/value
[]
[]
[Reporters]
[storage]
type = StochasticReporter
parallel_type = ROOT
[]
[]
[Trainers]
[poly_chaos]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 5
distributions = 'D_dist S_dist'
sampler = quadrature
response = storage/data:avg:value
[]
[]
[Outputs]
[out]
type = SurrogateTrainerOutput
trainers = 'poly_chaos'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/surrogates/cross_validation/all_trainers_uniform_cv.i)
[StochasticTools]
[]
[GlobalParams]
sampler = cv_sampler
response = results/response_data:max:value
cv_type = "k_fold"
cv_splits = 5
cv_n_trials = 100
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[L_dist]
type = Uniform
lower_bound = 0.01
upper_bound = 0.05
[]
[Tinf_dist]
type = Uniform
lower_bound = 290
upper_bound = 310
[]
[]
[Samplers]
[cv_sampler]
type = LatinHypercube
distributions = 'k_dist q_dist L_dist Tinf_dist'
num_rows = 1000
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[cv_sub]
type = SamplerFullSolveMultiApp
input_files = all_sub.i
mode = batch-reset
[]
[]
[Controls]
[pr_cmdline]
type = MultiAppSamplerControl
multi_app = cv_sub
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[response_data]
type = SamplerReporterTransfer
from_multi_app = cv_sub
stochastic_reporter = results
from_reporter = 'max/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
outputs = none
[]
[cv_scores]
type = CrossValidationScores
models = 'pr_surr pc_surr np_surr gp_surr ann_surr'
execute_on = FINAL
[]
[]
[Trainers]
[pr_max]
type = PolynomialRegressionTrainer
regression_type = "ols"
max_degree = 3
cv_surrogate = "pr_surr"
execute_on = timestep_end
[]
[pc_max]
type = PolynomialChaosTrainer
order = 3
distributions = "k_dist q_dist L_dist Tinf_dist"
cv_surrogate = "pc_surr"
execute_on = timestep_end
[]
[np_max]
type = NearestPointTrainer
cv_surrogate = "np_surr"
execute_on = timestep_end
[]
[gp_max]
type = GaussianProcessTrainer
covariance_function = 'rbf'
standardize_params = 'true'
standardize_data = 'true'
cv_surrogate = "gp_surr"
execute_on = timestep_end
[]
[ann_max]
type = LibtorchANNTrainer
num_epochs = 100
num_batches = 5
num_neurons_per_layer = '64'
learning_rate = 1e-2
rel_loss_tol = 1e-4
filename = mynet.pt
read_from_file = false
print_epoch_loss = 0
activation_function = 'relu'
cv_surrogate = "ann_surr"
standardize_input = false
standardize_output = false
[]
[]
[Covariance]
[rbf]
type = SquaredExponentialCovariance
noise_variance = 3.79e-6
signal_variance = 1 #Use a signal variance of 1 in the kernel
length_factor = '5.34471 1.41191 5.90721 2.83723' #Select a length factor for each parameter
[]
[]
[Surrogates]
[pr_surr]
type = PolynomialRegressionSurrogate
trainer = pr_max
[]
[pc_surr]
type = PolynomialChaos
trainer = pc_max
[]
[np_surr]
type = NearestPointSurrogate
trainer = np_max
[]
[gp_surr]
type = GaussianProcess
trainer = gp_max
[]
[ann_surr]
type = LibtorchANNSurrogate
trainer = ann_max
[]
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/samplers/mcmc/main_imh.i)
[StochasticTools]
[]
[Distributions]
[left]
type = Normal
mean = 0.0
standard_deviation = 1.0
[]
[right]
type = Normal
mean = 0.0
standard_deviation = 1.0
[]
[]
[Likelihood]
[gaussian]
type = Gaussian
noise = 'noise_specified/noise_specified'
file_name = 'exp_0_05.csv'
log_likelihood = true
[]
[]
[Samplers]
[sample]
type = IndependentGaussianMH
prior_distributions = 'left right'
# previous_state = 'mcmc_reporter/inputs'
num_parallel_proposals = 5
file_name = 'confg.csv'
execute_on = PRE_MULTIAPP_SETUP
seed = 2547
std_prop = '0.05 0.05'
initial_values = '0.1 0.1'
seed_inputs = 'mcmc_reporter/seed_input'
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Transfers]
[reporter_transfer]
type = SamplerReporterTransfer
from_reporter = 'average/value'
stochastic_reporter = 'constant'
from_multi_app = sub
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = sample
param_names = 'left_bc right_bc mesh1'
[]
[]
[Reporters]
[constant]
type = StochasticReporter
[]
[noise_specified]
type = ConstantReporter
real_names = 'noise_specified'
real_values = '0.05'
[]
[mcmc_reporter]
type = IndependentMHDecision
output_value = constant/reporter_transfer:average:value
sampler = sample
likelihoods = 'gaussian'
[]
[]
[Executioner]
type = Transient
num_steps = 5
[]
[Outputs]
file_base = 'imh_5prop'
[out]
type = JSON
execute_system_information_on = NONE
[]
[]
(modules/stochastic_tools/test/tests/multiapps/user_cli_args/main_transient.i)
[StochasticTools]
[]
[Samplers/sample]
type = CartesianProduct
linear_space_items = '1 1 3
1 1 3'
execute_on = 'PRE_MULTIAPP_SETUP'
[]
[MultiApps/sub]
type = SamplerTransientMultiApp
sampler = sample
input_files = 'sub_transient.i'
cli_args = 'Mesh/xmax=10;Mesh/ymax=10'
[]
[Transfers]
inactive = 'param'
[param]
type = SamplerParameterTransfer
to_multi_app = sub
sampler = sample
parameters = 'Functions/fun/value Postprocessors/function_val/scale_factor'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = sample
from_reporter = 'size/value function_val/value'
stochastic_reporter = 'storage'
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = sample
param_names = 'Functions/fun/value Postprocessors/function_val/scale_factor'
[]
[]
[Reporters/storage]
type = StochasticReporter
parallel_type = ROOT
[]
[Executioner]
type = Transient
num_steps = 3
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/main_2dnorm_quad_locs.i)
[StochasticTools]
[]
[Distributions]
[D_dist]
type = Normal
mean = 5
standard_deviation = 0.5
[]
[S_dist]
type = Normal
mean = 8
standard_deviation = 0.7
[]
[]
[Samplers]
[grid]
type = CartesianProduct
linear_space_items = '2.5 0.5 10 3 1 10'
[]
[quadrature]
type = Quadrature
distributions = 'D_dist S_dist'
execute_on = INITIAL
order = 5
[]
[]
[MultiApps]
[quad_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = quadrature
mode = batch-restore
[]
[]
[Transfers]
[quad]
type = SamplerParameterTransfer
to_multi_app = quad_sub
sampler = quadrature
parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
[]
[data]
type = SamplerReporterTransfer
from_multi_app = quad_sub
sampler = quadrature
stochastic_reporter = storage
from_reporter = avg/value
[]
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = none
[]
[local_sense]
type = PolynomialChaosReporter
pc_name = poly_chaos
local_sensitivity_sampler = grid
local_sensitivity_points = '3.14159 3.14159 2.7182 3.14159 3.14159 2.7182 2.7182 2.7182'
execute_on = final
[]
[]
[Surrogates]
[poly_chaos]
type = PolynomialChaos
trainer = poly_chaos
[]
[]
[Trainers]
[poly_chaos]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 5
distributions = 'D_dist S_dist'
sampler = quadrature
response = storage/data:avg:value
[]
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/samplers/AdaptiveImportanceSampler/ais.i)
[StochasticTools]
[]
[Distributions]
[mu1]
type = Normal
mean = 0.0
standard_deviation = 0.5
[]
[mu2]
type = Normal
mean = 1
standard_deviation = 0.5
[]
[]
[Samplers]
[sample]
type = AdaptiveImportance
distributions = 'mu1 mu2'
proposal_std = '1.0 1.0'
output_limit = 0.65
num_samples_train = 30
num_importance_sampling_steps = 30
std_factor = 0.9
initial_values = '-0.103 1.239'
inputs_reporter = 'adaptive_MC/inputs'
use_absolute_value = true
seed = 1012
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Transfers]
[param]
type = SamplerParameterTransfer
to_multi_app = sub
sampler = sample
parameters = 'BCs/left/value BCs/right/value'
[]
[reporter_transfer]
type = SamplerReporterTransfer
from_reporter = 'average/value'
stochastic_reporter = 'constant'
from_multi_app = sub
sampler = sample
[]
[]
[Reporters]
[constant]
type = StochasticReporter
[]
[adaptive_MC]
type = AdaptiveMonteCarloDecision
output_value = constant/reporter_transfer:average:value
inputs = 'inputs'
sampler = sample
[]
[ais_stats]
type = AdaptiveImportanceStats
output_value = constant/reporter_transfer:average:value
sampler = sample
[]
[]
[Executioner]
type = Transient
[]
[Outputs]
[out]
type = JSON
[]
[]
(modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_squared_exponential.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 10
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[test_sample]
type = MonteCarlo
num_rows = 100
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose a squared exponential for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = GP_avg_trainer
[]
[]
[Covariance]
[covar]
type=SquaredExponentialCovariance
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-6 #A small amount of noise can help with numerical stability
length_factor = '0.38971 0.38971' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_exponential.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 10
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[test_sample]
type = MonteCarlo
num_rows = 100
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose an exponential for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = GP_avg_trainer
[]
[]
[Covariance]
[covar]
type=ExponentialCovariance
gamma = 1 #Define the exponential factor
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-6 #A small amount of noise can help with numerical stability
length_factor = '0.551133 0.551133' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/cross_validation/poly_reg_vec.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Normal
mean = 5
standard_deviation = 2
[]
[L_dist]
type = Normal
mean = 0.03
standard_deviation = 0.01
[]
[]
[Samplers]
[sample]
type = LatinHypercube
num_rows = 10
distributions = 'k_dist L_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[GlobalParams]
sampler = sample
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub_vector.i
mode = batch-reset
execute_on = initial
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
param_names = 'Materials/conductivity/prop_values L'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
stochastic_reporter = results
from_reporter = 'T_vec/T T_vec/x'
[]
[]
[Reporters]
[results]
type = StochasticReporter
outputs = none
[]
[cv_scores]
type = CrossValidationScores
models = pr_surrogate
execute_on = FINAL
[]
[]
[Trainers]
[pr_trainer]
type = PolynomialRegressionTrainer
regression_type = "ols"
sampler = sample
response = results/data:T_vec:T
response_type = vector_real
execute_on = timestep_end
max_degree = 1
cv_type = "k_fold"
cv_splits = 2
cv_n_trials = 3
cv_surrogate = pr_surrogate
cv_seed = 1
[]
[]
[Surrogates]
[pr_surrogate]
type = PolynomialRegressionSurrogate
trainer = pr_trainer
[]
[]
[Outputs]
[out]
type = JSON
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/multiapps/partitioning/main.i)
[StochasticTools]
[]
[Samplers/sample]
type = CartesianProduct
linear_space_items = '0 1 5'
execute_on = PRE_MULTIAPP_SETUP
[]
[GlobalParams]
sampler = sample
[]
[MultiApps/sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
[]
[Controls/cli]
type = MultiAppSamplerControl
multi_app = sub
param_names = 'Postprocessors/pp1/scale_factor'
[]
[Transfers]
[param]
type = SamplerParameterTransfer
to_multi_app = sub
parameters = 'Postprocessors/pp2/scale_factor'
[]
[rep]
type = SamplerReporterTransfer
from_multi_app = sub
stochastic_reporter = reporter
from_reporter = 'pp1/value'
[]
[pp]
type = SamplerPostprocessorTransfer
from_multi_app = sub
to_vector_postprocessor = vpp
from_postprocessor = 'pp2'
[]
[]
[VectorPostprocessors/vpp]
type = StochasticResults
[]
[Reporters]
[reporter]
type = StochasticReporter
outputs = none
[]
[check]
type = TestReporterPartitioning
sampler = sample
reporters = 'reporter/rep:pp1:value vpp/pp:pp2'
[]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
(modules/combined/test/tests/optimization/invOpt_multiExperiment/sampler_subapp.i)
# sampler for parameterizing multiple experiments
[StochasticTools]
[]
[Samplers]
[omega_sampler]
type = InputMatrix
#omega;
matrix = '2; 3; 5'
execute_on = 'PRE_MULTIAPP_SETUP'
[]
[]
[MultiApps]
[forward]
type = SamplerFullSolveMultiApp
input_files = forward.i
sampler = omega_sampler
ignore_solve_not_converge = true
mode = normal #This is the only mode that works. batch-reset will only transfer data to first sample
[]
[]
[Controls]
[cmdLine]
type = MultiAppSamplerControl
multi_app = forward
sampler = omega_sampler
param_names = 'omega'
[]
[]
##---------------------------------------
# Getting objectives and gradients from each sample and combining
[Transfers]
[fromForward]
type = SamplerReporterTransfer
from_multi_app = forward
sampler = omega_sampler
stochastic_reporter = storage
from_reporter = 'obj_pp/value grad_f/grad_f'
[]
[]
[Reporters]
[storage]
type = StochasticReporter
execute_on = 'initial timestep_end'
parallel_type = ROOT
[]
[grad_sum]
type = ParsedVectorVectorRealReductionReporter
name = row_sum
reporter_name = "storage/fromForward:grad_f:grad_f"
initial_value = 0
expression = 'reduction_value+indexed_value'
[]
[obj_sum]
type = ParsedVectorRealReductionReporter
name = value
reporter_name = "storage/fromForward:obj_pp:value"
initial_value = 0
expression = 'reduction_value+indexed_value'
[]
[]
##---------------------------------------
#this is for getting controllable parameters down to the forward problem
[Reporters]
[controllable_params]
type = ConstantReporter
real_vector_names = 'vals'
real_vector_values = '0 4'
[]
[]
[Transfers]
# regular transfer of the same controllable parameters to all subapps
[toForward]
type = MultiAppReporterTransfer
to_multi_app = forward
from_reporters = 'controllable_params/vals'
to_reporters = 'vals/vals'
execute_on = 'TIMESTEP_BEGIN'
[]
[]
##---------------------------------------
[Outputs]
console = false
[]
(modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_1D.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[L_dist]
type = Uniform
lower_bound = 0.01
upper_bound = 0.05
[]
[Tinf_dist]
type = Uniform
lower_bound = 290
upper_bound = 310
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 6
distributions = 'q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[cart_sample]
type = CartesianProduct
linear_space_items = '9000 20 100'
execute_on = initial
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = train_sample
param_names = 'Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[cart_avg]
type = EvaluateSurrogate
model = gauss_process_avg
sampler = cart_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = gauss_process_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
sampler = train_sample
response = results/data:avg:value
covariance_function = 'rbf'
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
[]
[]
[Covariance]
[rbf]
type=SquaredExponentialCovariance
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-3 #A small amount of noise can help with numerical stability
length_factor = '0.38971' #Select a length factor for each parameter (k and q)
[]
[]
[Surrogates]
[gauss_process_avg]
type = GaussianProcess
trainer = 'GP_avg_trainer'
[]
[]
[Outputs]
csv = true
execute_on = FINAL
[]
(modules/stochastic_tools/examples/surrogates/poly_chaos_normal_mc.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Normal
mean = 5
standard_deviation = 2
[]
[q_dist]
type = Normal
mean = 10000
standard_deviation = 500
[]
[L_dist]
type = Normal
mean = 0.03
standard_deviation = 0.01
[]
[Tinf_dist]
type = Normal
mean = 300
standard_deviation = 10
[]
[]
[Samplers]
[sample]
type = MonteCarlo
num_rows = 10000
distributions = 'k_dist q_dist L_dist Tinf_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppSamplerControl
multi_app = sub
sampler = sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
from_multi_app = sub
sampler = sample
stochastic_reporter = results
from_reporter = 'avg/value max/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[poly_chaos_avg]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
regression_type = integration
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:avg:value
[]
[poly_chaos_max]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
regression_type = integration
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:max:value
[]
[]
[Outputs]
file_base = poly_chaos_training
[out]
type = SurrogateTrainerOutput
trainers = 'poly_chaos_avg poly_chaos_max'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/include/reporters/StochasticMatrix.h)
// This file is part of the MOOSE framework
// https://www.mooseframework.org
//
// All rights reserved, see COPYRIGHT for full restrictions
// https://github.com/idaholab/moose/blob/master/COPYRIGHT
//
// Licensed under LGPL 2.1, please see LICENSE for details
// https://www.gnu.org/licenses/lgpl-2.1.html
#pragma once
// MOOSE includes
#include "StochasticReporter.h"
class StochasticMatrix : public StochasticReporter
{
public:
static InputParameters validParams();
StochasticMatrix(const InputParameters & parameters);
virtual void execute() override;
protected:
// Overriding this to make sure sampler matches
virtual ReporterName declareStochasticReporterClone(const Sampler & sampler,
const ReporterData & from_data,
const ReporterName & from_reporter,
std::string prefix = "") override;
/// The sampler to extract data
Sampler & _sampler;
private:
/// Storage for declared vectors, one for each column
std::vector<std::vector<Real> *> _sample_vectors;
};
(modules/stochastic_tools/include/reporters/MappingReporter.h)
// This file is part of the MOOSE framework
// https://www.mooseframework.org
//
// All rights reserved, see COPYRIGHT for full restrictions
// https://github.com/idaholab/moose/blob/master/COPYRIGHT
//
// Licensed under LGPL 2.1, please see LICENSE for details
// https://www.gnu.org/licenses/lgpl-2.1.html
#pragma once
// MOOSE includes
#include "StochasticReporter.h"
#include "ParallelSolutionStorage.h"
#include "MappingInterface.h"
#include "UserObjectInterface.h"
/**
* A tool to reduce solution fields to coordinates in the latent space.
*/
class MappingReporter : public StochasticReporter, public MappingInterface
{
public:
static InputParameters validParams();
MappingReporter(const InputParameters & parameters);
virtual void initialize() override {}
void initialSetup() override;
virtual void execute() override;
virtual void finalize() override {}
protected:
/// Map the available data in a parallel storage into the latent space
void mapParallelStorageData();
/// Map the available data in variables into the latent space
void mapVariableData();
/// If we already have solution fields stored from previous runs, we can use their
/// ParallelStorageObject to obtain the corresponding coefficients
const ParallelSolutionStorage * const _parallel_storage;
/// We only need the sampler to check which coefficients would go to which processor
/// in case a ParallelSolutionStorage is used
Sampler * const _sampler;
/// The name of the mapping object we would like to use
const UserObjectName & _mapping_name;
/// Link to the mapping object, we need this to be a pointer due to the fact that we can only fetch this in initialSetup
VariableMappingBase * _mapping;
/// The variables we would like to map
const std::vector<VariableName> & _variable_names;
///@{
/// Links to the storage spaces (reporters) where we collect the coefficients
std::vector<std::vector<std::vector<Real>> *> _vector_real_values_parallel_storage;
std::vector<std::vector<Real> *> _vector_real_values;
///@}
};
(modules/stochastic_tools/include/reporters/ActiveLearningReporterBase.h)
// This file is part of the MOOSE framework
// https://www.mooseframework.org
//
// All rights reserved, see COPYRIGHT for full restrictions
// https://github.com/idaholab/moose/blob/master/COPYRIGHT
//
// Licensed under LGPL 2.1, please see LICENSE for details
// https://www.gnu.org/licenses/lgpl-2.1.html
#pragma once
#include "StochasticReporter.h"
template <typename T>
class ActiveLearningReporterTempl;
/**
* This is a base class for performing active learning routines, meant to be used
* in conjunction with Sampler multiapps and SamplerReporterTransfer. The purpose
* is to determine if a sample needs to be evaluated by a multiphysics solve and
* possibly replace quantities of interest with values computed by other means.
*/
template <typename T>
class ActiveLearningReporterTempl : public StochasticReporter
{
public:
static InputParameters validParams();
ActiveLearningReporterTempl(const InputParameters & parameters);
/**
* Here we loop through the samples and call the needSample function to determine
* if the sample needs to be run and define a value in its place.
*/
virtual void execute() override;
protected:
/**
* This is overriden for the following reasons:
* 1) Only one vector can be declared and must match the type of this class.
* 2) Check that the inputted sampler matches the one given in the parameters.
* 3) We actually get a pointer to the declared value so we can replace it
* (if necessary) in the needSample routine.
* 4) Declare the "need_sample" value which can be used to evaluate the sample
* or not.
*/
virtual ReporterName declareStochasticReporterClone(const Sampler & sampler,
const ReporterData & from_data,
const ReporterName & from_reporter,
std::string prefix = "") override;
/**
* Get a const reference to the sampler from the parameters. This is preferred
* over having _sampler being a protected member since we don't want derived classes
* changing the state of the sampler during the loop in execute.
*/
const Sampler & sampler() const { return _sampler; }
const std::vector<std::vector<Real>> & getGlobalInputData() const
{
_input_data_requested = true;
return _input_data;
}
/**
* Get a const reference to the output data
*/
const std::vector<T> & getGlobalOutputData() const
{
_output_data_requested = true;
return _output_data;
}
/**
* Optional virtual function that is called before the sampler loop calling needSample
*/
virtual void preNeedSample() {}
/**
* This routine is called during the sampler loop in execute() and is meant to fill
* in the "need_sample" reporter value and modify the data declared by the transfer.
*
* @param row The row of data from the sampler
* @param local_ind The local index of the sampler row
* @param global_ind The global index of the sampler row
* @param val Reference to the value associated with the row of data.
* @return Filled in value of "need_sample", meant to determine if a sample needs
* to be run by a multiapp or other means.
*/
virtual bool needSample(const std::vector<Real> & /*row*/,
dof_id_type /*local_ind*/,
dof_id_type /*global_ind*/,
T & /*val*/)
{
return true;
}
/// Sampler given in the parameters, must match the one used to declare the
/// transferred values.
Sampler & _sampler;
private:
/// Reporter value determining whether we need to evaluate the sample through
/// a multiapp or other means.
std::vector<bool> & _need_sample;
/// Reporter value declared with the transfer
std::vector<T> * _data = nullptr;
/// Whether or not to gather global input data
mutable bool _input_data_requested = false;
/// Whether or not to gather global output data
mutable bool _output_data_requested = false;
/// Global input data from sampler
std::vector<std::vector<Real>> _input_data;
/// Global output data from sampler
std::vector<T> _output_data;
};
template <typename T>
InputParameters
ActiveLearningReporterTempl<T>::validParams()
{
InputParameters params = StochasticReporter::validParams();
params.addRequiredParam<SamplerName>("sampler", "The sampler used to produce data.");
return params;
}
template <typename T>
ActiveLearningReporterTempl<T>::ActiveLearningReporterTempl(const InputParameters & parameters)
: StochasticReporter(parameters),
_sampler(this->template getSampler<Sampler>("sampler")),
_need_sample(this->template declareStochasticReporter<bool>("need_sample", _sampler))
{
}
template <typename T>
void
ActiveLearningReporterTempl<T>::execute()
{
// If requesting global data, fill it in
if (_input_data_requested)
{
// Gather inputs for the current step
_input_data.assign(_sampler.getNumberOfRows(),
std::vector<Real>(_sampler.getNumberOfCols(), 0.0));
for (dof_id_type i = _sampler.getLocalRowBegin(); i < _sampler.getLocalRowEnd(); ++i)
_input_data[i] = _sampler.getNextLocalRow();
for (auto & inp : _input_data)
gatherSum(inp);
}
if (_output_data_requested)
{
if (!_data)
mooseError("Output data has been requested, but none was declared in this object.");
_output_data = *_data;
_communicator.allgather(_output_data);
}
// Optional call for before sampler loop
preNeedSample();
// Dummy value in case _data has not been declared yet
T dummy;
// Loop over samples to determine if sample is needed. Replace value in _data
// (typically only if a sample is not needed). We insert a dummy value in case
// _data has not been declared.
for (const auto & i : make_range(_sampler.getNumberOfLocalRows()))
_need_sample[i] = needSample(_sampler.getNextLocalRow(),
i,
i + _sampler.getLocalRowBegin(),
(_data ? (*_data)[i] : dummy));
}
template <typename T>
ReporterName
ActiveLearningReporterTempl<T>::declareStochasticReporterClone(const Sampler & sampler,
const ReporterData & from_data,
const ReporterName & from_reporter,
std::string prefix)
{
// Only one value is allowed to be declared
if (_data)
this->mooseError(type(), " can only declare a single reporter value.");
// Make sure the inputted sampler is the same one in the parameters
else if (sampler.name() != _sampler.name())
this->paramError("sampler",
"Inputted sampler, ",
_sampler.name(),
", is not the same as the one producing data, ",
sampler.name(),
".");
// Make sure reporter value exists
else if (!from_data.hasReporterValue(from_reporter))
this->mooseError("Reporter value ", from_reporter, " has not been declared.");
// Make sure the reporter value is the right type
else if (!from_data.hasReporterValue<T>(from_reporter))
this->mooseError(
type(), " can only use reporter values of type ", MooseUtils::prettyCppType<T>(), ".");
std::string value_name = (prefix.empty() ? "" : prefix + ":") + from_reporter.getObjectName() +
":" + from_reporter.getValueName();
_data = &this->declareStochasticReporter<T>(value_name, sampler);
return {name(), value_name};
}
(modules/stochastic_tools/include/reporters/EvaluateSurrogate.h)
// This file is part of the MOOSE framework
// https://www.mooseframework.org
//
// All rights reserved, see COPYRIGHT for full restrictions
// https://github.com/idaholab/moose/blob/master/COPYRIGHT
//
// Licensed under LGPL 2.1, please see LICENSE for details
// https://www.gnu.org/licenses/lgpl-2.1.html
#pragma once
// MOOSE includes
#include "StochasticReporter.h"
#include "SurrogateModelInterface.h"
#include "SurrogateModel.h"
/**
* A tool for output Sampler data.
*/
class EvaluateSurrogate : public StochasticReporter, SurrogateModelInterface
{
public:
static InputParameters validParams();
EvaluateSurrogate(const InputParameters & parameters);
virtual void initialize() override {}
virtual void execute() override;
virtual void finalize() override {}
protected:
/// Sampler for evaluating surrogate model
Sampler & _sampler;
/// The data type for the response value
const MultiMooseEnum _response_types;
/// Whether or not to compute standard deviation
std::vector<bool> _doing_std;
/// Pointers to surrogate model
std::vector<const SurrogateModel *> _model;
///@{
/// Vectors containing results of sampling model
std::vector<std::vector<Real> *> _real_values;
std::vector<std::vector<std::vector<Real>> *> _vector_real_values;
std::vector<std::vector<Real> *> _real_std;
std::vector<std::vector<std::vector<Real>> *> _vector_real_std;
///@}
};