LCOV - code coverage report
Current view: top level - src/base - NavierStokesApp.C (source / functions) Hit Total Coverage
Test: idaholab/moose navier_stokes: 9fc4b0 Lines: 72 79 91.1 %
Date: 2025-08-14 10:14:56 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       14326 : NavierStokesApp::validParams()
      20             : {
      21       14326 :   InputParameters params = MooseApp::validParams();
      22             : 
      23       14326 :   params.set<bool>("automatic_automatic_scaling") = false;
      24             : 
      25       14326 :   params.set<bool>("use_legacy_material_output") = false;
      26       14326 :   params.set<bool>("use_legacy_initial_residual_evaluation_behavior") = false;
      27             : 
      28       14326 :   return params;
      29           0 : }
      30             : 
      31             : registerKnownLabel("NavierStokesApp");
      32             : 
      33       14333 : NavierStokesApp::NavierStokesApp(const InputParameters & parameters) : MooseApp(parameters)
      34             : {
      35       14333 :   NavierStokesApp::registerAll(_factory, _action_factory, _syntax);
      36       14333 : }
      37             : 
      38       14154 : NavierStokesApp::~NavierStokesApp() {}
      39             : 
      40             : void
      41       14252 : NavierStokesApp::registerApps()
      42             : {
      43       14252 :   registerApp(NavierStokesApp);
      44             : 
      45       14252 :   FluidPropertiesApp::registerApps();
      46       14252 :   HeatTransferApp::registerApps();
      47       14252 : }
      48             : 
      49             : void
      50       28659 : NavierStokesApp::registerAll(Factory & f, ActionFactory & af, Syntax & syntax)
      51             : {
      52       28659 :   FluidPropertiesApp::registerAll(f, af, syntax);
      53       28659 :   HeatTransferApp::registerAll(f, af, syntax);
      54       28659 :   Registry::registerObjectsTo(f, {"NavierStokesApp"});
      55       28659 :   Registry::registerActionsTo(af, {"NavierStokesApp"});
      56             : 
      57             :   // Physics syntax
      58       57318 :   registerSyntax("WCNSFVFlowPhysics", "Physics/NavierStokes/Flow/*");
      59       57318 :   registerSyntax("WCNSLinearFVFlowPhysics", "Physics/NavierStokes/FlowSegregated/*");
      60       57318 :   registerSyntax("WCNSFVFluidHeatTransferPhysics", "Physics/NavierStokes/FluidHeatTransfer/*");
      61       57318 :   registerSyntax("WCNSLinearFVFluidHeatTransferPhysics",
      62             :                  "Physics/NavierStokes/FluidHeatTransferSegregated/*");
      63       57318 :   registerSyntax("WCNSFVScalarTransportPhysics", "Physics/NavierStokes/ScalarTransport/*");
      64       57318 :   registerSyntax("WCNSLinearFVScalarTransportPhysics",
      65             :                  "Physics/NavierStokes/ScalarTransportSegregated/*");
      66       57318 :   registerSyntax("WCNSFVTurbulencePhysics", "Physics/NavierStokes/Turbulence/*");
      67       57318 :   registerSyntax("PNSFVSolidHeatTransferPhysics", "Physics/NavierStokes/SolidHeatTransfer/*");
      68       57318 :   registerSyntax("WCNSFVTwoPhaseMixturePhysics", "Physics/NavierStokes/TwoPhaseMixture/*");
      69       57318 :   registerSyntax("WCNSLinearFVTwoPhaseMixturePhysics",
      70             :                  "Physics/NavierStokes/TwoPhaseMixtureSegregated/*");
      71             : 
      72             :   // Create the Action syntax
      73       57318 :   registerSyntax("CNSAction", "Modules/CompressibleNavierStokes");
      74       57318 :   registerSyntax("INSAction", "Modules/IncompressibleNavierStokes");
      75             : 
      76             :   // Deprecated action syntax for NavierStokesFV
      77       28659 :   registerTask("nsfv_action_deprecation_task", /*is_required=*/false);
      78       57318 :   registerSyntax("NSFVActionDeprecation", "Modules/NavierStokesFV");
      79       57318 :   registerSyntax("WCNSFVFlowPhysics", "Modules/NavierStokesFV");
      80       57318 :   registerSyntax("WCNSFVFluidHeatTransferPhysics", "Modules/NavierStokesFV");
      81       57318 :   registerSyntax("WCNSFVScalarTransportPhysics", "Modules/NavierStokesFV");
      82       57318 :   registerSyntax("WCNSFVTurbulencePhysics", "Modules/NavierStokesFV");
      83             : 
      84             :   // Additional tasks to make the Physics work out
      85       28659 :   registerTask("get_turbulence_physics", /*is_required=*/false);
      86       57318 :   addTaskDependency("get_turbulence_physics", "init_physics");
      87       57318 :   addTaskDependency("check_integrity_early_physics", "get_turbulence_physics");
      88             : 
      89             :   // add variables action
      90       28659 :   registerTask("add_navier_stokes_variables", /*is_required=*/false);
      91       57318 :   addTaskDependency("add_navier_stokes_variables", "add_variable");
      92       57318 :   addTaskDependency("add_mortar_variable", "add_navier_stokes_variables");
      93             : 
      94             :   // add ICs action
      95       28659 :   registerTask("add_navier_stokes_ics", /*is_required=*/false);
      96       57318 :   addTaskDependency("add_navier_stokes_ics", "add_ic");
      97       57318 :   addTaskDependency("add_constraint", "add_navier_stokes_ics");
      98             : 
      99             :   // add user objects action
     100       28659 :   registerTask("add_navier_stokes_user_objects", /*is_required=*/false);
     101       57318 :   addTaskDependency("add_navier_stokes_user_objects", "add_user_object");
     102       57318 :   addTaskDependency("add_distribution", "add_navier_stokes_user_objects");
     103             : 
     104             :   // add Kernels action
     105       28659 :   registerTask("add_navier_stokes_kernels", /*is_required=*/false);
     106       57318 :   addTaskDependency("add_navier_stokes_kernels", "add_kernel");
     107       57318 :   addTaskDependency("resolve_optional_materials", "add_navier_stokes_kernels");
     108             : 
     109             :   // add BCs actions
     110       28659 :   registerTask("add_navier_stokes_bcs", /*is_required=*/false);
     111       57318 :   addTaskDependency("add_navier_stokes_bcs", "add_bc");
     112       57318 :   addTaskDependency("resolve_optional_materials", "add_navier_stokes_bcs");
     113             : 
     114             :   // register attributes
     115       28659 :   registerTask("ns_meta_action", /*is_required=*/true);
     116       57318 :   addTaskDependency("ns_meta_action", "meta_action");
     117       57318 :   addTaskDependency("dynamic_object_registration", "ns_meta_action");
     118             : 
     119             :   // register attributes
     120       28659 :   registerTask("add_navier_stokes_pps", /*is_required=*/false);
     121       57318 :   addTaskDependency("add_navier_stokes_pps", "add_postprocessor");
     122       57318 :   addTaskDependency("add_vector_postprocessor", "add_navier_stokes_pps");
     123             : 
     124             :   // register attributes
     125       28659 :   registerTask("add_navier_stokes_materials", /*is_required=*/false);
     126       57318 :   addTaskDependency("add_navier_stokes_materials", "add_material");
     127       57318 :   addTaskDependency("add_master_action_material", "add_navier_stokes_materials");
     128             : 
     129             :   // register tasks for copying variables
     130       28659 :   registerTask("navier_stokes_check_copy_nodal_vars", /*is_required=*/false);
     131       57318 :   addTaskDependency("navier_stokes_check_copy_nodal_vars", "check_copy_nodal_vars");
     132       57318 :   addTaskDependency("setup_mesh", "navier_stokes_check_copy_nodal_vars");
     133             : 
     134       28659 :   registerTask("navier_stokes_copy_nodal_vars", /*is_required=*/false);
     135       57318 :   addTaskDependency("navier_stokes_copy_nodal_vars", "copy_nodal_vars");
     136       57318 :   addTaskDependency("add_material", "navier_stokes_copy_nodal_vars");
     137       28659 : }
     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