LCOV - code coverage report
Current view: top level - src/executioners - SIMPLESolve.C (source / functions) Hit Total Coverage
Test: idaholab/moose navier_stokes: 9fc4b0 Lines: 23 25 92.0 %
Date: 2025-08-14 10:14:56 Functions: 4 4 100.0 %
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 "SIMPLESolve.h"
      11             : #include "FEProblem.h"
      12             : #include "SegregatedSolverUtils.h"
      13             : #include "LinearSystem.h"
      14             : 
      15             : using namespace libMesh;
      16             : 
      17             : InputParameters
      18        1332 : SIMPLESolve::validParams()
      19             : {
      20        1332 :   InputParameters params = LinearAssemblySegregatedSolve::validParams();
      21        1332 :   return params;
      22             : }
      23             : 
      24         666 : SIMPLESolve::SIMPLESolve(Executioner & ex) : LinearAssemblySegregatedSolve(ex) {}
      25             : 
      26             : void
      27        2309 : SIMPLESolve::checkTimeKernels(LinearSystem & system)
      28             : {
      29             :   // check to make sure that we don't have any time kernels in this simulation (Steady State)
      30        2309 :   if (system.containsTimeKernel())
      31           0 :     mooseError("You have specified time kernels in your steady state simulation in system",
      32           0 :                system.name(),
      33             :                ", SIMPLE is a steady-state solver! Use the PIMPLE executioner instead.");
      34        2309 : }
      35             : 
      36             : void
      37         666 : SIMPLESolve::checkIntegrity()
      38             : {
      39             :   // check to make sure that we don't have any time kernels in this simulation (Steady State)
      40        1978 :   for (const auto system : _momentum_systems)
      41        1312 :     checkTimeKernels(*system);
      42             : 
      43         666 :   checkTimeKernels(_pressure_system);
      44             : 
      45         666 :   if (_has_energy_system)
      46         185 :     checkTimeKernels(*_energy_system);
      47             : 
      48         666 :   if (_has_turbulence_systems)
      49          81 :     for (const auto system : _turbulence_systems)
      50          54 :       checkTimeKernels(*system);
      51             : 
      52         666 :   if (_has_passive_scalar_systems)
      53          81 :     for (const auto system : _passive_scalar_systems)
      54          54 :       checkTimeKernels(*system);
      55             : 
      56         666 :   if (_has_active_scalar_systems)
      57          76 :     for (const auto system : _active_scalar_systems)
      58          38 :       checkTimeKernels(*system);
      59         666 : }

Generated by: LCOV version 1.14