- from_reporterThe name(s) of the Reporter(s) on the sub-app to transfer from.
C++ Type:std::vector<ReporterName>
Description:The name(s) of the Reporter(s) on the sub-app to transfer from.
- multi_appThe name of the MultiApp to use.
C++ Type:MultiAppName
Description:The name of the MultiApp to use.
- stochastic_reporterThe name of the StochasticReporter object to transfer values to.
C++ Type:std::string
Description:The name of the StochasticReporter object to transfer values to.
SamplerReporterTransfer
Transfers data from Reporters on the sub-application to a StochasticReporter on the main application.
Overview
This object is designed to transfer data from postprocessors, vectorpostprocessors, and reporters on the sub-application to the main application. This object must transfer data to a StochasticReporter object.
How It Works
This transfer works similar to MultiAppCloneReporterTransfer whereby creating vector reporter values whose type is based on the type of value being transferred. The name of the reporter values are <stochastic_reporter name>/<transfer name or prefix>:<sub-app reporter object name>:<sub-app reporter value name>
. In parallel, the vector that the values are being transferred into are distributed by default. For instance, main_out.json is the output in serial showing all the transferred data; while main_parallel.json, main_parallel.json.1, main_parallel.json.2, and main_parallel.json.3 are the combined data from running on 4 processors. However, this split in files can be avoided if "parallel_type" in the reporter object is set to ROOT
. This will gather all the data to the root processor, beware using this option can cause memory issues with very very large stochastic runs.
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). With this parameter set to true in the multiapp, this object will transfer whatever the last compute values are. To keep track of whether the solve converged or not, the reporter value <stochastic_reporter name>/multiapp_converged
is created. See main_out.json as an example.
Example Syntax
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
execute_on = 'INITIAL TIMESTEP_BEGIN'
ignore_solve_not_converge = true
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = sample
stochastic_reporter = storage
from_reporter = 'pp/value vpp/vec constant/str constant/int'
[]
[]
[Reporters]
[storage]
type = StochasticReporter
execute_on = 'initial timestep_end'
parallel_type = ROOT
[]
[]
(modules/stochastic_tools/test/tests/transfers/sampler_reporter/main.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.
- prefixUse the supplied string as the prefix for reporter name rather than the transfer name.
C++ Type:std::string
Options:
Description:Use the supplied string as the prefix for reporter 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..
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/gaussian_process/GP_exponential.i)
- (modules/stochastic_tools/test/tests/reporters/stochastic_reporter/stats.i)
- (modules/stochastic_tools/examples/surrogates/polynomial_regression/normal_train.i)
- (modules/stochastic_tools/test/tests/transfers/sampler_reporter/main.i)
- (modules/stochastic_tools/test/tests/reporters/statistics/statistics_main.i)
- (modules/stochastic_tools/examples/surrogates/poly_chaos_uniform_mc.i)
- (modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2d_mc.i)
- (modules/stochastic_tools/examples/surrogates/gaussian_process/GP_normal_mc.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_squared_exponential_tuned.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_squared_exponential.i)
- (modules/stochastic_tools/test/tests/multiapps/partitioning/main_transient.i)
- (modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_1D.i)
- (modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2dnorm_quad.i)
- (modules/stochastic_tools/test/tests/transfers/sampler_reporter/main_batch.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_Matern_half_int.i)
- (modules/combined/examples/stochastic/poly_chaos_train_uniform.i)
- (modules/stochastic_tools/examples/surrogates/poly_chaos_normal_quad.i)
- (modules/stochastic_tools/test/tests/surrogates/polynomial_regression/poly_reg_vec.i)
- (modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_2D_tuned.i)
- (modules/stochastic_tools/test/tests/transfers/sampler_reporter/main_small.i)
- (modules/stochastic_tools/examples/surrogates/poly_chaos_uniform_quad.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_exponential_tuned.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_squared_exponential_training.i)
- (modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_Matern_half_int_tuned.i)
- (modules/stochastic_tools/test/tests/multiapps/partitioning/main.i)
- (modules/stochastic_tools/test/tests/surrogates/poly_chaos/master_2d_quad.i)
- (modules/stochastic_tools/examples/surrogates/polynomial_regression/uniform_train.i)
- (modules/stochastic_tools/examples/surrogates/combined/trans_diff_2d/trans_diff_trainer.i)
- (modules/stochastic_tools/examples/surrogates/poly_chaos_normal_mc.i)
- (modules/stochastic_tools/examples/surrogates/nearest_point_training.i)
- (modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_2D.i)
- (modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_1D_tuned.i)
(modules/doc/sampler_reporter/gold/main_out.json)
{
"reporters": {
"storage": {
"type": "StochasticReporter",
"values": {
"data:constant:int": {
"row_begin": 0,
"row_end": 8
},
"data:constant:str": {
"row_begin": 0,
"row_end": 8
},
"data:converged": {
"row_begin": 0,
"row_end": 8
},
"data:pp:value": {
"row_begin": 0,
"row_end": 8
},
"data:vpp:vec": {
"row_begin": 0,
"row_end": 8
}
}
}
},
"time_steps": [
{
"storage": {
"data:constant:int": [
1,
1,
1,
1,
2,
2,
2,
2
],
"data:constant:str": [
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value"
],
"data:converged": [
false,
true,
false,
true,
false,
true,
false,
true
],
"data:pp:value": [
0.0,
0.1,
0.0,
0.2,
0.0,
0.1,
0.0,
0.2
],
"data:vpp:vec": [
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
]
]
},
"time": 0.0,
"time_step": 0
},
{
"storage": {
"data:constant:int": [
1,
1,
1,
1,
2,
2,
2,
2
],
"data:constant:str": [
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value"
],
"data:converged": [
false,
true,
false,
true,
false,
true,
false,
true
],
"data:pp:value": [
0.0,
0.1,
0.0,
0.2,
0.0,
0.1,
0.0,
0.2
],
"data:vpp:vec": [
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
]
]
},
"time": 0.01,
"time_step": 1
},
{
"storage": {
"data:constant:int": [
1,
1,
1,
1,
2,
2,
2,
2
],
"data:constant:str": [
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value"
],
"data:converged": [
false,
true,
false,
true,
false,
true,
false,
true
],
"data:pp:value": [
0.0,
0.1,
0.0,
0.2,
0.0,
0.1,
0.0,
0.2
],
"data:vpp:vec": [
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
]
]
},
"time": 0.02,
"time_step": 2
}
]
}
(modules/doc/sampler_reporter/gold/main_parallel.json)
{
"number_of_parts": 4,
"part": 0,
"reporters": {
"storage": {
"type": "StochasticReporter",
"values": {
"data:constant:int": {
"row_begin": 0,
"row_end": 2
},
"data:constant:str": {
"row_begin": 0,
"row_end": 2
},
"data:converged": {
"row_begin": 0,
"row_end": 2
},
"data:pp:value": {
"row_begin": 0,
"row_end": 2
},
"data:vpp:vec": {
"row_begin": 0,
"row_end": 2
}
}
}
},
"time_steps": [
{
"storage": {
"data:constant:int": [
1,
1
],
"data:constant:str": [
"this_value",
"this_value"
],
"data:converged": [
false,
true
],
"data:pp:value": [
0.0,
0.1
],
"data:vpp:vec": [
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
]
]
},
"time": 0.0,
"time_step": 0
},
{
"storage": {
"data:constant:int": [
1,
1
],
"data:constant:str": [
"this_value",
"this_value"
],
"data:converged": [
false,
true
],
"data:pp:value": [
0.0,
0.1
],
"data:vpp:vec": [
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
]
]
},
"time": 0.01,
"time_step": 1
},
{
"storage": {
"data:constant:int": [
1,
1
],
"data:constant:str": [
"this_value",
"this_value"
],
"data:converged": [
false,
true
],
"data:pp:value": [
0.0,
0.1
],
"data:vpp:vec": [
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
]
]
},
"time": 0.02,
"time_step": 2
}
]
}
(modules/doc/sampler_reporter/gold/main_parallel.json.1)
{
"number_of_parts": 4,
"part": 1,
"reporters": {
"storage": {
"type": "StochasticReporter",
"values": {
"data:constant:int": {
"row_begin": 2,
"row_end": 4
},
"data:constant:str": {
"row_begin": 2,
"row_end": 4
},
"data:converged": {
"row_begin": 2,
"row_end": 4
},
"data:pp:value": {
"row_begin": 2,
"row_end": 4
},
"data:vpp:vec": {
"row_begin": 2,
"row_end": 4
}
}
}
},
"time_steps": [
{
"storage": {
"data:constant:int": [
1,
1
],
"data:constant:str": [
"this_value",
"this_value"
],
"data:converged": [
false,
true
],
"data:pp:value": [
0.0,
0.2
],
"data:vpp:vec": [
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
]
]
},
"time": 0.0,
"time_step": 0
},
{
"storage": {
"data:constant:int": [
1,
1
],
"data:constant:str": [
"this_value",
"this_value"
],
"data:converged": [
false,
true
],
"data:pp:value": [
0.0,
0.2
],
"data:vpp:vec": [
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
]
]
},
"time": 0.01,
"time_step": 1
},
{
"storage": {
"data:constant:int": [
1,
1
],
"data:constant:str": [
"this_value",
"this_value"
],
"data:converged": [
false,
true
],
"data:pp:value": [
0.0,
0.2
],
"data:vpp:vec": [
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
]
]
},
"time": 0.02,
"time_step": 2
}
]
}
(modules/doc/sampler_reporter/gold/main_parallel.json.2)
{
"number_of_parts": 4,
"part": 2,
"reporters": {
"storage": {
"type": "StochasticReporter",
"values": {
"data:constant:int": {
"row_begin": 4,
"row_end": 6
},
"data:constant:str": {
"row_begin": 4,
"row_end": 6
},
"data:converged": {
"row_begin": 4,
"row_end": 6
},
"data:pp:value": {
"row_begin": 4,
"row_end": 6
},
"data:vpp:vec": {
"row_begin": 4,
"row_end": 6
}
}
}
},
"time_steps": [
{
"storage": {
"data:constant:int": [
2,
2
],
"data:constant:str": [
"this_value",
"this_value"
],
"data:converged": [
false,
true
],
"data:pp:value": [
0.0,
0.1
],
"data:vpp:vec": [
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
]
]
},
"time": 0.0,
"time_step": 0
},
{
"storage": {
"data:constant:int": [
2,
2
],
"data:constant:str": [
"this_value",
"this_value"
],
"data:converged": [
false,
true
],
"data:pp:value": [
0.0,
0.1
],
"data:vpp:vec": [
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
]
]
},
"time": 0.01,
"time_step": 1
},
{
"storage": {
"data:constant:int": [
2,
2
],
"data:constant:str": [
"this_value",
"this_value"
],
"data:converged": [
false,
true
],
"data:pp:value": [
0.0,
0.1
],
"data:vpp:vec": [
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
]
]
},
"time": 0.02,
"time_step": 2
}
]
}
(modules/doc/sampler_reporter/gold/main_parallel.json.3)
{
"number_of_parts": 4,
"part": 3,
"reporters": {
"storage": {
"type": "StochasticReporter",
"values": {
"data:constant:int": {
"row_begin": 6,
"row_end": 8
},
"data:constant:str": {
"row_begin": 6,
"row_end": 8
},
"data:converged": {
"row_begin": 6,
"row_end": 8
},
"data:pp:value": {
"row_begin": 6,
"row_end": 8
},
"data:vpp:vec": {
"row_begin": 6,
"row_end": 8
}
}
}
},
"time_steps": [
{
"storage": {
"data:constant:int": [
2,
2
],
"data:constant:str": [
"this_value",
"this_value"
],
"data:converged": [
false,
true
],
"data:pp:value": [
0.0,
0.2
],
"data:vpp:vec": [
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
]
]
},
"time": 0.0,
"time_step": 0
},
{
"storage": {
"data:constant:int": [
2,
2
],
"data:constant:str": [
"this_value",
"this_value"
],
"data:converged": [
false,
true
],
"data:pp:value": [
0.0,
0.2
],
"data:vpp:vec": [
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
]
]
},
"time": 0.01,
"time_step": 1
},
{
"storage": {
"data:constant:int": [
2,
2
],
"data:constant:str": [
"this_value",
"this_value"
],
"data:converged": [
false,
true
],
"data:pp:value": [
0.0,
0.2
],
"data:vpp:vec": [
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
]
]
},
"time": 0.02,
"time_step": 2
}
]
}
parallel_type
Default:DISTRIBUTED
C++ Type:MooseEnum
Options:DISTRIBUTED, ROOT
Description:This parameter will determine how the stochastic data is gathered. It is common for outputting purposes that this parameter be set to ROOT, otherwise, many files will be produced showing the values on each processor. However, if there are lot of samples, gathering on root may be memory restrictive.
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.
(modules/doc/sampler_reporter/gold/main_out.json)
{
"reporters": {
"storage": {
"type": "StochasticReporter",
"values": {
"data:constant:int": {
"row_begin": 0,
"row_end": 8
},
"data:constant:str": {
"row_begin": 0,
"row_end": 8
},
"data:converged": {
"row_begin": 0,
"row_end": 8
},
"data:pp:value": {
"row_begin": 0,
"row_end": 8
},
"data:vpp:vec": {
"row_begin": 0,
"row_end": 8
}
}
}
},
"time_steps": [
{
"storage": {
"data:constant:int": [
1,
1,
1,
1,
2,
2,
2,
2
],
"data:constant:str": [
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value"
],
"data:converged": [
false,
true,
false,
true,
false,
true,
false,
true
],
"data:pp:value": [
0.0,
0.1,
0.0,
0.2,
0.0,
0.1,
0.0,
0.2
],
"data:vpp:vec": [
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
]
]
},
"time": 0.0,
"time_step": 0
},
{
"storage": {
"data:constant:int": [
1,
1,
1,
1,
2,
2,
2,
2
],
"data:constant:str": [
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value"
],
"data:converged": [
false,
true,
false,
true,
false,
true,
false,
true
],
"data:pp:value": [
0.0,
0.1,
0.0,
0.2,
0.0,
0.1,
0.0,
0.2
],
"data:vpp:vec": [
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
]
]
},
"time": 0.01,
"time_step": 1
},
{
"storage": {
"data:constant:int": [
1,
1,
1,
1,
2,
2,
2,
2
],
"data:constant:str": [
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value",
"this_value"
],
"data:converged": [
false,
true,
false,
true,
false,
true,
false,
true
],
"data:pp:value": [
0.0,
0.1,
0.0,
0.2,
0.0,
0.1,
0.0,
0.2
],
"data:vpp:vec": [
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
1.0,
10.0,
100.0,
1000.0
],
[
2.0,
20.0,
200.0,
2000.0
],
[
2.0,
20.0,
200.0,
2000.0
]
]
},
"time": 0.02,
"time_step": 2
}
]
}
(modules/stochastic_tools/test/tests/transfers/sampler_reporter/main.i)
[StochasticTools]
auto_create_executioner = false
[]
[Samplers]
[sample]
type = CartesianProduct
execute_on = PRE_MULTIAPP_SETUP
linear_space_items = '1 1 2
0.1 0.1 2
0 1e-8 2'
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
execute_on = 'INITIAL TIMESTEP_BEGIN'
ignore_solve_not_converge = true
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = sample
stochastic_reporter = storage
from_reporter = 'pp/value vpp/vec constant/str constant/int'
[]
[]
[Controls]
[runner]
type = MultiAppCommandLineControl
multi_app = sub
param_names = 'Reporters/constant/integer_values
real_val
Executioner/nl_rel_tol'
sampler = sample
[]
[]
[Reporters]
[storage]
type = StochasticReporter
execute_on = 'initial timestep_end'
parallel_type = ROOT
[]
[]
[Executioner]
type = Transient
num_steps = 2
dt = 0.01
[]
[Outputs]
[out]
type = JSON
execute_system_information_on = none
[]
[]
(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 = SamplerReporterTransfer
multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose an exponential for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = GP_avg_trainer
[]
[]
[Covariance]
[covar]
type=ExponentialCovariance
gamma = 1 #Define the exponential factor
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-6 #A small amount of noise can help with numerical stability
length_factor = '0.551133 0.551133' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/reporters/stochastic_reporter/stats.i)
[StochasticTools]
auto_create_executioner = false
[]
[Samplers]
[sample]
type = CartesianProduct
execute_on = PRE_MULTIAPP_SETUP
linear_space_items = '0 1 3
0.0 0.1 5'
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
execute_on = 'INITIAL TIMESTEP_BEGIN'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = sample
stochastic_reporter = storage
from_reporter = 'pp/value constant/int'
[]
[]
[Controls]
[runner]
type = MultiAppCommandLineControl
multi_app = sub
param_names = 'Reporters/constant/integer_values
Postprocessors/pp/default'
sampler = sample
[]
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = "none"
[]
[stats]
type = StatisticsReporter
reporters = 'storage/data:pp:value storage/data:constant:int'
compute = mean
[]
[]
[Executioner]
type = Transient
num_steps = 2
dt = 0.01
[]
[Outputs]
[out]
type = JSON
execute_system_information_on = none
[]
[]
(modules/stochastic_tools/examples/surrogates/polynomial_regression/normal_train.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Normal
mean = 5
standard_deviation = 2
[]
[q_dist]
type = Normal
mean = 10000
standard_deviation = 500
[]
[L_dist]
type = Normal
mean = 0.03
standard_deviation = 0.01
[]
[Tinf_dist]
type = Normal
mean = 300
standard_deviation = 10
[]
[]
[Samplers]
[pc_sampler]
type = Quadrature
order = 8
distributions = 'k_dist q_dist L_dist Tinf_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[pr_sampler]
type = LatinHypercube
distributions = 'k_dist q_dist L_dist Tinf_dist'
num_rows = 6560
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[pc_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = pc_sampler
[]
[pr_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = pr_sampler
[]
[]
[Controls]
[pc_cmdline]
type = MultiAppCommandLineControl
multi_app = pc_sub
sampler = pc_sampler
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[pr_cmdline]
type = MultiAppCommandLineControl
multi_app = pr_sub
sampler = pr_sampler
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[pc_data]
type = SamplerReporterTransfer
multi_app = pc_sub
sampler = pc_sampler
stochastic_reporter = results
from_reporter = 'max/value'
[]
[pr_data]
type = SamplerReporterTransfer
multi_app = pr_sub
sampler = pr_sampler
stochastic_reporter = results
from_reporter = 'max/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[pc_max]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 8
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = pc_sampler
response = results/pc_data:max:value
[]
[pr_max]
type = PolynomialRegressionTrainer
execute_on = timestep_end
regression_type = "ols"
max_degree = 4
sampler = pr_sampler
response = results/pr_data:max:value
[]
[]
[Outputs]
[pc_out]
type = SurrogateTrainerOutput
trainers = 'pc_max'
execute_on = FINAL
[]
[pr_out]
type = SurrogateTrainerOutput
trainers = 'pr_max'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/transfers/sampler_reporter/main.i)
[StochasticTools]
auto_create_executioner = false
[]
[Samplers]
[sample]
type = CartesianProduct
execute_on = PRE_MULTIAPP_SETUP
linear_space_items = '1 1 2
0.1 0.1 2
0 1e-8 2'
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
execute_on = 'INITIAL TIMESTEP_BEGIN'
ignore_solve_not_converge = true
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = sample
stochastic_reporter = storage
from_reporter = 'pp/value vpp/vec constant/str constant/int'
[]
[]
[Controls]
[runner]
type = MultiAppCommandLineControl
multi_app = sub
param_names = 'Reporters/constant/integer_values
real_val
Executioner/nl_rel_tol'
sampler = sample
[]
[]
[Reporters]
[storage]
type = StochasticReporter
execute_on = 'initial timestep_end'
parallel_type = ROOT
[]
[]
[Executioner]
type = Transient
num_steps = 2
dt = 0.01
[]
[Outputs]
[out]
type = JSON
execute_system_information_on = none
[]
[]
(modules/stochastic_tools/test/tests/reporters/statistics/statistics_main.i)
[StochasticTools]
[]
[Samplers/sample]
type = CartesianProduct
linear_space_items = '1 1 6'
execute_on = PRE_MULTIAPP_SETUP
[]
[GlobalParams]
sampler = sample
[]
[MultiApps/sub]
type = SamplerFullSolveMultiApp
input_files = constant_sub.i
mode = batch-reset
[]
[Controls/param]
type = MultiAppCommandLineControl
multi_app = sub
param_names = 'val'
[]
[Transfers/data]
type = SamplerReporterTransfer
multi_app = sub
from_reporter = 'const/num const/int const/vec'
stochastic_reporter = 'storage'
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = none
[]
[stats]
type = StatisticsReporter
reporters = 'storage/data:const:num storage/data:const:int storage/data:const:vec'
compute = 'min max sum mean stddev norm2 ratio stderr median'
[]
[]
[Outputs]
execute_on = FINAL
[out]
type = JSON
execute_system_information_on = NONE
[]
[]
(modules/stochastic_tools/examples/surrogates/poly_chaos_uniform_mc.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[L_dist]
type = Uniform
lower_bound = 0.01
upper_bound = 0.05
[]
[Tinf_dist]
type = Uniform
lower_bound = 290
upper_bound = 310
[]
[]
[Samplers]
[sample]
type = MonteCarlo
num_rows = 10000
distributions = 'k_dist q_dist L_dist Tinf_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppCommandLineControl
multi_app = sub
sampler = sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = sample
stochastic_reporter = results
from_reporter = 'avg/value max/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[poly_chaos_avg]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:avg:value
[]
[poly_chaos_max]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:max:value
[]
[]
[Outputs]
file_base = poly_chaos_training
[out]
type = SurrogateTrainerOutput
trainers = 'poly_chaos_avg poly_chaos_max'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/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
outputs = none
[]
[pc_samp]
type = EvaluateSurrogate
model = poly_chaos
sampler = sample
parallel_type = ROOT
execute_on = final
[]
[]
[Surrogates]
[poly_chaos]
type = PolynomialChaos
trainer = poly_chaos
[]
[]
[Trainers]
[poly_chaos]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 5
distributions = 'D_dist S_dist'
sampler = sample
response = storage/data:avg:value
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/surrogates/gaussian_process/GP_normal_mc.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 0
upper_bound = 20
[]
[q_dist]
type = Uniform
lower_bound = 7000
upper_bound = 13000
[]
[L_dist]
type = Uniform
lower_bound = 0.0
upper_bound = 0.1
[]
[Tinf_dist]
type = Uniform
lower_bound = 270
upper_bound = 330
[]
[]
[Samplers]
[sample]
type = MonteCarlo
num_rows = 500
distributions = 'k_dist q_dist L_dist Tinf_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppCommandLineControl
multi_app = sub
sampler = sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[GP_avg]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'rbf'
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = sample
response = results/data:avg:value
tao_options = '-tao_bncg_type gd'
tune_parameters = ' signal_variance length_factor'
tuning_min = ' 1e-9 1e-3'
tuning_max = ' 100 100'
[]
[]
[Covariance]
[rbf]
type=SquaredExponentialCovariance
noise_variance = 1e-3 #A small amount of noise can help with numerical stability
signal_variance = 1
length_factor = '0.038971 0.038971 0.038971 0.038971' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
file_base = GP_training_normal
[out]
type = SurrogateTrainerOutput
trainers = 'GP_avg'
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 = SamplerReporterTransfer
multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose a squared exponential for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
tao_options = '-tao_bncg_type ssml_bfgs'
tune_parameters = ' signal_variance length_factor'
tuning_min = ' 1e-9 1e-9'
tuning_max = ' 1e16 1e16'
[]
[]
[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/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 = SamplerReporterTransfer
multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose a squared exponential for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = GP_avg_trainer
[]
[]
[Covariance]
[covar]
type=SquaredExponentialCovariance
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-6 #A small amount of noise can help with numerical stability
length_factor = '0.38971 0.38971' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/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/examples/surrogates/gaussian_process/gaussian_process_uniform_1D.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[L_dist]
type = Uniform
lower_bound = 0.01
upper_bound = 0.05
[]
[Tinf_dist]
type = Uniform
lower_bound = 290
upper_bound = 310
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 6
distributions = 'q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[cart_sample]
type = CartesianProduct
linear_space_items = '9000 20 100'
execute_on = initial
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppCommandLineControl
multi_app = sub
sampler = train_sample
param_names = 'Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[cart_avg]
type = EvaluateSurrogate
model = gauss_process_avg
sampler = cart_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = gauss_process_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
sampler = train_sample
response = results/data:avg:value
covariance_function = 'rbf'
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
[]
[]
[Covariance]
[rbf]
type=SquaredExponentialCovariance
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-3 #A small amount of noise can help with numerical stability
length_factor = '0.38971' #Select a length factor for each parameter (k and q)
[]
[]
[Surrogates]
[gauss_process_avg]
type = GaussianProcess
trainer = 'GP_avg_trainer'
[]
[]
[Outputs]
csv = true
execute_on = FINAL
[]
(modules/stochastic_tools/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 = SamplerReporterTransfer
multi_app = quad_sub
sampler = quadrature
stochastic_reporter = storage
from_reporter = avg/value
[]
[]
[Reporters]
[storage]
type = StochasticReporter
outputs = none
[]
[pc_samp]
type = EvaluateSurrogate
model = poly_chaos
sampler = sample
parallel_type = ROOT
execute_on = final
[]
[]
[Surrogates]
[poly_chaos]
type = PolynomialChaos
trainer = poly_chaos
[]
[]
[Trainers]
[poly_chaos]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 5
distributions = 'D_dist S_dist'
sampler = quadrature
response = storage/data:avg:value
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/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'
[]
[runner]
type = SamplerParameterTransfer
multi_app = sub
sampler = sample
parameters = 'BCs/left/value'
to_control = stm
[]
[]
[Reporters]
[storage]
type = StochasticReporter
parallel_type = ROOT
[]
[]
[Outputs]
[out]
type = JSON
execute_system_information_on = none
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 = SamplerReporterTransfer
multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose a Matern with half-integer argument for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = GP_avg_trainer
[]
[]
[Covariance]
[covar]
type=MaternHalfIntCovariance
p = 2 #Define the exponential factor
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-6 #A small amount of noise can help with numerical stability
length_factor = '0.551133 0.551133' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/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/examples/surrogates/poly_chaos_normal_quad.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Normal
mean = 5
standard_deviation = 2
[]
[q_dist]
type = Normal
mean = 10000
standard_deviation = 500
[]
[L_dist]
type = Normal
mean = 0.03
standard_deviation = 0.01
[]
[Tinf_dist]
type = Normal
mean = 300
standard_deviation = 10
[]
[]
[Samplers]
[sample]
type = Quadrature
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppCommandLineControl
multi_app = sub
sampler = sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = sample
stochastic_reporter = results
from_reporter = 'avg/value max/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[poly_chaos_avg]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:avg:value
[]
[poly_chaos_max]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:max:value
[]
[]
[Outputs]
file_base = poly_chaos_training
[out]
type = SurrogateTrainerOutput
trainers = 'poly_chaos_avg poly_chaos_max'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/polynomial_regression/poly_reg_vec.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Normal
mean = 5
standard_deviation = 2
[]
[L_dist]
type = Normal
mean = 0.03
standard_deviation = 0.01
[]
[]
[Samplers]
[sample]
type = LatinHypercube
num_rows = 10
distributions = 'k_dist L_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[GlobalParams]
sampler = sample
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub_vector.i
mode = batch-reset
execute_on = initial
[]
[]
[Controls]
[cmdline]
type = MultiAppCommandLineControl
multi_app = sub
param_names = 'Materials/conductivity/prop_values L'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
stochastic_reporter = results
from_reporter = 'T_vec/T T_vec/x'
[]
[]
[Reporters]
[results]
type = StochasticReporter
outputs = none
[]
[eval]
type = EvaluateSurrogate
model = pr_surrogate
response_type = vector_real
parallel_type = ROOT
execute_on = timestep_end
[]
[]
[Trainers]
[pr]
type = PolynomialRegressionTrainer
regression_type = ols
max_degree = 2
response = results/data:T_vec:T
response_type = vector_real
execute_on = initial
[]
[]
[Surrogates]
[pr_surrogate]
type = PolynomialRegressionSurrogate
trainer = pr
[]
[]
[Outputs]
[out]
type = JSON
execute_on = timestep_end
[]
[]
(modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_2D_tuned.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 50
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[cart_sample]
type = CartesianProduct
linear_space_items = '1 0.09 100
9000 20 100 '
execute_on = initial
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppCommandLineControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'rbf'
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
tao_options = '-tao_bncg_type kd'
sampler = train_sample
response = results/data:avg:value
tune_parameters = ' signal_variance length_factor'
tuning_min = ' 1e-9 1e-9'
tuning_max = ' 1e16 1e16'
[]
[]
[Covariance]
[rbf]
type=SquaredExponentialCovariance
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-3 #A small amount of noise can help with numerical stability
length_factor = '0.38971 0.38971' #Select a length factor for each parameter (k and q)
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = 'GP_avg_trainer'
[]
[]
[Reporters]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[cart_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = cart_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/transfers/sampler_reporter/main_small.i)
[StochasticTools]
[]
[Samplers]
[sample]
type = CartesianProduct
execute_on = PRE_MULTIAPP_SETUP
linear_space_items = '0 1 3'
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
ignore_solve_not_converge = true
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = sample
stochastic_reporter = storage
from_reporter = 'pp/value'
[]
[]
[Controls]
[runner]
type = MultiAppCommandLineControl
multi_app = sub
param_names = 'BCs/left/value'
sampler = sample
[]
[]
[Reporters]
[storage]
type = StochasticReporter
parallel_type = ROOT
[]
[]
[Outputs]
[out]
type = JSON
execute_system_information_on = none
execute_on = timestep_end
[]
[]
(modules/stochastic_tools/examples/surrogates/poly_chaos_uniform_quad.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[L_dist]
type = Uniform
lower_bound = 0.01
upper_bound = 0.05
[]
[Tinf_dist]
type = Uniform
lower_bound = 290
upper_bound = 310
[]
[]
[Samplers]
[sample]
type = Quadrature
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppCommandLineControl
multi_app = sub
sampler = sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = sample
stochastic_reporter = results
from_reporter = 'avg/value max/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[poly_chaos_avg]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:avg:value
[]
[poly_chaos_max]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:max:value
[]
[]
[Outputs]
file_base = poly_chaos_training
[out]
type = SurrogateTrainerOutput
trainers = 'poly_chaos_avg poly_chaos_max'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/test/tests/surrogates/gaussian_process/GP_exponential_tuned.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 10
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[test_sample]
type = MonteCarlo
num_rows = 100
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppCommandLineControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose an exponential for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
tao_options = '-tao_bncg_type ssml_bfgs'
tune_parameters = 'signal_variance length_factor'
tuning_min = ' 1e-9 1e-9'
tuning_max = ' 1e16 1e16'
[]
[]
[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 = SamplerReporterTransfer
multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose a squared exponential for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
[]
[]
[Covariance]
[covar]
type=SquaredExponentialCovariance
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-6 #A small amount of noise can help with numerical stability
length_factor = '0.38971 0.38971' #Select a length factor for each parameter (k and q)
[]
[]
[Outputs]
file_base = gauss_process_training
[out]
type = SurrogateTrainerOutput
trainers = 'GP_avg_trainer'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/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 = SamplerReporterTransfer
multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
parallel_type = ROOT
[]
[samp_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = test_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'covar' #Choose a Matern with half-integer argument for the kernel
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
tao_options = '-tao_bncg_type ssml_bfgs'
tune_parameters = ' signal_variance length_factor'
tuning_min = ' 1e-9 1e-9'
tuning_max = ' 1e16 1e16'
[]
[]
[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/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/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
[]
[pc_samp]
type = EvaluateSurrogate
model = poly_chaos
sampler = sample
parallel_type = ROOT
execute_on = final
[]
[]
[Surrogates]
[poly_chaos]
type = PolynomialChaos
trainer = poly_chaos
[]
[]
[Trainers]
[poly_chaos]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 5
distributions = 'D_dist S_dist'
sampler = quadrature
response = storage/data:avg:value
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/surrogates/polynomial_regression/uniform_train.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[L_dist]
type = Uniform
lower_bound = 0.01
upper_bound = 0.05
[]
[Tinf_dist]
type = Uniform
lower_bound = 290
upper_bound = 310
[]
[]
[Samplers]
[pc_sampler]
type = Quadrature
order = 8
distributions = 'k_dist q_dist L_dist Tinf_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[pr_sampler]
type = LatinHypercube
distributions = 'k_dist q_dist L_dist Tinf_dist'
num_rows = 6560
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[pc_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = pc_sampler
[]
[pr_sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = pr_sampler
[]
[]
[Controls]
[pc_cmdline]
type = MultiAppCommandLineControl
multi_app = pc_sub
sampler = pc_sampler
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[pr_cmdline]
type = MultiAppCommandLineControl
multi_app = pr_sub
sampler = pr_sampler
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[pc_data]
type = SamplerReporterTransfer
multi_app = pc_sub
sampler = pc_sampler
stochastic_reporter = results
from_reporter = 'max/value'
[]
[pr_data]
type = SamplerReporterTransfer
multi_app = pr_sub
sampler = pr_sampler
stochastic_reporter = results
from_reporter = 'max/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[pc_max]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 8
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = pc_sampler
response = results/pc_data:max:value
[]
[pr_max]
type = PolynomialRegressionTrainer
regression_type = "ols"
execute_on = timestep_end
max_degree = 4
sampler = pr_sampler
response = results/pr_data:max:value
[]
[]
[Outputs]
[pc_out]
type = SurrogateTrainerOutput
trainers = 'pc_max'
execute_on = FINAL
[]
[pr_out]
type = SurrogateTrainerOutput
trainers = 'pr_max'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/surrogates/combined/trans_diff_2d/trans_diff_trainer.i)
[StochasticTools]
[]
[Distributions]
[C_dist]
type = Uniform
lower_bound = 0.01
upper_bound = 0.02
[]
[f_dist]
type = Uniform
lower_bound = 15
upper_bound = 25
[]
[init_dist]
type = Uniform
lower_bound = 270
upper_bound = 330
[]
[]
[Samplers]
[sample]
type = Quadrature
order = 5
distributions = 'C_dist f_dist init_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[runner]
type = SamplerFullSolveMultiApp
input_files = 'trans_diff_sub.i'
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppCommandLineControl
multi_app = runner
sampler = sample
param_names = 'Materials/diff_coeff/constant_expressions Functions/src_func/vals Variables/T/initial_condition'
[]
[]
[Transfers]
[results]
type = SamplerReporterTransfer
multi_app = runner
sampler = sample
stochastic_reporter = trainer_results
from_reporter = 'time_max/value time_min/value'
[]
[]
[Reporters]
[trainer_results]
type = StochasticReporter
[]
[]
[Trainers]
[pc_max]
type = PolynomialChaosTrainer
execute_on = final
order = 5
distributions = 'C_dist f_dist init_dist'
sampler = sample
response = trainer_results/results:time_max:value
[]
[pc_min]
type = PolynomialChaosTrainer
execute_on = final
order = 5
distributions = 'C_dist f_dist init_dist'
sampler = sample
response = trainer_results/results:time_min:value
[]
[np_max]
type = NearestPointTrainer
execute_on = final
sampler = sample
response = trainer_results/results:time_max:value
[]
[np_min]
type = NearestPointTrainer
execute_on = final
sampler = sample
response = trainer_results/results:time_min:value
[]
[pr_max]
type = PolynomialRegressionTrainer
regression_type = "ols"
execute_on = final
max_degree = 4
sampler = sample
response = trainer_results/results:time_max:value
[]
[pr_min]
type = PolynomialRegressionTrainer
regression_type = "ols"
execute_on = final
max_degree = 4
sampler = sample
response = trainer_results/results:time_min:value
[]
[]
[Outputs]
[out]
type = SurrogateTrainerOutput
trainers = 'pc_max pc_min np_max np_min pr_max pr_min'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/surrogates/poly_chaos_normal_mc.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Normal
mean = 5
standard_deviation = 2
[]
[q_dist]
type = Normal
mean = 10000
standard_deviation = 500
[]
[L_dist]
type = Normal
mean = 0.03
standard_deviation = 0.01
[]
[Tinf_dist]
type = Normal
mean = 300
standard_deviation = 10
[]
[]
[Samplers]
[sample]
type = MonteCarlo
num_rows = 10000
distributions = 'k_dist q_dist L_dist Tinf_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = sample
[]
[]
[Controls]
[cmdline]
type = MultiAppCommandLineControl
multi_app = sub
sampler = sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = sample
stochastic_reporter = results
from_reporter = 'avg/value max/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[poly_chaos_avg]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:avg:value
[]
[poly_chaos_max]
type = PolynomialChaosTrainer
execute_on = timestep_end
order = 10
distributions = 'k_dist q_dist L_dist Tinf_dist'
sampler = sample
response = results/data:max:value
[]
[]
[Outputs]
file_base = poly_chaos_training
[out]
type = SurrogateTrainerOutput
trainers = 'poly_chaos_avg poly_chaos_max'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/surrogates/nearest_point_training.i)
[StochasticTools]
[]
[Samplers]
[grid]
type = CartesianProduct
execute_on = PRE_MULTIAPP_SETUP
# Grid spacing:
# k: 1.45 2.35 3.25 4.15 5.05 5.95 6.85 7.75 8.65 9.55
# q: 9100 9300 9500 9700 9900 10100 10300 10500 10700 10900
# L: 0.012 0.016 0.020 0.024 0.028 0.032 0.036 0.040 0.044 0.048
# Tinf: 291 293 295 297 299 301 303 305 307 309
linear_space_items = '1.45 0.9 10
9100 200 10
0.012 0.004 10
291 2 10'
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = grid
[]
[]
[Controls]
[cmdline]
type = MultiAppCommandLineControl
multi_app = sub
sampler = grid
param_names = 'Materials/conductivity/prop_values Kernels/source/value Mesh/xmax BCs/right/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = grid
stochastic_reporter = results
from_reporter = 'avg/value max/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
outputs = none
[]
[]
[VectorPostprocessors]
[sampler_data]
type = SamplerData
sampler = grid
parallel_type = DISTRIBUTED
[]
[]
[Trainers]
[nearest_point_avg]
type = NearestPointTrainer
execute_on = timestep_end
sampler = grid
predictors = 'sampler_data/grid_0'
predictor_cols = '1 2 3'
response = results/data:avg:value
[]
[nearest_point_max]
type = NearestPointTrainer
execute_on = timestep_end
sampler = grid
response = results/data:max:value
[]
[]
[Outputs]
[out]
type = SurrogateTrainerOutput
trainers = 'nearest_point_avg nearest_point_max'
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_2D.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 50
distributions = 'k_dist q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[cart_sample]
type = CartesianProduct
linear_space_items = '1 0.09 100
9000 20 100 '
execute_on = initial
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppCommandLineControl
multi_app = sub
sampler = train_sample
param_names = 'Materials/conductivity/prop_values Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[train_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[cart_avg]
type = EvaluateSurrogate
model = GP_avg
sampler = cart_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'rbf'
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
[]
[]
[Covariance]
[rbf]
type=SquaredExponentialCovariance
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-6 #A small amount of noise can help with numerical stability
length_factor = '0.38971 0.38971' #Select a length factor for each parameter (k and q)
[]
[]
[Surrogates]
[GP_avg]
type = GaussianProcess
trainer = 'GP_avg_trainer'
[]
[]
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'GP_avg'
execute_on = final
[]
[]
[Outputs]
[out]
type = CSV
execute_on = FINAL
[]
[]
(modules/stochastic_tools/examples/surrogates/gaussian_process/gaussian_process_uniform_1D_tuned.i)
[StochasticTools]
[]
[Distributions]
[k_dist]
type = Uniform
lower_bound = 1
upper_bound = 10
[]
[q_dist]
type = Uniform
lower_bound = 9000
upper_bound = 11000
[]
[L_dist]
type = Uniform
lower_bound = 0.01
upper_bound = 0.05
[]
[Tinf_dist]
type = Uniform
lower_bound = 290
upper_bound = 310
[]
[]
[Samplers]
[train_sample]
type = MonteCarlo
num_rows = 6
distributions = 'q_dist'
execute_on = PRE_MULTIAPP_SETUP
[]
[cart_sample]
type = CartesianProduct
linear_space_items = '9000 20 100'
execute_on = initial
[]
[]
[MultiApps]
[sub]
type = SamplerFullSolveMultiApp
input_files = sub.i
sampler = train_sample
[]
[]
[Controls]
[cmdline]
type = MultiAppCommandLineControl
multi_app = sub
sampler = train_sample
param_names = 'Kernels/source/value'
[]
[]
[Transfers]
[data]
type = SamplerReporterTransfer
multi_app = sub
sampler = train_sample
stochastic_reporter = results
from_reporter = 'avg/value'
[]
[]
[Reporters]
[results]
type = StochasticReporter
[]
[]
[Trainers]
[GP_avg_trainer]
type = GaussianProcessTrainer
execute_on = timestep_end
covariance_function = 'rbf'
standardize_params = 'true' #Center and scale the training params
standardize_data = 'true' #Center and scale the training data
sampler = train_sample
response = results/data:avg:value
tao_options = '-tao_bncg_type kd'
tune_parameters = ' signal_variance length_factor'
tuning_min = ' 1e-9 1e-9'
tuning_max = ' 1e16 1e16'
[]
[]
[Covariance]
[rbf]
type=SquaredExponentialCovariance
signal_variance = 1 #Use a signal variance of 1 in the kernel
noise_variance = 1e-3 #A small amount of noise can help with numerical stability
length_factor = '0.38971' #Select a length factor for each parameter (k and q)
[]
[]
[Surrogates]
[gauss_process_avg]
type = GaussianProcess
trainer = 'GP_avg_trainer'
[]
[]
# # Computing statistics
[VectorPostprocessors]
[hyperparams]
type = GaussianProcessData
gp_name = 'gauss_process_avg'
execute_on = final
[]
[]
[Reporters]
[cart_avg]
type = EvaluateSurrogate
model = gauss_process_avg
sampler = cart_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[train_avg]
type = EvaluateSurrogate
model = gauss_process_avg
sampler = train_sample
evaluate_std = 'true'
parallel_type = ROOT
execute_on = final
[]
[]
[Outputs]
csv = true
execute_on = FINAL
[]