www.mooseframework.org
StochasticToolsApp.C
Go to the documentation of this file.
1 #include "StochasticToolsApp.h"
2 #include "Moose.h"
3 #include "AppFactory.h"
4 #include "MooseSyntax.h"
5 
6 #include "StateSimTester.h"
7 #include "StateSimRunner.h"
8 
9 // Distributions
10 #include "UniformDistribution.h"
11 #include "WeibullDistribution.h"
12 #include "NormalDistribution.h"
13 #include "LognormalDistribution.h"
14 
15 // Samplers
16 #include "MonteCarloSampler.h"
17 #include "SobolSampler.h"
18 
19 // VectorPostprocessors
20 #include "SamplerData.h"
21 #include "StochasticResults.h"
22 
23 // MultiApps
24 #include "SamplerMultiApp.h"
25 
26 // Transfers
27 #include "SamplerTransfer.h"
29 
30 // Controls
31 #include "SamplerReceiver.h"
32 
33 template <>
34 InputParameters
36 {
37  InputParameters params = validParams<MooseApp>();
38  return params;
39 }
40 
41 StochasticToolsApp::StochasticToolsApp(InputParameters parameters) : MooseApp(parameters)
42 {
43  Moose::registerObjects(_factory);
45 
46  Moose::associateSyntax(_syntax, _action_factory);
47  StochasticToolsApp::associateSyntax(_syntax, _action_factory);
48 }
49 
51 
52 // External entry point for dynamic application loading
53 extern "C" void
55 {
57 }
58 void
60 {
61  registerApp(StochasticToolsApp);
62 }
63 
64 // External entry point for dynamic object registration
65 extern "C" void
67 {
69 }
70 void
72 {
73  registerUserObject(StateSimRunner);
74  registerPostprocessor(StateSimTester);
75 
76  // Distributions
77  registerDistribution(UniformDistribution);
78  registerDistribution(WeibullDistribution);
79  registerDistribution(NormalDistribution);
80  registerDistribution(LognormalDistribution);
81 
82  // Samplers
83  registerSampler(MonteCarloSampler);
84  registerSampler(SobolSampler);
85 
86  // VectorPostprocessors
87  registerVectorPostprocessor(SamplerData);
88  registerVectorPostprocessor(StochasticResults);
89 
90  // MultiApps
91  registerMultiApp(SamplerMultiApp);
92 
93  // Transfers
94  registerTransfer(SamplerTransfer);
95  registerTransfer(SamplerPostprocessorTransfer);
96 
97  // Controls
98  registerControl(SamplerReceiver);
99 }
100 
101 // External entry point for dynamic syntax association
102 extern "C" void
103 StochasticToolsApp__associateSyntax(Syntax & syntax, ActionFactory & action_factory)
104 {
105  StochasticToolsApp::associateSyntax(syntax, action_factory);
106 }
107 void
108 StochasticToolsApp::associateSyntax(Syntax & /*syntax*/, ActionFactory & /*action_factory*/)
109 {
110 }
A class used to perform Monte Carlo Sampling.
Definition: SobolSampler.h:20
A class used to perform Monte Carlo Sampling.
A class used to generate Lognormal distribution via Boost.
A class used to generate Weibull distribution via Boost.
Transfer Postprocessor from sub-applications to the master application.
static void associateSyntax(Syntax &syntax, ActionFactory &action_factory)
A class used to generate uniform distribution.
Copy each row from each DenseMatrix to the sub-applications SamplerReceiver object.
void StochasticToolsApp__registerObjects(Factory &factory)
void StochasticToolsApp__associateSyntax(Syntax &syntax, ActionFactory &action_factory)
A tool for output Sampler data.
static void registerApps()
A Control object for receiving data from a master application Sampler object.
StochasticToolsApp(InputParameters parameters)
void StochasticToolsApp__registerApps()
A class used to generate Normal distribution via Boost.
InputParameters validParams< StochasticToolsApp >()
static void registerObjects(Factory &factory)
Object to start a State Simulation and manage the moose timesteping with state event times...
A tool for output Sampler data.
Definition: SamplerData.h:23