LCOV - code coverage report
Current view: top level - src/postprocessors - SideDiffusiveFluxAverage.C (source / functions) Hit Total Coverage
Test: idaholab/moose framework: 2bf808 Lines: 25 25 100.0 %
Date: 2025-07-17 01:28:37 Functions: 8 14 57.1 %
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 "SideDiffusiveFluxAverage.h"
      11             : 
      12             : registerMooseObject("MooseApp", SideDiffusiveFluxAverage);
      13             : registerMooseObject("MooseApp", ADSideDiffusiveFluxAverage);
      14             : registerMooseObjectRenamed("MooseApp",
      15             :                            SideFluxAverage,
      16             :                            "06/30/2021 24:00",
      17             :                            SideDiffusiveFluxAverage);
      18             : registerMooseObjectRenamed("MooseApp",
      19             :                            ADSideFluxAverage,
      20             :                            "06/30/2021 24:00",
      21             :                            ADSideDiffusiveFluxAverage);
      22             : 
      23             : template <bool is_ad>
      24             : InputParameters
      25       57183 : SideDiffusiveFluxAverageTempl<is_ad>::validParams()
      26             : {
      27       57183 :   InputParameters params = SideDiffusiveFluxIntegralTempl<is_ad, Real>::validParams();
      28       57183 :   return params;
      29             : }
      30             : 
      31             : template <bool is_ad>
      32          63 : SideDiffusiveFluxAverageTempl<is_ad>::SideDiffusiveFluxAverageTempl(
      33             :     const InputParameters & parameters)
      34          63 :   : SideDiffusiveFluxIntegralTempl<is_ad, Real>(parameters), _volume(0)
      35             : {
      36          63 : }
      37             : 
      38             : template <bool is_ad>
      39             : void
      40          58 : SideDiffusiveFluxAverageTempl<is_ad>::initialize()
      41             : {
      42          58 :   SideDiffusiveFluxIntegralTempl<is_ad, Real>::initialize();
      43          58 :   _volume = 0;
      44          58 : }
      45             : 
      46             : template <bool is_ad>
      47             : void
      48         400 : SideDiffusiveFluxAverageTempl<is_ad>::execute()
      49             : {
      50         400 :   SideDiffusiveFluxIntegralTempl<is_ad, Real>::execute();
      51         400 :   _volume += this->_current_side_volume;
      52         400 : }
      53             : 
      54             : template <bool is_ad>
      55             : Real
      56          55 : SideDiffusiveFluxAverageTempl<is_ad>::getValue() const
      57             : {
      58          55 :   return _integral_value / _volume;
      59             : }
      60             : 
      61             : template <bool is_ad>
      62             : void
      63          55 : SideDiffusiveFluxAverageTempl<is_ad>::finalize()
      64             : {
      65          55 :   SideDiffusiveFluxIntegralTempl<is_ad, Real>::gatherSum(_integral_value);
      66          55 :   SideDiffusiveFluxIntegralTempl<is_ad, Real>::gatherSum(_volume);
      67          55 : }
      68             : 
      69             : template <bool is_ad>
      70             : void
      71           3 : SideDiffusiveFluxAverageTempl<is_ad>::threadJoin(const UserObject & y)
      72             : {
      73           3 :   SideDiffusiveFluxIntegralTempl<is_ad, Real>::threadJoin(y);
      74           3 :   const auto & pps = static_cast<const SideDiffusiveFluxAverageTempl<is_ad> &>(y);
      75           3 :   _volume += pps._volume;
      76           3 : }
      77             : 
      78             : template class SideDiffusiveFluxAverageTempl<false>;
      79             : template class SideDiffusiveFluxAverageTempl<true>;

Generated by: LCOV version 1.14