LCOV - code coverage report
Current view: top level - src/base - NavierStokesApp.C (source / functions) Hit Total Coverage
Test: idaholab/moose navier_stokes: #31405 (292dce) with base fef103 Lines: 72 79 91.1 %
Date: 2025-09-04 07:54:44 Functions: 5 8 62.5 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //* This file is part of the MOOSE framework
       2             : //* https://mooseframework.inl.gov
       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 "NavierStokesApp.h"
      11             : #include "Moose.h"
      12             : #include "AppFactory.h"
      13             : #include "MooseSyntax.h"
      14             : 
      15             : #include "FluidPropertiesApp.h"
      16             : #include "HeatTransferApp.h"
      17             : 
      18             : InputParameters
      19       14346 : NavierStokesApp::validParams()
      20             : {
      21       14346 :   InputParameters params = MooseApp::validParams();
      22             : 
      23       14346 :   params.set<bool>("automatic_automatic_scaling") = false;
      24             : 
      25       14346 :   params.set<bool>("use_legacy_material_output") = false;
      26       14346 :   params.set<bool>("use_legacy_initial_residual_evaluation_behavior") = false;
      27             : 
      28       14346 :   return params;
      29           0 : }
      30             : 
      31             : registerKnownLabel("NavierStokesApp");
      32             : 
      33       14353 : NavierStokesApp::NavierStokesApp(const InputParameters & parameters) : MooseApp(parameters)
      34             : {
      35       14353 :   NavierStokesApp::registerAll(_factory, _action_factory, _syntax);
      36       14353 : }
      37             : 
      38       14174 : NavierStokesApp::~NavierStokesApp() {}
      39             : 
      40             : void
      41       14272 : NavierStokesApp::registerApps()
      42             : {
      43       14272 :   registerApp(NavierStokesApp);
      44             : 
      45       14272 :   FluidPropertiesApp::registerApps();
      46       14272 :   HeatTransferApp::registerApps();
      47       14272 : }
      48             : 
      49             : void
      50       28699 : NavierStokesApp::registerAll(Factory & f, ActionFactory & af, Syntax & syntax)
      51             : {
      52       28699 :   FluidPropertiesApp::registerAll(f, af, syntax);
      53       28699 :   HeatTransferApp::registerAll(f, af, syntax);
      54       28699 :   Registry::registerObjectsTo(f, {"NavierStokesApp"});
      55       28699 :   Registry::registerActionsTo(af, {"NavierStokesApp"});
      56             : 
      57             :   // Physics syntax
      58       57398 :   registerSyntax("WCNSFVFlowPhysics", "Physics/NavierStokes/Flow/*");
      59       57398 :   registerSyntax("WCNSLinearFVFlowPhysics", "Physics/NavierStokes/FlowSegregated/*");
      60       57398 :   registerSyntax("WCNSFVFluidHeatTransferPhysics", "Physics/NavierStokes/FluidHeatTransfer/*");
      61       57398 :   registerSyntax("WCNSLinearFVFluidHeatTransferPhysics",
      62             :                  "Physics/NavierStokes/FluidHeatTransferSegregated/*");
      63       57398 :   registerSyntax("WCNSFVScalarTransportPhysics", "Physics/NavierStokes/ScalarTransport/*");
      64       57398 :   registerSyntax("WCNSLinearFVScalarTransportPhysics",
      65             :                  "Physics/NavierStokes/ScalarTransportSegregated/*");
      66       57398 :   registerSyntax("WCNSFVTurbulencePhysics", "Physics/NavierStokes/Turbulence/*");
      67       57398 :   registerSyntax("PNSFVSolidHeatTransferPhysics", "Physics/NavierStokes/SolidHeatTransfer/*");
      68       57398 :   registerSyntax("WCNSFVTwoPhaseMixturePhysics", "Physics/NavierStokes/TwoPhaseMixture/*");
      69       57398 :   registerSyntax("WCNSLinearFVTwoPhaseMixturePhysics",
      70             :                  "Physics/NavierStokes/TwoPhaseMixtureSegregated/*");
      71             : 
      72             :   // Create the Action syntax
      73       57398 :   registerSyntax("CNSAction", "Modules/CompressibleNavierStokes");
      74       57398 :   registerSyntax("INSAction", "Modules/IncompressibleNavierStokes");
      75             : 
      76             :   // Deprecated action syntax for NavierStokesFV
      77       28699 :   registerTask("nsfv_action_deprecation_task", /*is_required=*/false);
      78       57398 :   registerSyntax("NSFVActionDeprecation", "Modules/NavierStokesFV");
      79       57398 :   registerSyntax("WCNSFVFlowPhysics", "Modules/NavierStokesFV");
      80       57398 :   registerSyntax("WCNSFVFluidHeatTransferPhysics", "Modules/NavierStokesFV");
      81       57398 :   registerSyntax("WCNSFVScalarTransportPhysics", "Modules/NavierStokesFV");
      82       57398 :   registerSyntax("WCNSFVTurbulencePhysics", "Modules/NavierStokesFV");
      83             : 
      84             :   // Additional tasks to make the Physics work out
      85       28699 :   registerTask("get_turbulence_physics", /*is_required=*/false);
      86       57398 :   addTaskDependency("get_turbulence_physics", "init_physics");
      87       57398 :   addTaskDependency("check_integrity_early_physics", "get_turbulence_physics");
      88             : 
      89             :   // add variables action
      90       28699 :   registerTask("add_navier_stokes_variables", /*is_required=*/false);
      91       57398 :   addTaskDependency("add_navier_stokes_variables", "add_variable");
      92       57398 :   addTaskDependency("add_mortar_variable", "add_navier_stokes_variables");
      93             : 
      94             :   // add ICs action
      95       28699 :   registerTask("add_navier_stokes_ics", /*is_required=*/false);
      96       57398 :   addTaskDependency("add_navier_stokes_ics", "add_ic");
      97       57398 :   addTaskDependency("add_constraint", "add_navier_stokes_ics");
      98             : 
      99             :   // add user objects action
     100       28699 :   registerTask("add_navier_stokes_user_objects", /*is_required=*/false);
     101       57398 :   addTaskDependency("add_navier_stokes_user_objects", "add_user_object");
     102       57398 :   addTaskDependency("add_distribution", "add_navier_stokes_user_objects");
     103             : 
     104             :   // add Kernels action
     105       28699 :   registerTask("add_navier_stokes_kernels", /*is_required=*/false);
     106       57398 :   addTaskDependency("add_navier_stokes_kernels", "add_kernel");
     107       57398 :   addTaskDependency("resolve_optional_materials", "add_navier_stokes_kernels");
     108             : 
     109             :   // add BCs actions
     110       28699 :   registerTask("add_navier_stokes_bcs", /*is_required=*/false);
     111       57398 :   addTaskDependency("add_navier_stokes_bcs", "add_bc");
     112       57398 :   addTaskDependency("resolve_optional_materials", "add_navier_stokes_bcs");
     113             : 
     114             :   // register attributes
     115       28699 :   registerTask("ns_meta_action", /*is_required=*/true);
     116       57398 :   addTaskDependency("ns_meta_action", "meta_action");
     117       57398 :   addTaskDependency("dynamic_object_registration", "ns_meta_action");
     118             : 
     119             :   // register attributes
     120       28699 :   registerTask("add_navier_stokes_pps", /*is_required=*/false);
     121       57398 :   addTaskDependency("add_navier_stokes_pps", "add_postprocessor");
     122       57398 :   addTaskDependency("add_vector_postprocessor", "add_navier_stokes_pps");
     123             : 
     124             :   // register attributes
     125       28699 :   registerTask("add_navier_stokes_materials", /*is_required=*/false);
     126       57398 :   addTaskDependency("add_navier_stokes_materials", "add_material");
     127       57398 :   addTaskDependency("add_master_action_material", "add_navier_stokes_materials");
     128             : 
     129             :   // register tasks for copying variables
     130       28699 :   registerTask("navier_stokes_check_copy_nodal_vars", /*is_required=*/false);
     131       57398 :   addTaskDependency("navier_stokes_check_copy_nodal_vars", "check_copy_nodal_vars");
     132       57398 :   addTaskDependency("setup_mesh", "navier_stokes_check_copy_nodal_vars");
     133             : 
     134       28699 :   registerTask("navier_stokes_copy_nodal_vars", /*is_required=*/false);
     135       57398 :   addTaskDependency("navier_stokes_copy_nodal_vars", "copy_nodal_vars");
     136       57398 :   addTaskDependency("add_material", "navier_stokes_copy_nodal_vars");
     137       28699 : }
     138             : 
     139             : extern "C" void
     140           0 : NavierStokesApp__registerAll(Factory & f, ActionFactory & af, Syntax & s)
     141             : {
     142           0 :   NavierStokesApp::registerAll(f, af, s);
     143           0 : }
     144             : extern "C" void
     145           0 : NavierStokesApp__registerApps()
     146             : {
     147           0 :   NavierStokesApp::registerApps();
     148           0 : }

Generated by: LCOV version 1.14