LCOV - code coverage report
Current view: top level - src/userobjects - ADBoundaryFluxBase.C (source / functions) Hit Total Coverage
Test: idaholab/moose thermal_hydraulics: #30301 (3b550b) with base 2ad78d Lines: 24 25 96.0 %
Date: 2025-07-30 13:02:48 Functions: 7 7 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 "ADBoundaryFluxBase.h"
      11             : 
      12             : InputParameters
      13       10445 : ADBoundaryFluxBase::validParams()
      14             : {
      15       10445 :   InputParameters params = GeneralUserObject::validParams();
      16       10445 :   params.addClassDescription("Base class for computing boundary fluxes");
      17       10445 :   return params;
      18           0 : }
      19             : 
      20        5697 : ADBoundaryFluxBase::ADBoundaryFluxBase(const InputParameters & parameters)
      21             :   : ThreadedGeneralUserObject(parameters),
      22        5697 :     _cached_flux_elem_id(libMesh::invalid_uint),
      23        5697 :     _cached_flux_side_id(libMesh::invalid_uint)
      24             : {
      25        5697 : }
      26             : 
      27             : void
      28      363010 : ADBoundaryFluxBase::initialize()
      29             : {
      30      363010 :   _cached_flux_elem_id = libMesh::invalid_uint;
      31      363010 :   _cached_flux_side_id = libMesh::invalid_uint;
      32      363010 : }
      33             : 
      34             : void
      35      363010 : ADBoundaryFluxBase::execute()
      36             : {
      37      363010 : }
      38             : 
      39             : void
      40      288255 : ADBoundaryFluxBase::finalize()
      41             : {
      42      288255 : }
      43             : 
      44             : void
      45       74755 : ADBoundaryFluxBase::threadJoin(const UserObject &)
      46             : {
      47       74755 : }
      48             : 
      49             : const std::vector<ADReal> &
      50      562196 : ADBoundaryFluxBase::getFlux(unsigned int iside,
      51             :                             dof_id_type ielem,
      52             :                             const std::vector<ADReal> & uvec1,
      53             :                             const RealVectorValue & dwave) const
      54             : {
      55      562196 :   if (_cached_flux_elem_id != ielem || _cached_flux_side_id != iside)
      56             :   {
      57      186289 :     _cached_flux_elem_id = ielem;
      58      186289 :     _cached_flux_side_id = iside;
      59             : 
      60      186289 :     calcFlux(iside, ielem, uvec1, dwave, _flux);
      61             :   }
      62      562196 :   return _flux;
      63             : }

Generated by: LCOV version 1.14