- multi_appThe name of the MultiApp to use.
C++ Type:MultiAppName
Description:The name of the MultiApp to use.
 
SamplerPostprocessorTransfer
Transfers data from Postprocessors on the sub-application to a VectorPostprocessor on the master application.
Overview
This object is designed to transfer data from a Postprocessor to a VectorPostprocessor on the master application. This object must transfer data to a StochasticResults object.
Dealing with Failed Solves
When performing stochastic analysis with many perturbations of a sub-application, it is sometimes the case where the app receives a set of parameters that makes the solve difficult to converge. With the default configuration of this object, if one of sub-applications' solve fails, the main application will abort. If it is expected that some solves might not converge and aborting the main application is not the desired behavior, the parameter "ignore_solve_not_converge" must be set to true in the MultiApps block (see SamplerFullSolveMultiApp for more details). There are two options for how to transfer results from failed sub-applications: 1) "keep_solve_fail_value" is set to false (default) will transfer a NaN to StochasticResults and 2) "keep_solve_fail_value" is set to true will transfer whatever the last computed value of the postprocessor was before the solve failed.
Example Syntax
[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
  []
[]
(modules/stochastic_tools/test/tests/transfers/sampler_postprocessor/master.i)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.
 - from_postprocessorThe name(s) of the Postprocessor(s) on the sub-app to transfer from.
C++ Type:std::vector<PostprocessorName>
Options:
Description:The name(s) of the Postprocessor(s) on the sub-app to transfer from.
 - keep_solve_fail_valueFalseIf true, whatever the value the sub app has upon exitting is used. If false, NaN will be transferred.
Default:False
C++ Type:bool
Options:
Description:If true, whatever the value the sub app has upon exitting is used. If false, NaN will be transferred.
 - prefixUse the supplied string as the prefix for vector postprocessor name rather than the transfer name.
C++ Type:std::string
Options:
Description:Use the supplied string as the prefix for vector postprocessor name rather than the transfer name.
 - samplerA the Sampler object that Transfer is associated..
C++ Type:SamplerName
Options:
Description:A the Sampler object that Transfer is associated..
 - to_vector_postprocessorThe name of the VectorPostprocessor in the MultiApp to transfer values to.
C++ Type:VectorPostprocessorName
Options:
Description:The name of the VectorPostprocessor in the MultiApp to transfer values to.
 
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/test/tests/multiapps/batch_commandline_control/master_vector.i)
 - (modules/combined/examples/stochastic/lhs_uniform.i)
 - (modules/stochastic_tools/examples/sobol/master.i)
 - (modules/stochastic_tools/examples/batch/full_solve.i)
 - (modules/stochastic_tools/test/tests/transfers/batch_sampler_transfer/master.i)
 - (modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2d_quad_locs.i)
 - (modules/stochastic_tools/test/tests/multiapps/batch_full_solve_multiapp/master_full_solve.i)
 - (modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2d_quad_moment.i)
 - (modules/stochastic_tools/test/tests/transfers/batch_sampler_transfer/master_2sub.i)
 - (modules/stochastic_tools/test/tests/multiapps/dynamic_sub_app_number/main.i)
 - (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_squared_exponential.i)
 - (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_Matern_half_int_tuned.i)
 - (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_exponential.i)
 - (modules/stochastic_tools/test/tests/multiapps/batch_commandline_control/master_multiple.i)
 - (modules/stochastic_tools/examples/surrogates/combined/trans_diff_2d/trans_diff_main.i)
 - (modules/stochastic_tools/test/tests/vectorpostprocessors/stochastic_results_complete_history/master.i)
 - (modules/stochastic_tools/examples/surrogates/pod_rb/2d_multireg/full_order.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/batch_commandline_control/master_single.i)
 - (modules/stochastic_tools/test/tests/multiapps/transient_with_full_solve/main.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/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/examples/parameter_study/master.i)
 - (modules/stochastic_tools/test/tests/transfers/sampler_postprocessor/cartesian_diverge.i)
 - (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_Matern_half_int.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/vectorpostprocessors/multiple_stochastic_results/master.i)
 - (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_squared_exponential_tuned.i)
 - (modules/stochastic_tools/test/tests/multiapps/batch_sampler_transient_multiapp/master_transient.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)
 
ignore_solve_not_converge
Default:False
C++ Type:bool
Options:
Description:True to continue main app even if a sub app's solve does not converge.
keep_solve_fail_value
Default:False
C++ Type:bool
Options:
Description:If true, whatever the value the sub app has upon exitting is used. If false, NaN will be transferred.
keep_solve_fail_value
Default:False
C++ Type:bool
Options:
Description:If true, whatever the value the sub app has upon exitting is used. If false, NaN will be transferred.
(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/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/test/tests/multiapps/batch_commandline_control/master_vector.i)
[StochasticTools]
[]
[Distributions]
  [uniform]
    type = Uniform
    lower_bound = 5
    upper_bound = 10
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 3
    distributions = 'uniform uniform uniform uniform'
    execute_on = 'PRE_MULTIAPP_SETUP'
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    sampler = sample
    input_files = 'sub.i'
    mode = batch-reset
  []
