LCOV - code coverage report
Current view: top level - src/userobjects - InternalSideFluxBase.C (source / functions) Hit Total Coverage
Test: idaholab/moose rdg: #31405 (292dce) with base fef103 Lines: 36 37 97.3 %
Date: 2025-09-04 07:56:15 Functions: 8 8 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 "InternalSideFluxBase.h"
      11             : 
      12             : InputParameters
      13         116 : InternalSideFluxBase::validParams()
      14             : {
      15         116 :   InputParameters params = GeneralUserObject::validParams();
      16         116 :   params.addClassDescription("A base class for computing and caching internal side flux.");
      17         116 :   return params;
      18           0 : }
      19             : 
      20          67 : InternalSideFluxBase::InternalSideFluxBase(const InputParameters & parameters)
      21             :   : ThreadedGeneralUserObject(parameters),
      22          67 :     _cached_flux_elem_id(libMesh::invalid_uint),
      23          67 :     _cached_flux_neig_id(libMesh::invalid_uint),
      24          67 :     _cached_jacobian_elem_id(libMesh::invalid_uint),
      25          67 :     _cached_jacobian_neig_id(libMesh::invalid_uint)
      26             : {
      27          67 : }
      28             : 
      29             : void
      30        1004 : InternalSideFluxBase::initialize()
      31             : {
      32        1004 :   _cached_flux_elem_id = libMesh::invalid_uint;
      33        1004 :   _cached_flux_neig_id = libMesh::invalid_uint;
      34        1004 :   _cached_jacobian_elem_id = libMesh::invalid_uint;
      35        1004 :   _cached_jacobian_neig_id = libMesh::invalid_uint;
      36        1004 : }
      37             : 
      38             : void
      39        1004 : InternalSideFluxBase::execute()
      40             : {
      41        1004 : }
      42             : 
      43             : void
      44         744 : InternalSideFluxBase::finalize()
      45             : {
      46         744 : }
      47             : 
      48             : void
      49         260 : InternalSideFluxBase::threadJoin(const UserObject &)
      50             : {
      51         260 : }
      52             : 
      53             : const std::vector<Real> &
      54       89852 : InternalSideFluxBase::getFlux(unsigned int iside,
      55             :                               dof_id_type ielem,
      56             :                               dof_id_type ineig,
      57             :                               const std::vector<Real> & uvec1,
      58             :                               const std::vector<Real> & uvec2,
      59             :                               const RealVectorValue & dwave) const
      60             : {
      61       89852 :   if (_cached_flux_elem_id != ielem || _cached_flux_neig_id != ineig)
      62             :   {
      63       44926 :     _cached_flux_elem_id = ielem;
      64       44926 :     _cached_flux_neig_id = ineig;
      65             : 
      66       44926 :     calcFlux(iside, ielem, ineig, uvec1, uvec2, dwave, _flux);
      67             :   }
      68       89852 :   return _flux;
      69             : }
      70             : 
      71             : const DenseMatrix<Real> &
      72       48312 : InternalSideFluxBase::getJacobian(Moose::DGResidualType type,
      73             :                                   unsigned int iside,
      74             :                                   dof_id_type ielem,
      75             :                                   dof_id_type ineig,
      76             :                                   const std::vector<Real> & uvec1,
      77             :                                   const std::vector<Real> & uvec2,
      78             :                                   const RealVectorValue & dwave) const
      79             : {
      80       48312 :   if (_cached_jacobian_elem_id != ielem || _cached_jacobian_neig_id != ineig)
      81             :   {
      82        6039 :     _cached_jacobian_elem_id = ielem;
      83        6039 :     _cached_jacobian_neig_id = ineig;
      84             : 
      85        6039 :     calcJacobian(iside, ielem, ineig, uvec1, uvec2, dwave, _jac1, _jac2);
      86             :   }
      87             : 
      88       48312 :   if (type == Moose::Element)
      89       24156 :     return _jac1;
      90             :   else
      91       24156 :     return _jac2;
      92             : }

Generated by: LCOV version 1.14