Line data Source code
1 : /**********************************************************************/
2 : /* DO NOT MODIFY THIS HEADER */
3 : /* MAGPIE - Mesoscale Atomistic Glue Program for Integrated Execution */
4 : /* */
5 : /* Copyright 2017 Battelle Energy Alliance, LLC */
6 : /* ALL RIGHTS RESERVED */
7 : /**********************************************************************/
8 :
9 : #include "MagpieApp.h"
10 : #include "Moose.h"
11 : #include "AppFactory.h"
12 : #include "ModulesApp.h"
13 : #include "MooseSyntax.h"
14 :
15 : InputParameters
16 371 : MagpieApp::validParams()
17 : {
18 371 : InputParameters params = MooseApp::validParams();
19 371 : params.set<bool>("use_legacy_material_output") = false;
20 371 : return params;
21 0 : }
22 :
23 : // When using the new Registry system, this line is required so that
24 : // dependent apps know about the MagpieApp label.
25 : registerKnownLabel("MagpieApp");
26 :
27 371 : MagpieApp::MagpieApp(const InputParameters & parameters) : MooseApp(parameters)
28 : {
29 371 : srand(processor_id());
30 371 : MagpieApp::registerAll(_factory, _action_factory, _syntax);
31 371 : }
32 :
33 365 : MagpieApp::~MagpieApp() {}
34 :
35 : extern "C" void
36 0 : MagpieApp__registerApps()
37 : {
38 0 : MagpieApp::registerApps();
39 0 : }
40 : void
41 371 : MagpieApp::registerApps()
42 : {
43 : {
44 371 : const std::string doc = "GNU Scientific Library (GSL) ";
45 : #ifdef GSL_ENABLED
46 742 : addCapability("gsl", true, doc + "is available.");
47 : #else
48 : addCapability("gsl", false, doc + "is not available.");
49 : #endif
50 : }
51 :
52 : {
53 371 : const std::string doc = "FFTW Fourier transform library ";
54 : #ifdef FFTW3_ENABLED
55 742 : addCapability("fftw3", true, doc + "is available.");
56 : #else
57 : addCapability("fftw3", false, doc + "is not available.");
58 : #endif
59 : }
60 :
61 371 : registerApp(MagpieApp);
62 371 : ModulesApp::registerApps();
63 371 : }
64 :
65 : // External entry point for object registration
66 : extern "C" void
67 0 : MagpieApp__registerAll(Factory & factory, ActionFactory & action_factory, Syntax & syntax)
68 : {
69 0 : MagpieApp::registerAll(factory, action_factory, syntax);
70 0 : }
71 : void
72 742 : MagpieApp::registerAll(Factory & factory, ActionFactory & action_factory, Syntax & syntax)
73 : {
74 742 : ModulesApp::registerAllObjects<MagpieApp>(factory, action_factory, syntax);
75 :
76 2226 : Registry::registerObjectsTo(factory, {"MagpieApp"});
77 2226 : Registry::registerActionsTo(action_factory, {"MagpieApp"});
78 742 : MagpieApp::associateSyntax(syntax, action_factory);
79 :
80 742 : Moose::registerAll(factory, action_factory, syntax);
81 2968 : }
82 :
83 : void
84 742 : MagpieApp::associateSyntax(Syntax & syntax, ActionFactory & /*action_factory*/)
85 : {
86 1484 : registerSyntax("PolarPhaseFieldAction", "Magpie/PolarPhaseField/*");
87 742 : }
88 :
89 : void
90 0 : MagpieApp::printLogo()
91 : {
92 : Moose::out << "\n"
93 : << "\n M M AA GGG PPP I EE "
94 : << "\n MM MM A A G P P I E E "
95 : << "\n M M M AAAA G G PPP I EE "
96 : << "\n M M A A GG P I EEE "
97 : << "\n"
98 : << "\n Mesoscale Atomistic Glue Program for Integrated Execution"
99 : << "\n"
100 : << "\n `;+;` "
101 : << "\n ,#######` "
102 : << "\n ,##########` "
103 : << "\n .;;############# "
104 : << "\n`####+'+########## "
105 : << "\n `,+#+############:` "
106 : << "\n `#################'` "
107 : << "\n :###################+ "
108 : << "\n ###### .`;#######+ "
109 : << "\n #'## ;#+++'##` "
110 : << "\n ;+#+ ,;;;;;'; "
111 : << "\n ###'.,:,` `:;;;;;;;;;;;;; "
112 : << "\n ##.'+;;;;;;;;;;;;;;;;;;;;;;` "
113 : << "\n ## ++;;;;;;;;;;+;'';;;;;;;;#+` "
114 : << "\n ;#`,;;;;;;;;;;;;,. .''+##+;` "
115 : << "\n #' `;;;;.::;;'+'+#######+++';;;;;';. "
116 : << "\n +# .;+';';;############+###+;. "
117 : << "\n ,#, `;;'';#######,;+############+;. "
118 : << "\n ;# ;+##+######' `.###########+;` "
119 : << "\n ' +######### ,.+######`"
120 : << "\n ########` .;:,"
121 : << "\n ,######: "
122 : << "\n ; ####### "
123 : << "\n .; ,###### "
124 : << "\n ,; .`+#####: "
125 : << "\n ';##;;;+### "
126 : << "\n ;'# `;;#+ "
127 : << "\n :;+', '+ "
128 : << "\n .;;' .# "
129 : << "\n `;. ;#, ,## "
130 : << "\n `,,:` +` .::##' ::. "
131 : << "\n `:' : +#+. "
132 : << "\n '` `: "
133 : << "\n";
134 0 : }
|