[]
[Transfers]
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = sample
    to_vector_postprocessor = storage
    from_postprocessor = size
  []
  [prop_A]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = sample
    to_vector_postprocessor = prop_A
    from_postprocessor = prop_A
  []
  [prop_B]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = sample
    to_vector_postprocessor = prop_B
    from_postprocessor = prop_B
  []
  [prop_C]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = sample
    to_vector_postprocessor = prop_C
    from_postprocessor = prop_C
  []
  [prop_D]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = sample
    to_vector_postprocessor = prop_D
    from_postprocessor = prop_D
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
  []
  [prop_A]
    type = StochasticResults
  []
  [prop_B]
    type = StochasticResults
  []
  [prop_C]
    type = StochasticResults
  []
  [prop_D]
    type = StochasticResults
  []
  [sample_data]
    type = SamplerData
    sampler = sample
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = sub
    sampler = sample
    param_names = 'Mesh/xmax[0] Materials/const/prop_values[1,(1.5),2,2] Mesh/ymax[3]'
  []
[]
[Outputs]
  [out]
    type = CSV
    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/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/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/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/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/multiapps/batch_full_solve_multiapp/master_full_solve.i)
[StochasticTools]
[]
[Distributions]
  [uniform_0]
    type = Uniform
    lower_bound = 0.1
    upper_bound = 0.3
  []
[]
[Samplers]
  [mc]
    type = MonteCarlo
    num_rows = 5
    distributions = 'uniform_0'
  []
[]
[MultiApps]
  [runner]
    type = SamplerFullSolveMultiApp
    sampler = mc
    input_files = 'sub.i'
    mode = batch-reset
  []
[]
[Transfers]
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = runner
    sampler = mc
    to_vector_postprocessor = storage
    from_postprocessor = average
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
  []
[]
[Outputs]
  csv = true
  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/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/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/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 = MultiAppCommandLineControl
    multi_app = sub
    sampler = train_sample
    param_names = 'Materials/conductivity/prop_values Kernels/source/value'
  []
[]
[Transfers]
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = train_sample
    to_vector_postprocessor = results
    from_postprocessor = 'avg'
  []
