- multi_appThe name of the MultiApp to use.
C++ Type:MultiAppName
Description:The name of the MultiApp to use.
 - to_controlThe name of the 'SamplerReceiver' on the sub application to which the Sampler data will be transferred.
C++ Type:std::string
Description:The name of the 'SamplerReceiver' on the sub application to which the Sampler data will be transferred.
 
SamplerParameterTransfer
The SamplerParameterTransfer works in union with the Samplers and Controls systems to transfer data to sub-applications to perform stochastic simulations.
The use of this object is explained in detail in stochastic_tools module example: Monte Carlo Example.
Input Parameters
- check_multiapp_execute_onFalseWhen false the check between the multiapp and transfer execute on flags is not preformed.
Default:False
C++ Type:bool
Options:
Description:When false the check between the multiapp and transfer execute on flags is not preformed.
 - displaced_source_meshFalseWhether or not to use the displaced mesh for the source mesh.
Default:False
C++ Type:bool
Options:
Description:Whether or not to use the displaced mesh for the source mesh.
 - displaced_target_meshFalseWhether or not to use the displaced mesh for the target mesh.
Default:False
C++ Type:bool
Options:
Description:Whether or not to use the displaced mesh for the target mesh.
 - execute_onSAME_AS_MULTIAPPThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM, SAME_AS_MULTIAPP.
Default:SAME_AS_MULTIAPP
C++ Type:ExecFlagEnum
Options:NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM, SAME_AS_MULTIAPP
Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM, SAME_AS_MULTIAPP.
 - parametersA list of parameters (on the sub application) to control with the Sampler data. The order of the parameters listed here should match the order of the items in the Sampler.
C++ Type:std::vector<std::string>
Options:
Description:A list of parameters (on the sub application) to control with the Sampler data. The order of the parameters listed here should match the order of the items in the Sampler.
 - samplerA the Sampler object that Transfer is associated..
C++ Type:SamplerName
Options:
Description:A the Sampler object that Transfer is associated..
 
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Options:
Description:Adds user-defined labels for accessing object parameters via control logic.
 - enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Options:
Description:Set the enabled status of the MooseObject.
 - 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
Options:
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/master_2dnorm_quad_moment.i)
 - (modules/stochastic_tools/examples/sobol/master.i)
 - (modules/combined/examples/stochastic/lhs_uniform.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_transfer/monte_carlo.i)
 - (modules/stochastic_tools/test/tests/transfers/monte_carlo/monte_carlo.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_transfer/errors/master_missing_control.i)
 - (modules/stochastic_tools/test/tests/surrogates/pod_rb/boundary/trainer.i)
 - (modules/stochastic_tools/examples/batch/full_solve.i)
 - (modules/stochastic_tools/examples/surrogates/pod_rb/2d_multireg/trainer.i)
 - (modules/stochastic_tools/test/tests/transfers/batch_sampler_transfer/master.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_transfer_vector/master_not_enough_data.i)
 - (modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2d_quad_locs.i)
 - (modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2d_quad_moment.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_transfer_vector/master.i)
 - (modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2d_quad.i)
 - (modules/stochastic_tools/test/tests/transfers/batch_sampler_transfer/master_2sub.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_transfer/sobol.i)
 - (modules/stochastic_tools/test/tests/multiapps/dynamic_sub_app_number/main.i)
 - (modules/stochastic_tools/test/tests/surrogates/pod_rb/errors/trainer_and_surr.i)
 - (modules/stochastic_tools/test/tests/transfers/sobol/sobol.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_transfer/errors/master_num_parameters_wrong.i)
 - (modules/stochastic_tools/test/tests/surrogates/pod_rb/internal/trainer_and_surr.i)
 - (modules/stochastic_tools/test/tests/vectorpostprocessors/stochastic_results_complete_history/master.i)
 - (modules/combined/examples/stochastic/poly_chaos_train_uniform.i)
 - (modules/stochastic_tools/test/tests/surrogates/pod_rb/internal/trainer.i)
 - (modules/stochastic_tools/examples/surrogates/pod_rb/2d_multireg/full_order.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_transfer/errors/master_transfer_wrong_sampler.i)
 - (modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2dnorm_quad_locs.i)
 - (modules/stochastic_tools/test/tests/multiapps/partitioning/main_transient.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_postprocessor/errors/wrong_multi_app.i)
 - (modules/stochastic_tools/examples/batch/transient.i)
 - (modules/stochastic_tools/test/tests/multiapps/transient_with_full_solve/main.i)
 - (modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2d_mc.i)
 - (modules/stochastic_tools/test/tests/transfers/errors/master_missing_control.i)
 - (modules/stochastic_tools/test/tests/transfers/errors/master_multiapp_type_error.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_reporter/main_batch.i)
 - (modules/stochastic_tools/examples/parameter_study/nonlin_diff_react/nonlin_diff_react_master_uniform.i)
 - (modules/stochastic_tools/test/tests/multiapps/partitioning/main.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_postprocessor/master.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_transfer/errors/master_multiapp_type_error.i)
 - (modules/stochastic_tools/examples/parameter_study/master.i)
 - (modules/stochastic_tools/examples/parameter_study/nonlin_diff_react/nonlin_diff_react_master_normal.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_postprocessor/errors/require_stochastic_results.i)
 - (modules/stochastic_tools/test/tests/transfers/errors/master_num_parameters_wrong.i)
 - (modules/stochastic_tools/test/tests/vectorpostprocessors/multiple_stochastic_results/master.i)
 - (modules/stochastic_tools/test/tests/transfers/errors/master_wrong_control.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_transfer/errors/master_wrong_control.i)
 - (modules/stochastic_tools/test/tests/surrogates/pod_rb/errors/trainer.i)
 - (modules/stochastic_tools/test/tests/multiapps/batch_sampler_transient_multiapp/master_transient.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_transfer_vector/master_size_mismatch.i)
 - (modules/stochastic_tools/test/tests/surrogates/load_store/train.i)
 - (modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2dnorm_quad.i)
 - (modules/stochastic_tools/test/tests/vectorpostprocessors/stochastic_results/master.i)
 - (modules/stochastic_tools/test/tests/surrogates/load_store/train_and_evaluate.i)
 
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_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
    multi_app = quad_sub
    sampler = quadrature
    parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = quad_sub
    sampler = quadrature
    to_vector_postprocessor = storage
    from_postprocessor = avg
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
    parallel_type = REPLICATED
  []
  [pc_moments]
    type = PolynomialChaosStatistics
    pc_name = poly_chaos
    compute = '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
  []
[]
[Outputs]
  [out]
    type = CSV
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/examples/sobol/master.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 = -10
    standard_deviation = 1.5
  []
  [s]
    type = Normal
    mean = 1
    standard_deviation = 0.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
    multi_app = runner
    sampler = sobol
    parameters = 'Materials/constant/prop_values Kernels/source/value BCs/right/value BCs/left/value'
    to_control = 'stochastic'
  []
  [results]
    type = SamplerPostprocessorTransfer
    multi_app = runner
    sampler = sobol
    to_vector_postprocessor = results
    from_postprocessor = 'T_avg q_left'
  []
