Open zachmprince opened 2 years ago
Controversial idea: Specify the MultiApp input in a block:
[MultiAppInput]
[app1]
[variables]
..
[]
[kernels]
..
[]
[]
[]
You could also re-use blocks from the main app like:
[MultiAppInput]
[app1]
reuse_main_app_mesh_block = true
reuse_main_app_executioner_block = true
[variables]
..
[]
[kernels]
..
[]
[]
[]
Then there are two paths to deal with this:
Will this effect any of the adaptive and active learning schemes?
Will this effect any of the adaptive and active learning schemes?
@somu15 This will not. We can work on that later maybe, this will be a first step for simple parameter studies.
I like this syntax. Because we will have an action for [ParameterStudy]
, we can check the level of app with MooseApp::multiAppLevel
in its act function. For a subapp, we skip, for the main-app we perform something like adding the subapp with the same input file. It can also be used to inform MOOSE to skip other actions. A crazy idea is to do something in the main.C
, i.e. built the driver directly like constructing a sampler, etc. But that is possibly not doable. Will the parameters need to be controllable?
Controversial idea:
Yeah, some people want more input files, some want one single input file ;-) I actually like this idea. It is irrelevant with this issue though. You might suggesting wrap the entire physics related inputs in
MultiAppInput
? That is less appealing.
Will the parameters need to be controllable?
No they will not. My idea is to change the type of STM simulation done by either checking if the parameters are controllable or adding another parameter for this.
@YaqiWang I dont think it s irrelevant at all. It s moving the whole multiapp input from "in the main app input file, same input as the parameter study" to "within MultiAppInput block". It should be exactly the same capability as Zach is laying down in the first post, just with a more encapsulated syntax.
It would also benefit the wider community, not just stochastic tools
Reason
To streamline the syntax for common and simple STM runs, it would be beneficial to allow a syntax to run a stochastic simulation within one input file. This would improve user-friendliness for these common or simple runs. The idea is not to allow all of STM features with this, only the most primal ones like a parameter study.
Design
Here is an example input I think I would like to see for this problem:
The list of distributions that should be supported:
The list of samplers that should be supported:
There are two big hurdles with this approach that I see:
ParameterStudy/enable=false
.ParameterStudy
block, but I'm not sure if that is possible or if we made it possible how it can be abused.Impact
User-friendly stochastic tools. This can also pave the way for applications to provide a similar syntax for specific types of stochastic runs.