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

Generated by: LCOV version 1.14