[]
[VectorPostprocessors]
  [results]
    type = StochasticResults
  []
  [samples]
    type = SamplerData
    sampler = sobol
  []
  [stats]
    type = Statistics
    vectorpostprocessors = results
    compute = 'mean'
    ci_method = 'percentile'
    ci_levels = '0.05'
  []
  [sobol]
    type = SobolStatistics
    sampler = sobol
    results = results
  []
[]
[Outputs]
  csv = true
  execute_on = 'FINAL'
[]
(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
    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'
    to_control = 'stochastic'
    check_multiapp_execute_on = false
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = sample
    to_vector_postprocessor = storage
    from_postprocessor = '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'
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
  []
  [stats]
    type = Statistics
    vectorpostprocessors = 'storage'
    compute = 'mean stddev'
    ci_method = 'percentile'
    ci_levels = '0.05'
  []
[]
[Outputs]
  csv = true
  execute_on = TIMESTEP_END
[]
(modules/stochastic_tools/test/tests/transfers/sampler_transfer/monte_carlo.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform_left uniform_right'
    execute_on = INITIAL
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = sample
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
    check_multiapp_execute_on = false
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'INITIAL TIMESTEP_END'
[]
(modules/stochastic_tools/test/tests/transfers/monte_carlo/monte_carlo.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 10
    distributions = 'uniform_left uniform_right'
    execute_on = INITIAL # create random numbers on initial and use them for each timestep
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub.i
    sampler = sample
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
    execute_on = INITIAL
    check_multiapp_execute_on = false
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'INITIAL TIMESTEP_END'
[]
(modules/stochastic_tools/test/tests/transfers/sampler_transfer/errors/master_missing_control.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform_left uniform_right'
    execute_on = 'initial timestep_end'
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub_missing_control.i
    sampler = sample
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'INITIAL TIMESTEP_END'
[]
(modules/stochastic_tools/test/tests/surrogates/pod_rb/boundary/trainer.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
  [alpha_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
  [S_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
  [Dir_dist]
    type = Uniform
    lower_bound = 0
    upper_bound = 1
  []
[]
[Samplers]
  [sample]
    type = LatinHypercube
    distributions = 'k_dist alpha_dist S_dist Dir_dist'
    num_rows = 5
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [sub]
    type = PODFullSolveMultiApp
    input_files = sub.i
    sampler = sample
    trainer_name = 'pod_rb'
    execute_on = 'timestep_begin final'
  []
[]
[Transfers]
  [param]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'Materials/k/prop_values Materials/alpha/prop_values Kernels/source/value BCs/left/value'
    to_control = 'stochastic'
    execute_on = 'timestep_begin'
    check_multiapp_execute_on = false
  []
  [data]
    type = PODSamplerSolutionTransfer
    multi_app = sub
    sampler = sample
    trainer_name = 'pod_rb'
    direction = 'from_multiapp'
    execute_on = 'timestep_begin'
    check_multiapp_execute_on = false
  []
  [mode]
    type = PODSamplerSolutionTransfer
    multi_app = sub
    sampler = sample
    trainer_name = 'pod_rb'
    direction = 'to_multiapp'
    execute_on = 'final'
    check_multiapp_execute_on = false
  []
  [res]
    type = PODResidualTransfer
    multi_app = sub
    sampler = sample
    trainer_name = "pod_rb"
    execute_on = 'final'
    check_multiapp_execute_on = false
  []
[]
[Trainers]
  [pod_rb]
    type = PODReducedBasisTrainer
    var_names = 'u'
    error_res = '1e-9'
    tag_names = 'diff react bodyf dir_src dir_imp'
    tag_types = 'op op src src_dir op_dir'
    execute_on = 'timestep_begin final'
  []
[]
[Outputs]
  [out]
    type = SurrogateTrainerOutput
    trainers = 'pod_rb'
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/examples/batch/full_solve.i)
[StochasticTools]
[]
[Distributions]
  [uniform]
    type = Uniform
    lower_bound = 1
    upper_bound = 9
  []
[]
[Samplers]
  [mc]
    type = MonteCarlo
    num_rows = 10
    distributions = 'uniform uniform'
  []
[]
[MultiApps]
  [runner]
    type = SamplerFullSolveMultiApp
    sampler = mc
    input_files = 'sub.i'
    mode = batch-restore
  []
[]
[Transfers]
  [runner]
    type = SamplerParameterTransfer
    multi_app = runner
    parameters = 'BCs/left/value BCs/right/value'
    to_control = receiver
    sampler = mc
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = runner
    to_vector_postprocessor = storage
    from_postprocessor = average
    sampler = mc
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
  []
[]
[Postprocessors]
  [total]
    type = MemoryUsage
    execute_on = 'INITIAL TIMESTEP_END'
  []
  [per_proc]
    type = MemoryUsage
    value_type = "average"
    execute_on = 'INITIAL TIMESTEP_END'
  []
  [max_proc]
    type = MemoryUsage
    value_type = "max_process"
    execute_on = 'INITIAL TIMESTEP_END'
  []
[]
[Outputs]
  csv = true
  perf_graph = true
[]
(modules/stochastic_tools/examples/surrogates/pod_rb/2d_multireg/trainer.i)
[StochasticTools]
[]
[Distributions]
  [D012_dist]
    type = Uniform
    lower_bound = 0.2
    upper_bound = 0.8
  []
  [D1_dist]
    type = Uniform
    lower_bound = 0.2
    upper_bound = 0.8
  []
  [D2_dist]
    type = Uniform
    lower_bound = 0.2
    upper_bound = 0.8
  []
  [D3_dist]
    type = Uniform
    lower_bound = 0.15
    upper_bound = 0.6
  []
  [absxs0_dist]
    type = Uniform
    lower_bound = 0.0425
    upper_bound = 0.17
  []
  [absxs1_dist]
    type = Uniform
    lower_bound = 0.065
    upper_bound = 0.26
  []
  [absxs2_dist]
    type = Uniform
    lower_bound = 0.04
    upper_bound = 0.16
  []
  [absxs3_dist]
    type = Uniform
    lower_bound = 0.005
    upper_bound = 0.02
  []
  [src_dist]
    type = Uniform
    lower_bound = 5
    upper_bound = 20
  []
[]
[Samplers]
  [sample]
    type = LatinHypercube
    distributions = 'D012_dist D012_dist D012_dist D3_dist
                     absxs0_dist absxs1_dist absxs2_dist absxs3_dist
                     src_dist src_dist src_dist'
    num_rows = 100
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [sub]
    type = PODFullSolveMultiApp
    input_files = sub.i
    sampler = sample
    trainer_name = 'pod_rb'
    execute_on = 'timestep_begin final'
  []
[]
[Transfers]
  [param]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'Materials/D0/prop_values
                  Materials/D1/prop_values
                  Materials/D2/prop_values
                  Materials/D3/prop_values
                  Materials/absxs0/prop_values
                  Materials/absxs1/prop_values
                  Materials/absxs2/prop_values
                  Materials/absxs3/prop_values
                  Kernels/src0/value
                  Kernels/src1/value
                  Kernels/src2/value'
    to_control = 'stochastic'
    execute_on = 'timestep_begin'
    check_multiapp_execute_on = false
  []
  [data]
    type = PODSamplerSolutionTransfer
    multi_app = sub
    sampler = sample
    trainer_name = 'pod_rb'
    direction = 'from_multiapp'
    execute_on = 'timestep_begin'
    check_multiapp_execute_on = false
  []
  [mode]
    type = PODSamplerSolutionTransfer
    multi_app = sub
    sampler = sample
    trainer_name = 'pod_rb'
    direction = 'to_multiapp'
    execute_on = 'final'
    check_multiapp_execute_on = false
  []
  [res]
    type = PODResidualTransfer
    multi_app = sub
    sampler = sample
    trainer_name = 'pod_rb'
    execute_on = 'final'
    check_multiapp_execute_on = false
  []
[]
[Trainers]
  [pod_rb]
    type = PODReducedBasisTrainer
    var_names = 'psi'
    error_res = '1e-9'
    tag_names = 'diff0 diff1 diff2 diff3 abs0 abs1 abs2 abs3 src0 src1 src2'
    tag_types = 'op op op op op op op op src src src'
    execute_on = 'timestep_begin final'
  []
[]
[Outputs]
  [out]
    type = SurrogateTrainerOutput
    trainers = 'pod_rb'
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/test/tests/transfers/batch_sampler_transfer/master.i)
[StochasticTools]
[]
[Distributions]
  [uniform_0]
    type = Uniform
    lower_bound = 100
    upper_bound = 200
  []
  [uniform_1]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [mc]
    type = MonteCarlo
    num_rows = 15
    distributions = 'uniform_0 uniform_1'
    execute_on = INITIAL
  []
[]
[MultiApps]
  [runner]
    type = SamplerFullSolveMultiApp
    sampler = mc
    input_files = 'sub.i'
    mode = batch-reset
  []
[]
[Transfers]
  [runner]
    type = SamplerParameterTransfer
    multi_app = runner
    sampler = mc
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = runner
    sampler = mc
    to_vector_postprocessor = storage
    from_postprocessor = average
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
    execute_on = 'INITIAL TIMESTEP_END'
  []
  [data]
    type = SamplerData
    sampler = mc
  []
[]
[Outputs]
  csv = true
  execute_on = 'TIMESTEP_END'
[]
(modules/stochastic_tools/test/tests/transfers/sampler_transfer_vector/master_not_enough_data.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_prop_a]
    type = Uniform
    lower_bound = 1980
    upper_bound = 1981
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform_prop_a'
    execute_on = 'initial timestep_end' # create new random numbers on initial and timestep_end
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub.i
    sampler = sample
    execute_on = 'initial timestep_end'
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'Materials/mat/prop_values'
    to_control = 'stochastic'
    execute_on = 'initial timestep_end'
    check_multiapp_execute_on = false
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'initial timestep_end'
[]
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_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
    multi_app = quad_sub
    sampler = quadrature
    parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = quad_sub
    sampler = quadrature
    to_vector_postprocessor = storage
    from_postprocessor = avg
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
    parallel_type = REPLICATED
  []
  [local_sense]
    type = PolynomialChaosLocalSensitivity
    pc_name = poly_chaos
    local_points_sampler = grid
    local_points = '3.14159 3.14159 2.7182 3.14159 3.14159 2.7182 2.7182 2.7182'
    output_points = true
    sensitivity_parameters = '0 1'
    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
  []
[]
[Outputs]
  [out]
    type = CSV
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_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
    multi_app = quad_sub
    sampler = quadrature
    parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = quad_sub
    sampler = quadrature
    to_vector_postprocessor = storage
    from_postprocessor = avg
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
    parallel_type = REPLICATED
  []
  [pc_moments]
    type = PolynomialChaosStatistics
    pc_name = poly_chaos
    compute = '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
  []
[]
[Outputs]
  [out]
    type = CSV
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/test/tests/transfers/sampler_transfer_vector/master.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
  [uniform_right]
    type = Uniform
    lower_bound = 10
    upper_bound = 20
  []
  [uniform_prop_a]
    type = Uniform
    lower_bound = 1980
    upper_bound = 1981
  []
  [uniform_prop_b]
    type = Uniform
    lower_bound = 1949
    upper_bound = 1950
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform_left uniform_prop_a uniform_prop_b uniform_right'
    execute_on = 'initial timestep_end' # create new random numbers on initial and timestep_end
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub.i
    sampler = sample
    execute_on = 'initial timestep_end'
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value Materials/mat/prop_values BCs/right/value'
    to_control = 'stochastic'
    execute_on = 'initial timestep_end'
    check_multiapp_execute_on = false
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'initial timestep_end'
[]
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_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
    multi_app = quad_sub
    sampler = quadrature
    parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerReporterTransfer
    multi_app = quad_sub
    sampler = quadrature
    stochastic_reporter = storage
    from_reporter = avg/value
  []
[]
[Reporters]
  [storage]
    type = StochasticReporter
  []
[]
[VectorPostprocessors]
  [pc_coeff]
    type = PolynomialChaosData
    pc_name = poly_chaos
    execute_on = final
  []
  [pc_samp]
    type = EvaluateSurrogate
    model = poly_chaos
    sampler = sample
    output_samples = true
    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/transfers/batch_sampler_transfer/master_2sub.i)
[StochasticTools]
[]
[Distributions]
  [uniform_0]
    type = Uniform
    lower_bound = 100
    upper_bound = 200
  []
  [uniform_1]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [mc0]
    type = MonteCarlo
    num_rows = 15
    distributions = 'uniform_0'
    execute_on = INITIAL
  []
  [mc1]
    type = MonteCarlo
    num_rows = 15
    distributions = 'uniform_1'
    execute_on = INITIAL
  []
[]
[MultiApps]
  [runner0]
    type = SamplerFullSolveMultiApp
    sampler = mc0
    input_files = 'sub.i'
    mode = batch-reset
  []
  [runner1]
    type = SamplerFullSolveMultiApp
    sampler = mc1
    input_files = 'sub.i'
    mode = batch-reset
  []
[]
[Transfers]
  [runner0]
    type = SamplerParameterTransfer
    multi_app = runner0
    sampler = mc0
    parameters = 'BCs/left/value'
    to_control = 'stochastic'
  []
  [runner1]
    type = SamplerParameterTransfer
    multi_app = runner1
    sampler = mc1
    parameters = 'BCs/right/value'
    to_control = 'stochastic'
  []
  [data0]
    type = SamplerPostprocessorTransfer
    multi_app = runner0
    sampler = mc0
    to_vector_postprocessor = storage0
    from_postprocessor = average
  []
  [data1]
    type = SamplerPostprocessorTransfer
    multi_app = runner1
    sampler = mc1
    to_vector_postprocessor = storage1
    from_postprocessor = average
  []
[]
[VectorPostprocessors]
  [storage0]
    type = StochasticResults
    execute_on = 'INITIAL TIMESTEP_END'
  []
  [storage1]
    type = StochasticResults
    execute_on = 'INITIAL TIMESTEP_END'
  []
  [data0]
    type = SamplerData
    sampler = mc0
  []
  [data1]
    type = SamplerData
    sampler = mc1
  []
[]
[Outputs]
  csv = true
  execute_on = 'TIMESTEP_END'
[]
(modules/stochastic_tools/test/tests/transfers/sampler_transfer/sobol.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    distributions = 'uniform_left uniform_right'
    num_rows = 3
    seed = 2011
  []
  [resample]
    type = MonteCarlo
    distributions = 'uniform_left uniform_right'
    num_rows = 3
    seed = 2013
  []
  [sobol]
    type = Sobol
    sampler_a = sample
    sampler_b = resample
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub.i
    sampler = sobol
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sobol
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
    execute_on = INITIAL
    check_multiapp_execute_on = false
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'INITIAL TIMESTEP_END'
[]
(modules/stochastic_tools/test/tests/multiapps/dynamic_sub_app_number/main.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [mc]
    type = TestDynamicNumberOfSubAppsSampler
    num_rows = 5
    distributions = 'uniform'
    execute_on = 'INITIAL TIMESTEP_END'
  []
[]
[Executioner]
  type = Transient
  num_steps = 3
[]
[MultiApps]
  [runner]
    type = SamplerFullSolveMultiApp
    sampler = mc
    input_files = 'sub.i'
    execute_on = 'TIMESTEP_BEGIN'
  []
[]
[Transfers]
  [runner]
    type = SamplerParameterTransfer
    multi_app = runner
    sampler = mc
    parameters = 'BCs/right/value'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = runner
    sampler = mc
    to_vector_postprocessor = storage
    from_postprocessor = center
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
    execute_on = 'INITIAL TIMESTEP_END'
  []
[]
[Outputs]
  [out]
    type = JSON
    execute_system_information_on = NONE
    vectorpostprocessors_as_reporters = true
  []
[]
(modules/stochastic_tools/test/tests/surrogates/pod_rb/errors/trainer_and_surr.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
  [alpha_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
  [S_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
[]
[Samplers]
  [train_sample]
    type = LatinHypercube
    distributions = 'k_dist alpha_dist S_dist'
    num_rows = 3
    execute_on = PRE_MULTIAPP_SETUP
  []
  [test_sample]
    type = LatinHypercube
    distributions = 'k_dist alpha_dist S_dist'
    num_rows = 10
    seed = 17
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [sub]
    type = PODFullSolveMultiApp
    input_files = sub.i
    sampler = train_sample
    trainer_name = 'pod_rb'
    execute_on = 'timestep_begin final'
  []
[]
[Transfers]
  [quad]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = train_sample
    parameters = 'Materials/k/prop_values Materials/alpha/prop_values Kernels/source/value'
    to_control = 'stochastic'
    execute_on = 'timestep_begin'
    check_multiapp_execute_on = false
  []
  [data]
    type = PODSamplerSolutionTransfer
    multi_app = sub
    sampler = train_sample
    trainer_name = 'pod_rb'
    direction = 'from_multiapp'
    execute_on = 'timestep_begin'
    check_multiapp_execute_on = false
  []
  [mode]
    type = PODSamplerSolutionTransfer
    multi_app = sub
    sampler = train_sample
    trainer_name = 'pod_rb'
    direction = 'to_multiapp'
    execute_on = 'final'
    check_multiapp_execute_on = false
  []
  [res]
    type = PODResidualTransfer
    multi_app = sub
    sampler = train_sample
    trainer_name = "pod_rb"
    execute_on = 'final'
    check_multiapp_execute_on = false
  []
[]
[Trainers]
  [pod_rb]
    type = PODReducedBasisTrainer
    var_names = 'u'
    error_res = '1e-9'
    tag_names = 'diff react bodyf'
    tag_types = 'op op src'
    execute_on = 'timestep_begin final'
  []
[]
[Surrogates]
  [rbpod]
    type = PODReducedBasisSurrogate
    trainer = pod_rb
  []
[]
[VectorPostprocessors]
  [res]
    type = PODSurrogateTester
    model = rbpod
    sampler = test_sample
    variable_name = "u"
    to_compute = nodal_max
    execute_on = 'final'
  []
[]
(modules/stochastic_tools/test/tests/transfers/sobol/sobol.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    distributions = 'uniform_left uniform_right'
    num_rows = 3
    seed = 2011
  []
  [resample]
    type = MonteCarlo
    distributions = 'uniform_left uniform_right'
    num_rows = 3
    seed = 2013
  []
  [sobol]
    type = Sobol
    sampler_a = sample
    sampler_b = resample
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub.i
    sampler = sobol
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sobol
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
    execute_on = INITIAL
    check_multiapp_execute_on = false
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'INITIAL TIMESTEP_END'
[]
(modules/stochastic_tools/test/tests/transfers/sampler_transfer/errors/master_num_parameters_wrong.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform_left uniform_right'
    execute_on = 'initial timestep_end'
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub.i
    sampler = sample
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value BCs/right/value BCs/right/value'
    to_control = 'stochastic'
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'INITIAL TIMESTEP_END'
[]
(modules/stochastic_tools/test/tests/surrogates/pod_rb/internal/trainer_and_surr.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
  [alpha_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
  [S_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
[]
[Samplers]
  [train_sample]
    type = LatinHypercube
    distributions = 'k_dist alpha_dist S_dist'
    num_rows = 3
    execute_on = PRE_MULTIAPP_SETUP
  []
  [test_sample]
    type = LatinHypercube
    distributions = 'k_dist alpha_dist S_dist'
    num_rows = 10
    seed = 17
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [sub]
    type = PODFullSolveMultiApp
    input_files = sub.i
    sampler = train_sample
    trainer_name = 'pod_rb'
    execute_on = 'timestep_begin final'
  []
[]
[Transfers]
  [quad]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = train_sample
    parameters = 'Materials/k/prop_values Materials/alpha/prop_values Kernels/source/value'
    to_control = 'stochastic'
    execute_on = 'timestep_begin'
    check_multiapp_execute_on = false
  []
  [data]
    type = PODSamplerSolutionTransfer
    multi_app = sub
    sampler = train_sample
    trainer_name = 'pod_rb'
    direction = 'from_multiapp'
    execute_on = 'timestep_begin'
    check_multiapp_execute_on = false
  []
  [mode]
    type = PODSamplerSolutionTransfer
    multi_app = sub
    sampler = train_sample
    trainer_name = 'pod_rb'
    direction = 'to_multiapp'
    execute_on = 'final'
    check_multiapp_execute_on = false
  []
  [res]
    type = PODResidualTransfer
    multi_app = sub
    sampler = train_sample
    trainer_name = "pod_rb"
    execute_on = 'final'
    check_multiapp_execute_on = false
  []
[]
[Trainers]
  [pod_rb]
    type = PODReducedBasisTrainer
    var_names = 'u'
    error_res = '1e-9'
    tag_names = 'diff react bodyf'
    tag_types = 'op op src'
    execute_on = 'timestep_begin final'
  []
[]
[Surrogates]
  [rbpod]
    type = PODReducedBasisSurrogate
    trainer = pod_rb
  []
[]
[VectorPostprocessors]
  [res]
    type = PODSurrogateTester
    model = rbpod
    sampler = test_sample
    variable_name = "u"
    to_compute = nodal_max
    execute_on = 'final'
  []
[]
[Outputs]
  execute_on = 'final'
  csv = true
[]
(modules/stochastic_tools/test/tests/vectorpostprocessors/stochastic_results_complete_history/master.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 3
    distributions = 'uniform_left uniform_right'
    execute_on = 'INITIAL TIMESTEP_BEGIN'
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub.i
    sampler = sample
    execute_on = 'INITIAL TIMESTEP_BEGIN'
  []
[]
[Transfers]
  [runner]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = sample
    to_vector_postprocessor = storage
    from_postprocessor = avg
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
    parallel_type = REPLICATED
    contains_complete_history = true
    execute_on = 'INITIAL TIMESTEP_END'
  []
[]
[Executioner]
  type = Transient
  num_steps = 2
[]
[Outputs]
  [out]
    type = CSV
  []
[]
(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
    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'
    to_control = 'stochastic'
    check_multiapp_execute_on = false
  []
  [data]
    type = SamplerReporterTransfer
    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/pod_rb/internal/trainer.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
  [alpha_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 = LatinHypercube
    distributions = 'k_dist alpha_dist S_dist'
    num_rows = 3
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [sub]
    type = PODFullSolveMultiApp
    input_files = sub.i
    sampler = sample
    trainer_name = 'pod_rb'
    execute_on = 'timestep_begin final'
  []
[]
[Transfers]
  [param]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'Materials/k/prop_values Materials/alpha/prop_values Kernels/source/value'
    to_control = 'stochastic'
    execute_on = 'timestep_begin'
    check_multiapp_execute_on = false
  []
  [snapshots]
    type = PODSamplerSolutionTransfer
    multi_app = sub
    sampler = sample
    trainer_name = 'pod_rb'
    direction = 'from_multiapp'
    execute_on = 'timestep_begin'
    check_multiapp_execute_on = false
  []
  [pod_modes]
    type = PODSamplerSolutionTransfer
    multi_app = sub
    sampler = sample
    trainer_name = 'pod_rb'
    direction = 'to_multiapp'
    execute_on = 'final'
    check_multiapp_execute_on = false
  []
  [res]
    type = PODResidualTransfer
    multi_app = sub
    sampler = sample
    trainer_name = "pod_rb"
    execute_on = 'final'
    check_multiapp_execute_on = false
  []
[]
[Trainers]
  [pod_rb]
    type = PODReducedBasisTrainer
    var_names = 'u'
    error_res = '1e-9'
    tag_names = 'diff react bodyf'
    tag_types = 'op op src'
    execute_on = 'timestep_begin final'
  []
[]
[Outputs]
  [out]
    type = SurrogateTrainerOutput
    trainers = 'pod_rb'
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/examples/surrogates/pod_rb/2d_multireg/full_order.i)
[StochasticTools]
[]
[Distributions]
  [D012_dist]
    type = Uniform
    lower_bound = 0.2
    upper_bound = 0.8
  []
  [D3_dist]
    type = Uniform
    lower_bound = 0.15
    upper_bound = 0.6
  []
  [absxs0_dist]
    type = Uniform
    lower_bound = 0.0425
    upper_bound = 0.17
  []
  [absxs1_dist]
    type = Uniform
    lower_bound = 0.065
    upper_bound = 0.26
  []
  [absxs2_dist]
    type = Uniform
    lower_bound = 0.04
    upper_bound = 0.16
  []
  [absxs3_dist]
    type = Uniform
    lower_bound = 0.005
    upper_bound = 0.02
  []
  [src_dist]
    type = Uniform
    lower_bound = 5
    upper_bound = 20
  []
[]
[Samplers]
  [sample]
    type = LatinHypercube
    distributions = 'D012_dist D012_dist D012_dist D3_dist
                     absxs0_dist absxs1_dist absxs2_dist absxs3_dist
                     src_dist src_dist src_dist'
    num_rows = 1000
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [runner]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = sample
    execute_on = 'timestep_begin'
  []
[]
[Transfers]
  [quad]
    type = SamplerParameterTransfer
    multi_app = runner
    sampler = sample
    parameters = 'Materials/D0/prop_values
                  Materials/D1/prop_values
                  Materials/D2/prop_values
                  Materials/D3/prop_values
                  Materials/absxs0/prop_values
                  Materials/absxs1/prop_values
                  Materials/absxs2/prop_values
                  Materials/absxs3/prop_values
                  Kernels/src0/value
                  Kernels/src1/value
                  Kernels/src2/value'
    to_control = 'stochastic'
    execute_on = 'timestep_begin'
  []
  [results]
    type = SamplerPostprocessorTransfer
    multi_app = runner
    sampler = sample
    to_vector_postprocessor = results
    from_postprocessor = 'nodal_l2'
  []
[]
[VectorPostprocessors]
  [results]
    type = StochasticResults
  []
[]
[Outputs]
  csv = true
[]
(modules/stochastic_tools/test/tests/transfers/sampler_transfer/errors/master_transfer_wrong_sampler.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 3
    distributions = 'uniform'
    execute_on = INITIAL # create random numbers on initial and use them for each timestep
  []
  [wrong]
    type = MonteCarlo
    num_rows = 3
    distributions = 'uniform'
    execute_on = INITIAL # create random numbers on initial and use them for each timestep
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    sampler = sample
    input_files = sub.i
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = wrong
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochasticsub'
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'INITIAL TIMESTEP_END'
[]
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_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
    multi_app = quad_sub
    sampler = quadrature
    parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = quad_sub
    sampler = quadrature
    to_vector_postprocessor = storage
    from_postprocessor = avg
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
    parallel_type = REPLICATED
  []
  [local_sense]
    type = PolynomialChaosLocalSensitivity
    pc_name = poly_chaos
    local_points_sampler = grid
    local_points = '3.14159 3.14159 2.7182 3.14159 3.14159 2.7182 2.7182 2.7182'
    output_points = true
    sensitivity_parameters = '0 1'
    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
  []
[]
[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 = MultiAppCommandLineControl
  multi_app = sub
  param_names = 'Postprocessors/pp1/scale_factor'
[]
[Transfers]
  [param]
    type = SamplerParameterTransfer
    multi_app = sub
    to_control = receiver
    parameters = 'Postprocessors/pp2/scale_factor'
  []
  [rep]
    type = SamplerReporterTransfer
    multi_app = sub
    stochastic_reporter = reporter
    from_reporter = 'pp1/value'
  []
  [pp]
    type = SamplerPostprocessorTransfer
    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/transfers/sampler_postprocessor/errors/wrong_multi_app.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 3
    distributions = 'uniform_left uniform_right'
    execute_on = INITIAL # create random numbers on initial and use them for each timestep
  []
[]
[MultiApps]
  [sub]
    type = TransientMultiApp
    input_files = sub.i
    positions = '0 0 0'
  []
[]
[Transfers]
  [runner]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
    execute_on = INITIAL
    check_multiapp_execute_on = false
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = sample
    to_vector_postprocessor = storage
    from_postprocessor = avg
    execute_on = timestep_end
    check_multiapp_execute_on = false
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  csv = true
[]
(modules/stochastic_tools/examples/batch/transient.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform]
    type = Uniform
    lower_bound = 1
    upper_bound = 9
  []
[]
[Samplers]
  [mc]
    type = MonteCarlo
    num_rows = 10
    distributions = 'uniform uniform'
  []
[]
[Executioner]
  type = Transient
  num_steps = 10
[]
[MultiApps]
  [runner]
    type = SamplerFullSolveMultiApp
    sampler = mc
    input_files = 'sub.i'
    execute_on = 'INITIAL TIMESTEP_END'
    mode = batch-restore
  []
[]
[Transfers]
  [runner]
    type = SamplerParameterTransfer
    multi_app = runner
    parameters = 'BCs/left/value BCs/right/value'
    to_control = receiver
    sampler = mc
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = runner
    to_vector_postprocessor = storage
    from_postprocessor = average
    sampler = mc
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
  []
[]
[Postprocessors]
  [total]
    type = MemoryUsage
    execute_on = 'INITIAL TIMESTEP_END'
  []
  [per_proc]
    type = MemoryUsage
    value_type = "average"
    execute_on = 'INITIAL TIMESTEP_END'
  []
  [max_proc]
    type = MemoryUsage
    value_type = "max_process"
    execute_on = 'INITIAL TIMESTEP_END'
  []
[]
[Outputs]
  csv = true
  perf_graph = true
[]
(modules/stochastic_tools/test/tests/multiapps/transient_with_full_solve/main.i)
[StochasticTools]
[]
[Distributions]
  [uniform]
    type = Uniform
    lower_bound = 1
    upper_bound = 10
  []
[]
[Samplers]
  [dynamic]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform'
  []
[]
[MultiApps]
  [runner]
    type = SamplerFullSolveMultiApp
    sampler = dynamic
    input_files = 'sub.i'
  []
[]
[Transfers]
  [parameters]
    type = SamplerParameterTransfer
    multi_app = runner
    sampler = dynamic
    parameters = 'BCs/right/value'
    to_control = 'stochastic'
  []
  [results]
    type = SamplerPostprocessorTransfer
    multi_app = runner
    sampler = dynamic
    to_vector_postprocessor = results
    from_postprocessor = 'center'
  []
[]
[Executioner]
  type = Transient
  num_steps = 2
[]
[VectorPostprocessors]
  [results]
    type = StochasticResults
  []
[]
[Outputs]
  [out]
    type = JSON
    execute_system_information_on = NONE
    vectorpostprocessors_as_reporters = true
  []
[]
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_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
    multi_app = quad_sub
    sampler = sample
    parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerReporterTransfer
    multi_app = quad_sub
    sampler = sample
    stochastic_reporter = storage
    from_reporter = avg/value
  []
[]
[Reporters]
  [storage]
    type = StochasticReporter
  []
[]
[VectorPostprocessors]
  [pc_coeff]
    type = PolynomialChaosData
    pc_name = poly_chaos
    execute_on = final
  []
  [pc_samp]
    type = EvaluateSurrogate
    model = poly_chaos
    sampler = sample
    output_samples = true
    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
  []
[]
[Outputs]
  [out]
    type = CSV
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/test/tests/transfers/errors/master_missing_control.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform_left uniform_right'
    execute_on = 'initial timestep_end'
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub_missing_control.i
    sampler = sample
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'INITIAL TIMESTEP_END'
[]
(modules/stochastic_tools/test/tests/transfers/errors/master_multiapp_type_error.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform'
    execute_on = 'initial timestep_end'
  []
[]
[MultiApps]
  [sub]
    type = TransientMultiApp
    input_files = sub.i
    positions = '0 0 0'
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochasticsub'
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'INITIAL TIMESTEP_END'
[]
(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
    multi_app = sub
    sampler = sample
    stochastic_reporter = storage
    from_reporter = 'pp/value constant/str mesh/sidesets'
  []
  [runner]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value'
    to_control = stm
  []
[]
[Reporters]
  [storage]
    type = StochasticReporter
  []
[]
[Outputs]
  [out]
    type = JSON
    execute_system_information_on = none
  []
[]
(modules/stochastic_tools/examples/parameter_study/nonlin_diff_react/nonlin_diff_react_master_uniform.i)
[StochasticTools]
[]
[Distributions]
  [mu1]
    type = Uniform
    lower_bound = 0.21
    upper_bound = 0.39
  []
  [mu2]
    type = Uniform
    lower_bound = 6.3
    upper_bound = 11.7
  []
[]
[Samplers]
  [hypercube]
    type = LatinHypercube
    num_rows = 5000
    distributions = 'mu1 mu2'
  []
[]
[MultiApps]
  [runner]
    type = SamplerFullSolveMultiApp
    sampler = hypercube
    input_files = 'nonlin_diff_react_sub.i'
    mode = batch-restore
  []
[]
[Transfers]
  [parameters]
    type = SamplerParameterTransfer
    multi_app = runner
    sampler = hypercube
    parameters = 'Kernels/nonlin_function/mu1 Kernels/nonlin_function/mu2'
    to_control = 'stochastic'
  []
  [results]
    type = SamplerPostprocessorTransfer
    multi_app = runner
    sampler = hypercube
    to_vector_postprocessor = results
    from_postprocessor = 'max min average'
  []
[]
[VectorPostprocessors]
  [results]
    type = StochasticResults
  []
  [stats]
    type = Statistics
    vectorpostprocessors = results
    compute = 'mean'
    ci_method = 'percentile'
    ci_levels = '0.05'
  []
[]
[Outputs]
  csv = true
  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 = MultiAppCommandLineControl
  multi_app = sub
  param_names = 'Postprocessors/pp1/scale_factor'
[]
[Transfers]
  [param]
    type = SamplerParameterTransfer
    multi_app = sub
    to_control = receiver
    parameters = 'Postprocessors/pp2/scale_factor'
  []
  [rep]
    type = SamplerReporterTransfer
    multi_app = sub
    stochastic_reporter = reporter
    from_reporter = 'pp1/value'
  []
  [pp]
    type = SamplerPostprocessorTransfer
    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/stochastic_tools/test/tests/transfers/sampler_postprocessor/master.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    distributions = 'uniform_left uniform_right'
    num_rows = 3
    seed = 2011
  []
  [resample]
    type = MonteCarlo
    distributions = 'uniform_left uniform_right'
    num_rows = 3
    seed = 2013
  []
  [sobol]
    type = Sobol
    sampler_a = sample
    sampler_b = resample
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub.i
    sampler = sobol
    execute_on = 'INITIAL TIMESTEP_BEGIN'
  []
[]
[Transfers]
  [runner]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sobol
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
    execute_on = INITIAL
    check_multiapp_execute_on = false
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = sobol
    to_vector_postprocessor = storage
    from_postprocessor = avg
    execute_on = TIMESTEP_BEGIN
    check_multiapp_execute_on = false
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
    execute_on = 'INITIAL TIMESTEP_END'
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  csv = true
[]
(modules/stochastic_tools/test/tests/transfers/sampler_transfer/errors/master_multiapp_type_error.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 3
    distributions = 'uniform'
    execute_on = INITIAL # create random numbers on initial and use them for each timestep
  []
[]
[MultiApps]
  [sub]
    type = TransientMultiApp
    input_files = sub.i
    positions = '0 0 0'
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochasticsub'
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'INITIAL TIMESTEP_END'
[]
(modules/stochastic_tools/examples/parameter_study/master.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 = -10
    standard_deviation = 1.5
  []
  [s]
    type = Normal
    mean = 1
    standard_deviation = 0.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
    multi_app = runner
    sampler = hypercube
    parameters = 'Materials/constant/prop_values Kernels/source/value BCs/right/value BCs/left/value'
    to_control = 'stochastic'
  []
  [results]
    type = SamplerPostprocessorTransfer
    multi_app = runner
    sampler = hypercube
    to_vector_postprocessor = results
    from_postprocessor = 'T_avg q_left'
  []
[]
[VectorPostprocessors]
  [results]
    type = StochasticResults
  []
  [samples]
    type = SamplerData
    sampler = hypercube
  []
  [stats]
    type = Statistics
    vectorpostprocessors = results
    compute = 'mean'
    ci_method = 'percentile'
    ci_levels = '0.05'
  []
[]
[Outputs]
  csv = true
  execute_on = 'FINAL'
[]
(modules/stochastic_tools/examples/parameter_study/nonlin_diff_react/nonlin_diff_react_master_normal.i)
[StochasticTools]
[]
[Distributions]
  [mu1]
    type = Normal
    mean = 0.3
    standard_deviation = 0.045
  []
  [mu2]
    type = Normal
    mean = 9
    standard_deviation = 1.35
  []
[]
[Samplers]
  [hypercube]
    type = LatinHypercube
    num_rows = 5000
    distributions = 'mu1 mu2'
  []
[]
[MultiApps]
  [runner]
    type = SamplerFullSolveMultiApp
    sampler = hypercube
    input_files = 'nonlin_diff_react_sub.i'
    mode = batch-restore
  []
[]
[Transfers]
  [parameters]
    type = SamplerParameterTransfer
    multi_app = runner
    sampler = hypercube
    parameters = 'Kernels/nonlin_function/mu1 Kernels/nonlin_function/mu2'
    to_control = 'stochastic'
  []
  [results]
    type = SamplerPostprocessorTransfer
    multi_app = runner
    sampler = hypercube
    to_vector_postprocessor = results
    from_postprocessor = 'max min average'
  []
[]
[VectorPostprocessors]
  [results]
    type = StochasticResults
  []
  [stats]
    type = Statistics
    vectorpostprocessors = results
    compute = 'mean'
    ci_method = 'percentile'
    ci_levels = '0.05'
  []
[]
[Outputs]
  csv = true
  execute_on = 'FINAL'
[]
(modules/stochastic_tools/test/tests/transfers/sampler_postprocessor/errors/require_stochastic_results.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 3
    distributions = 'uniform_left uniform_right'
    execute_on = INITIAL # create random numbers on initial and use them for each timestep
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub.i
    sampler = sample
  []
[]
[Transfers]
  [runner]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
    execute_on = INITIAL
    check_multiapp_execute_on = false
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = sample
    to_vector_postprocessor = storage
    from_postprocessor = avg
    execute_on = timestep_end
    check_multiapp_execute_on = false
  []
[]
[VectorPostprocessors]
  [storage]
    type = ConstantVectorPostprocessor
    value = 0
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  csv = true
[]
(modules/stochastic_tools/test/tests/transfers/errors/master_num_parameters_wrong.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform_left uniform_right'
    execute_on = 'initial timestep_end'
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub.i
    sampler = sample
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value BCs/right/value BCs/right/value'
    to_control = 'stochastic'
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'INITIAL TIMESTEP_END'
[]
(modules/stochastic_tools/test/tests/vectorpostprocessors/multiple_stochastic_results/master.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    distributions = 'uniform_left uniform_right'
    num_rows = 3
    seed = 2011
  []
  [resample]
    type = MonteCarlo
    distributions = 'uniform_left uniform_right'
    num_rows = 3
    seed = 2013
  []
  [sobol]
    type = Sobol
    sampler_a = sample
    sampler_b = resample
  []
  [mc]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform_left uniform_right'
    execute_on = INITIAL # create random numbers on initial and use them for each timestep
  []
[]
[MultiApps]
  [sobol]
    type = SamplerTransientMultiApp
    input_files = sub.i
    sampler = sobol
  []
  [mc]
    type = SamplerTransientMultiApp
    input_files = sub.i
    sampler = mc
  []
[]
[Transfers]
  [sobol]
    type = SamplerParameterTransfer
    multi_app = sobol
    sampler = sobol
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
  []
  [sobol_data]
    type = SamplerPostprocessorTransfer
    multi_app = sobol
    sampler = sobol
    to_vector_postprocessor = storage
    from_postprocessor = avg
  []
  [mc]
    type = SamplerParameterTransfer
    multi_app = mc
    sampler = mc
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
  []
  [mc_data]
    type = SamplerPostprocessorTransfer
    multi_app = mc
    sampler = mc
    to_vector_postprocessor = storage
    from_postprocessor = "avg max"
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
    parallel_type = REPLICATED
  []
[]
[Executioner]
  type = Transient
  num_steps = 1
[]
[Outputs]
  [out]
    type = CSV
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/test/tests/transfers/errors/master_wrong_control.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform_left uniform_right'
    execute_on = 'initial timestep_end'
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub_wrong_control.i
    sampler = sample
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'INITIAL TIMESTEP_END'
[]
(modules/stochastic_tools/test/tests/transfers/sampler_transfer/errors/master_wrong_control.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform_left uniform_right'
    execute_on = 'initial timestep_end'
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub_wrong_control.i
    sampler = sample
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'INITIAL TIMESTEP_END'
[]
(modules/stochastic_tools/test/tests/surrogates/pod_rb/errors/trainer.i)
[StochasticTools]
[]
[Distributions]
  [k_dist]
    type = Uniform
    lower_bound = 2.5
    upper_bound = 7.5
  []
  [alpha_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 = LatinHypercube
    distributions = 'k_dist alpha_dist S_dist'
    num_rows = 3
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [sub]
    type = PODFullSolveMultiApp
    input_files = sub.i
    sampler = sample
    trainer_name = 'pod_rb'
    execute_on = 'timestep_begin final'
  []
[]
[Transfers]
  [param]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'Materials/k/prop_values Materials/alpha/prop_values Kernels/source/value'
    to_control = 'stochastic'
    execute_on = 'timestep_begin'
    check_multiapp_execute_on = false
  []
  [snapshot]
    type = PODSamplerSolutionTransfer
    multi_app = sub
    sampler = sample
    trainer_name = 'pod_rb'
    direction = 'from_multiapp'
    execute_on = 'timestep_begin'
    check_multiapp_execute_on = false
  []
  [mode]
    type = PODSamplerSolutionTransfer
    multi_app = sub
    sampler = sample
    trainer_name = 'pod_rb'
    direction = 'to_multiapp'
    execute_on = 'final'
    check_multiapp_execute_on = false
  []
  [res]
    type = PODResidualTransfer
    multi_app = sub
    sampler = sample
    trainer_name = "pod_rb"
    execute_on = 'final'
    check_multiapp_execute_on = false
  []
[]
[Trainers]
  [pod_rb]
    type = PODReducedBasisTrainer
    var_names = 'u'
    error_res = '1e-9'
    tag_names = 'diff react bodyf'
    tag_types = 'op op src'
    execute_on = 'timestep_begin final'
  []
[]
[Outputs]
  [out]
    type = SurrogateTrainerOutput
    trainers = 'pod_rb'
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/test/tests/multiapps/batch_sampler_transient_multiapp/master_transient.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform]
    type = Uniform
    lower_bound = 2
    upper_bound = 4
  []
[]
[Samplers]
  [mc]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform uniform'
    execute_on = 'INITIAL TIMESTEP_BEGIN'
  []
[]
[Executioner]
  type = Transient
  num_steps = 3
[]
[MultiApps]
  [runner]
    type = SamplerTransientMultiApp
    sampler = mc
    input_files = 'sub.i'
    execute_on = 'INITIAL TIMESTEP_BEGIN'
    mode = batch-restore
  []
[]
[Transfers]
  [runner]
    type = SamplerParameterTransfer
    multi_app = runner
    sampler = mc
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = runner
    sampler = mc
    to_vector_postprocessor = storage
    from_postprocessor = average
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
    execute_on = 'INITIAL TIMESTEP_END'
  []
[]
[Outputs]
  csv = true
[]
(modules/stochastic_tools/test/tests/transfers/sampler_transfer_vector/master_size_mismatch.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_prop_a]
    type = Uniform
    lower_bound = 1980
    upper_bound = 1981
  []
  [uniform_prop_b]
    type = Uniform
    lower_bound = 1949
    upper_bound = 1950
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform_prop_a uniform_prop_b'
    execute_on = 'initial timestep_end' # create new random numbers on initial and timestep_end
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub.i
    sampler = sample
    execute_on = 'initial timestep_end'
  []
[]
[Transfers]
  [sub]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sample
    parameters = 'Materials/*/prop_values'
    to_control = 'stochastic'
    execute_on = 'initial timestep_end'
    check_multiapp_execute_on = false
  []
[]
[Executioner]
  type = Transient
  num_steps = 5
  dt = 0.01
[]
[Outputs]
  execute_on = 'initial timestep_end'
[]
(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
    multi_app = quad_sub
    sampler = quadrature
    parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = quad_sub
    sampler = quadrature
    to_vector_postprocessor = storage
    from_postprocessor = avg
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
    parallel_type = REPLICATED
  []
[]
[Trainers]
  [poly_chaos]
    type = PolynomialChaosTrainer
    execute_on = timestep_end
    order = 5
    distributions = 'D_dist S_dist'
    sampler = quadrature
    response = storage/data:avg
  []
[]
[Outputs]
  [out]
    type = SurrogateTrainerOutput
    trainers = 'poly_chaos'
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_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
    multi_app = quad_sub
    sampler = quadrature
    parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = quad_sub
    sampler = quadrature
    to_vector_postprocessor = storage
    from_postprocessor = avg
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
    parallel_type = REPLICATED
  []
  [pc_coeff]
    type = PolynomialChaosData
    pc_name = poly_chaos
    execute_on = final
  []
  [pc_samp]
    type = EvaluateSurrogate
    model = poly_chaos
    sampler = sample
    output_samples = true
    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
  []
[]
[Outputs]
  [out]
    type = CSV
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/test/tests/vectorpostprocessors/stochastic_results/master.i)
[StochasticTools]
  auto_create_executioner = false
[]
[Distributions]
  [uniform_left]
    type = Uniform
    lower_bound = 0
    upper_bound = 0.5
  []
  [uniform_right]
    type = Uniform
    lower_bound = 1
    upper_bound = 2
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    distributions = 'uniform_left uniform_right'
    num_rows = 3
    seed = 2011
  []
  [resample]
    type = MonteCarlo
    distributions = 'uniform_left uniform_right'
    num_rows = 3
    seed = 2013
  []
  [sobol]
    type = Sobol
    sampler_a = sample
    sampler_b = resample
  []
[]
[MultiApps]
  [sub]
    type = SamplerTransientMultiApp
    input_files = sub.i
    sampler = sobol
  []
[]
[Transfers]
  [runner]
    type = SamplerParameterTransfer
    multi_app = sub
    sampler = sobol
    parameters = 'BCs/left/value BCs/right/value'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = sobol
    to_vector_postprocessor = storage
    from_postprocessor = avg
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
    parallel_type = DISTRIBUTED
  []
[]
[Executioner]
  type = Transient
  num_steps = 1
[]
[Outputs]
  [out]
    type = CSV
    execute_on = FINAL
  []
[]
(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
    multi_app = quad_sub
    sampler = quadrature
    parameters = 'Materials/diffusivity/prop_values Materials/xs/prop_values'
    to_control = 'stochastic'
  []
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = quad_sub
    sampler = quadrature
    to_vector_postprocessor = storage
    from_postprocessor = avg
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
    parallel_type = REPLICATED
  []
  [pc_moments]
    type = PolynomialChaosStatistics
    pc_name = poly_chaos
    compute = 'mean stddev skewness kurtosis'
    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
  []
[]
[Surrogates]
  [poly_chaos]
    type = PolynomialChaos
    trainer = poly_chaos
  []
[]
[Outputs]
  csv = true
  execute_on = FINAL
[]