LCOV - code coverage report
Current view: top level - src/base - TensorMechanicsApp.C (source / functions) Hit Total Coverage
Test: idaholab/moose tensor_mechanics: d6b47a Lines: 53 87 60.9 %
Date: 2024-02-27 11:53:14 Functions: 3 14 21.4 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //* This file is part of the MOOSE framework
       2             : //* https://www.mooseframework.org
       3             : //*
       4             : //* All rights reserved, see COPYRIGHT for full restrictions
       5             : //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
       6             : //*
       7             : //* Licensed under LGPL 2.1, please see LICENSE for details
       8             : //* https://www.gnu.org/licenses/lgpl-2.1.html
       9             : 
      10             : #include "TensorMechanicsApp.h"
      11             : #include "Moose.h"
      12             : #include "AppFactory.h"
      13             : #include "MooseSyntax.h"
      14             : 
      15             : InputParameters
      16        4420 : TensorMechanicsApp::validParams()
      17             : {
      18        4420 :   auto params = MooseApp::validParams();
      19        4420 :   params.set<bool>("automatic_automatic_scaling") = false;
      20        4420 :   params.set<bool>("use_legacy_material_output") = false;
      21       13260 :   params.addCommandLineParam<bool>("parse_neml2_only",
      22             :                                    "--parse-neml2-only",
      23        8840 :                                    false,
      24             :                                    "Executes the [NEML2] block in the input file and terminate.");
      25        4420 :   return params;
      26           0 : }
      27             : 
      28             : registerKnownLabel("TensorMechanicsApp");
      29             : 
      30           0 : TensorMechanicsApp::TensorMechanicsApp(const InputParameters & parameters) : MooseApp(parameters)
      31             : {
      32           0 :   TensorMechanicsApp::registerAll(_factory, _action_factory, _syntax);
      33           0 : }
      34             : 
      35           0 : TensorMechanicsApp::~TensorMechanicsApp() {}
      36             : 
      37             : void
      38           0 : TensorMechanicsApp::setupOptions()
      39             : {
      40           0 :   MooseApp::setupOptions();
      41             : 
      42           0 :   if (getParam<bool>("parse_neml2_only"))
      43             :   {
      44             :     // Let parse_neml2 run before anything else, and stop after that.
      45           0 :     syntax().addDependency("determine_system_type", "parse_neml2");
      46           0 :     actionWarehouse().setFinalTask("parse_neml2");
      47             :   }
      48           0 : }
      49             : 
      50             : void
      51           0 : TensorMechanicsApp::runInputFile()
      52             : {
      53           0 :   MooseApp::runInputFile();
      54             : 
      55           0 :   if (getParam<bool>("parse_neml2_only"))
      56           0 :     _ready_to_exit = true;
      57           0 : }
      58             : 
      59             : static void
      60        4420 : associateSyntaxInner(Syntax & syntax, ActionFactory & /*action_factory*/)
      61             : {
      62        8840 :   registerSyntax("EmptyAction", "BCs/CavityPressure");
      63        8840 :   registerSyntax("CavityPressureAction", "BCs/CavityPressure/*");
      64        8840 :   registerSyntax("CavityPressurePPAction", "BCs/CavityPressure/*");
      65        8840 :   registerSyntax("CavityPressureUOAction", "BCs/CavityPressure/*");
      66             : 
      67        8840 :   registerSyntax("LegacyTensorMechanicsAction", "Kernels/TensorMechanics");
      68        8840 :   registerSyntax("LegacyDynamicTensorMechanicsAction", "Kernels/DynamicTensorMechanics");
      69        8840 :   registerSyntax("PoroMechanicsAction", "Kernels/PoroMechanics");
      70             : 
      71        8840 :   registerSyntax("EmptyAction", "BCs/Pressure");
      72        8840 :   registerSyntax("PressureAction", "BCs/Pressure/*");
      73        8840 :   registerSyntax("EmptyAction", "BCs/InclinedNoDisplacementBC");
      74        8840 :   registerSyntax("InclinedNoDisplacementBCAction", "BCs/InclinedNoDisplacementBC/*");
      75        8840 :   registerSyntax("EmptyAction", "BCs/CoupledPressure");
      76        8840 :   registerSyntax("CoupledPressureAction", "BCs/CoupledPressure/*");
      77             : 
      78        8840 :   registerSyntax("GeneralizedPlaneStrainAction",
      79             :                  "Modules/TensorMechanics/GeneralizedPlaneStrain/*");
      80        8840 :   registerSyntax("GlobalStrainAction", "Modules/TensorMechanics/GlobalStrain/*");
      81        8840 :   registerSyntax("CommonTensorMechanicsAction", "Modules/TensorMechanics/Master");
      82        8840 :   registerSyntax("CommonTensorMechanicsAction", "Modules/TensorMechanics/DynamicMaster");
      83        8840 :   registerSyntax("TensorMechanicsAction", "Modules/TensorMechanics/Master/*");
      84        8840 :   registerSyntax("DynamicTensorMechanicsAction", "Modules/TensorMechanics/DynamicMaster/*");
      85             : 
      86        8840 :   registerSyntax("CommonLineElementAction", "Modules/TensorMechanics/LineElementMaster");
      87        8840 :   registerSyntax("LineElementAction", "Modules/TensorMechanics/LineElementMaster/*");
      88             : 
      89        8840 :   registerSyntaxTask("DomainIntegralAction", "DomainIntegral", "add_user_object");
      90        8840 :   registerSyntaxTask("DomainIntegralAction", "DomainIntegral", "add_aux_variable");
      91        8840 :   registerSyntaxTask("DomainIntegralAction", "DomainIntegral", "add_aux_kernel");
      92        8840 :   registerSyntaxTask("DomainIntegralAction", "DomainIntegral", "add_postprocessor");
      93        8840 :   registerSyntaxTask("DomainIntegralAction", "DomainIntegral", "add_vector_postprocessor");
      94        8840 :   registerSyntaxTask("DomainIntegralAction", "DomainIntegral", "add_material");
      95             : 
      96        8840 :   registerSyntax("CommonCohesiveZoneAction", "Modules/TensorMechanics/CohesiveZoneMaster");
      97        8840 :   registerSyntax("CohesiveZoneAction", "Modules/TensorMechanics/CohesiveZoneMaster/*");
      98             : 
      99        8840 :   registerSyntax("EmptyAction", "Modules/TensorMechanics/MaterialVectorBodyForce");
     100        8840 :   registerSyntax("MaterialVectorBodyForceAction",
     101             :                  "Modules/TensorMechanics/MaterialVectorBodyForce/*");
     102             : 
     103        4420 :   registerTask("validate_coordinate_systems", /*is_required=*/false);
     104        8840 :   addTaskDependency("validate_coordinate_systems", "create_problem_complete");
     105        8840 :   addTaskDependency("setup_postprocessor_data", "validate_coordinate_systems");
     106             : 
     107        4420 :   registerTask("parse_neml2", /*required=*/true);
     108        8840 :   syntax.addDependency("add_material", "parse_neml2");
     109        8840 :   syntax.addDependency("add_user_object", "parse_neml2");
     110        8840 :   registerSyntax("NEML2Action", "NEML2");
     111        4420 : }
     112             : 
     113             : void
     114        4420 : TensorMechanicsApp::registerAll(Factory & f, ActionFactory & af, Syntax & s)
     115             : {
     116       13260 :   Registry::registerObjectsTo(f, {"TensorMechanicsApp"});
     117       13260 :   Registry::registerActionsTo(af, {"TensorMechanicsApp"});
     118        4420 :   associateSyntaxInner(s, af);
     119        4420 :   registerDataFilePath();
     120       17680 : }
     121             : 
     122             : void
     123           0 : TensorMechanicsApp::registerApps()
     124             : {
     125           0 :   registerApp(TensorMechanicsApp);
     126           0 : }
     127             : 
     128             : void
     129           0 : TensorMechanicsApp::registerObjects(Factory & factory)
     130             : {
     131             :   mooseDeprecated("use registerAll instead of registerObjects");
     132           0 :   Registry::registerObjectsTo(factory, {"TensorMechanicsApp"});
     133           0 : }
     134             : 
     135             : void
     136           0 : TensorMechanicsApp::associateSyntax(Syntax & syntax, ActionFactory & action_factory)
     137             : {
     138             :   mooseDeprecated("use registerAll instead of associateSyntax");
     139           0 :   Registry::registerActionsTo(action_factory, {"TensorMechanicsApp"});
     140           0 :   associateSyntaxInner(syntax, action_factory);
     141           0 : }
     142             : 
     143             : void
     144           0 : TensorMechanicsApp::registerExecFlags(Factory & /*factory*/)
     145             : {
     146             :   mooseDeprecated("Do not use registerExecFlags, apps no longer require flag registration");
     147           0 : }
     148             : 
     149             : extern "C" void
     150           0 : TensorMechanicsApp__registerAll(Factory & f, ActionFactory & af, Syntax & s)
     151             : {
     152           0 :   TensorMechanicsApp::registerAll(f, af, s);
     153           0 : }
     154             : extern "C" void
     155           0 : TensorMechanicsApp_registerApps()
     156             : {
     157           0 :   TensorMechanicsApp::registerApps();
     158           0 : }

Generated by: LCOV version 1.14