[]
[VectorPostprocessors]
  [results]
    type = StochasticResults
  []
  [samp_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = test_sample
    output_samples = true
    execute_on = final
  []
  [train_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = train_sample
    output_samples = true
    execute_on = final
  []
  [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
  []
[]
[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_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 = MultiAppCommandLineControl
    multi_app = sub
    sampler = train_sample
    param_names = 'Materials/conductivity/prop_values Kernels/source/value'
  []
[]
[Transfers]
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = train_sample
    to_vector_postprocessor = results
    from_postprocessor = 'avg'
  []
[]
[VectorPostprocessors]
  [results]
    type = StochasticResults
  []
  [samp_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = test_sample
    output_samples = true
    execute_on = final
  []
  [train_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = train_sample
    output_samples = true
    execute_on = final
  []
  [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
    tao_options = '-tao_bncg_type ssml_bfgs'
    tune_parameters = ' signal_variance length_factor'
    tuning_min = ' 1e-9 1e-9'
    tuning_max = ' 1e16  1e16'
  []
[]
[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/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 = MultiAppCommandLineControl
    multi_app = sub
    sampler = train_sample
    param_names = 'Materials/conductivity/prop_values Kernels/source/value'
  []
[]
[Transfers]
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = train_sample
    to_vector_postprocessor = results
    from_postprocessor = 'avg'
  []
[]
[VectorPostprocessors]
  [results]
    type = StochasticResults
  []
  [samp_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = test_sample
    output_samples = true
    execute_on = final
  []
  [train_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = train_sample
    output_samples = true
    execute_on = final
  []
  [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
  []
[]
[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/multiapps/batch_commandline_control/master_multiple.i)
[StochasticTools]
[]
[Distributions]
  [uniform]
    type = Uniform
    lower_bound = 5
    upper_bound = 10
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 3
    distributions = 'uniform uniform'
    execute_on = 'PRE_MULTIAPP_SETUP'
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    sampler = sample
    input_files = 'sub.i'
  []
[]
[Transfers]
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = sample
    to_vector_postprocessor = storage
    from_postprocessor = size
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = sub
    sampler = sample
    param_names = 'Mesh/xmax Mesh/ymax'
  []
[]
[Outputs]
  [out]
    type = CSV
    execute_on = FINAL
  []
[]
(modules/stochastic_tools/examples/surrogates/combined/trans_diff_2d/trans_diff_main.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]
  [hypercube]
    type = LatinHypercube
    num_rows = 2000
    distributions = 'C_dist f_dist init_dist'
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [runner]
    type = SamplerFullSolveMultiApp
    sampler = hypercube
    input_files = 'trans_diff_sub.i'
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = runner
    sampler = hypercube
    param_names = 'Materials/diff_coeff/constant_expressions Functions/src_func/vals Variables/T/initial_condition'
  []
[]
[Transfers]
  [results]
    type = SamplerPostprocessorTransfer
    multi_app = runner
    sampler = hypercube
    to_vector_postprocessor = results
    from_postprocessor = 'time_max time_min'
  []
[]
[VectorPostprocessors]
  [results]
    type = StochasticResults
  []
  [stats]
    type = Statistics
    vectorpostprocessors = results
    compute = 'mean stddev'
    ci_method = 'percentile'
    ci_levels = '0.05'
  []
[]
[Outputs]
  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/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/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/batch_commandline_control/master_single.i)
[StochasticTools]
[]
[Distributions]
  [uniform]
    type = Uniform
    lower_bound = 5
    upper_bound = 10
  []
[]
[Samplers]
  [sample]
    type = MonteCarlo
    num_rows = 3
    distributions = 'uniform'
    execute_on = 'PRE_MULTIAPP_SETUP'
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    sampler = sample
    input_files = 'sub.i'
    mode = batch-reset
  []
[]
[Transfers]
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = sample
    to_vector_postprocessor = storage
    from_postprocessor = size
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = sub
    sampler = sample
    param_names = 'Mesh/xmax'
  []
[]
[Outputs]
  [out]
    type = CSV
    execute_on = FINAL
  []
[]
(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/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 = MultiAppCommandLineControl
    multi_app = sub
    sampler = train_sample
    param_names = 'Materials/conductivity/prop_values Kernels/source/value'
  []
[]
[Transfers]
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = train_sample
    to_vector_postprocessor = results
    from_postprocessor = 'avg'
  []
[]
[VectorPostprocessors]
  [results]
    type = StochasticResults
  []
  [samp_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = test_sample
    output_samples = true
    execute_on = final
  []
  [train_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = train_sample
    output_samples = true
    execute_on = final
  []
  [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
    tao_options = '-tao_bncg_type ssml_bfgs'
    tune_parameters = 'signal_variance length_factor'
    tuning_min = ' 1e-9 1e-9'
    tuning_max = ' 1e16  1e16'
  []
[]
[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 = MultiAppCommandLineControl
    multi_app = sub
    sampler = train_sample
    param_names = 'Materials/conductivity/prop_values Kernels/source/value'
  []
[]
[Transfers]
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = train_sample
    to_vector_postprocessor = results
    from_postprocessor = 'avg'
  []
[]
[VectorPostprocessors]
  [results]
    type = StochasticResults
  []
[]
[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
  []
[]
[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/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/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/test/tests/transfers/sampler_postprocessor/cartesian_diverge.i)
[StochasticTools]
[]
[Samplers]
  [cartesian]
    type = CartesianProduct
    linear_space_items = '0 1e-6 5'
    execute_on = PRE_MULTIAPP_SETUP
  []
[]
[MultiApps]
  [sub]
    type = SamplerFullSolveMultiApp
    input_files = sub.i
    sampler = cartesian
    # This parameter will allow the main app to continue if a solve does not converge
    ignore_solve_not_converge = true # Default: false
  []
[]
[Transfers]
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = cartesian
    to_vector_postprocessor = storage
    from_postprocessor = avg
    # If this is false, the transfer will transfer NaN for sub apps that did not converge.
    # If this is true, the transfer will transfer whatever the last computed values are.
    keep_solve_fail_value = true # Default: false
  []
[]
[VectorPostprocessors]
  [storage]
    type = StochasticResults
  []
[]
[Controls]
  [cmdline]
    type = MultiAppCommandLineControl
    multi_app = sub
    sampler = cartesian
    param_names = 'Executioner/nl_rel_tol'
  []
[]
[Executioner]
  type = Transient
  num_steps = 2
[]
[Outputs]
  csv = true
  execute_on = 'TIMESTEP_END'
[]
(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 = MultiAppCommandLineControl
    multi_app = sub
    sampler = train_sample
    param_names = 'Materials/conductivity/prop_values Kernels/source/value'
  []
[]
[Transfers]
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = train_sample
    to_vector_postprocessor = results
    from_postprocessor = 'avg'
  []
[]
[VectorPostprocessors]
  [results]
    type = StochasticResults
  []
  [samp_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = test_sample
    output_samples = true
    execute_on = final
  []
  [train_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = train_sample
    output_samples = true
    execute_on = final
  []
  [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
  []
[]
[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/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/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/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 = MultiAppCommandLineControl
    multi_app = sub
    sampler = train_sample
    param_names = 'Materials/conductivity/prop_values Kernels/source/value'
  []
[]
[Transfers]
  [data]
    type = SamplerPostprocessorTransfer
    multi_app = sub
    sampler = train_sample
    to_vector_postprocessor = results
    from_postprocessor = 'avg'
  []
[]
[VectorPostprocessors]
  [results]
    type = StochasticResults
  []
  [samp_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = test_sample
    output_samples = true
    execute_on = final
  []
  [train_avg]
    type = EvaluateGaussianProcess
    model = GP_avg
    sampler = train_sample
    output_samples = true
    execute_on = final
  []
  [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
    tao_options = '-tao_bncg_type ssml_bfgs'
    tune_parameters = ' signal_variance length_factor'
    tuning_min = ' 1e-9 1e-9'
    tuning_max = ' 1e16  1e16'
  []
[]
[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/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/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
[]