LCOV - code coverage report
Current view: top level - src/base - MagpieApp.C (source / functions) Hit Total Coverage
Test: idaholab/magpie: 5710af Lines: 27 36 75.0 %
Date: 2025-07-21 23:34:39 Functions: 6 10 60.0 %
Legend: Lines: hit not hit

          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 : }

Generated by: LCOV version 1.14