LCOV - code coverage report
Current view: top level - include/userobjects - RhieChowFaceFluxProvider.h (source / functions) Hit Total Coverage
Test: idaholab/moose navier_stokes: 9fc4b0 Lines: 0 1 0.0 %
Date: 2025-08-14 10:14:56 Functions: 0 1 0.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             : #pragma once
      11             : 
      12             : #include "GeneralUserObject.h"
      13             : #include "BlockRestrictable.h"
      14             : #include "FaceArgInterface.h"
      15             : #include "MooseTypes.h"
      16             : 
      17             : class MooseMesh;
      18             : namespace libMesh
      19             : {
      20             : class Elem;
      21             : class MeshBase;
      22             : }
      23             : 
      24             : class RhieChowFaceFluxProvider : public GeneralUserObject,
      25             :                                  public BlockRestrictable,
      26             :                                  public FaceArgInterface
      27             : {
      28             : public:
      29             :   static InputParameters validParams();
      30             :   RhieChowFaceFluxProvider(const InputParameters & params);
      31             : 
      32             :   /**
      33             :    * Retrieve the volumetric face flux, will not include derivatives
      34             :    * @param m The velocity interpolation method. This is either Rhie-Chow or Average. Rhie-Chow is
      35             :    * recommended as it avoids checkerboards in the pressure field
      36             :    * @param fi The face that we wish to retrieve the velocity for
      37             :    * @param tid The thread ID
      38             :    * @return The face velocity
      39             :    */
      40             :   virtual Real getVolumetricFaceFlux(const Moose::FV::InterpMethod m,
      41             :                                      const FaceInfo & fi,
      42             :                                      const Moose::StateArg & time,
      43             :                                      const THREAD_ID tid,
      44             :                                      bool subtract_mesh_velocity) const = 0;
      45             : 
      46             :   bool hasFaceSide(const FaceInfo & fi, const bool fi_elem_side) const override;
      47             : 
      48             :   /// Returns whether the UO can support mesh velocity advection
      49           0 :   virtual bool supportMeshVelocity() const { return true; }
      50             : };

Generated by: LCOV version 1.14