LCOV - code coverage report
Current view: top level - src/userobjects - ADNumericalFlux3EqnBase.C (source / functions) Hit Total Coverage
Test: idaholab/moose thermal_hydraulics: #32971 (54bef8) with base c6cf66 Lines: 34 34 100.0 %
Date: 2026-05-29 20:41:18 Functions: 5 5 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 "ADNumericalFlux3EqnBase.h"
      11             : #include "THMIndicesVACE.h"
      12             : 
      13             : InputParameters
      14        4368 : ADNumericalFlux3EqnBase::validParams()
      15             : {
      16        4368 :   InputParameters params = NumericalFlux1D::validParams();
      17        4368 :   return params;
      18             : }
      19             : 
      20        2327 : ADNumericalFlux3EqnBase::ADNumericalFlux3EqnBase(const InputParameters & parameters)
      21        2327 :   : NumericalFlux1D(parameters)
      22             : {
      23        2327 : }
      24             : 
      25             : std::vector<ADReal>
      26     4974144 : ADNumericalFlux3EqnBase::convert1DInputTo3D(const std::vector<ADReal> & U_1d) const
      27             : {
      28     4974144 :   const auto n_passives = U_1d.size() - THMVACE1D::N_FLUX_INPUTS;
      29             : 
      30     4974144 :   std::vector<ADReal> U_3d(THMVACE3D::N_FLUX_INPUTS + n_passives);
      31     4974144 :   U_3d[THMVACE3D::RHOA] = U_1d[THMVACE1D::RHOA];
      32     4974144 :   U_3d[THMVACE3D::RHOUA] = U_1d[THMVACE1D::RHOUA];
      33     4974144 :   U_3d[THMVACE3D::RHOVA] = 0;
      34     4974144 :   U_3d[THMVACE3D::RHOWA] = 0;
      35     4974144 :   U_3d[THMVACE3D::RHOEA] = U_1d[THMVACE1D::RHOEA];
      36     4974144 :   U_3d[THMVACE3D::AREA] = U_1d[THMVACE1D::AREA];
      37     5013332 :   for (const auto i : make_range(n_passives))
      38       39188 :     U_3d[THMVACE3D::N_FLUX_INPUTS + i] = U_1d[THMVACE1D::N_FLUX_INPUTS + i];
      39             : 
      40     4974144 :   return U_3d;
      41             : }
      42             : 
      43             : std::vector<ADReal>
      44     4974144 : ADNumericalFlux3EqnBase::convert3DFluxTo1D(const std::vector<ADReal> & F_3d) const
      45             : {
      46     4974144 :   const auto n_passives = F_3d.size() - THMVACE3D::N_FLUX_OUTPUTS;
      47             : 
      48     4974144 :   std::vector<ADReal> F_1d(THMVACE1D::N_FLUX_OUTPUTS + n_passives);
      49     4974144 :   F_1d[THMVACE1D::MASS] = F_3d[THMVACE3D::MASS];
      50     4974144 :   F_1d[THMVACE1D::MOMENTUM] = F_3d[THMVACE3D::MOM_NORM];
      51     4974144 :   F_1d[THMVACE1D::ENERGY] = F_3d[THMVACE3D::ENERGY];
      52     5013332 :   for (const auto i : make_range(n_passives))
      53       39188 :     F_1d[THMVACE1D::N_FLUX_OUTPUTS + i] = F_3d[THMVACE3D::N_FLUX_OUTPUTS + i];
      54             : 
      55     4974144 :   return F_1d;
      56             : }
      57             : 
      58             : void
      59     4974144 : ADNumericalFlux3EqnBase::transform3DFluxDirection(std::vector<ADReal> & F_3d, Real nLR_dot_d) const
      60             : {
      61     4974144 :   F_3d[THMVACE3D::MASS] *= nLR_dot_d;
      62     4974144 :   F_3d[THMVACE3D::ENERGY] *= nLR_dot_d;
      63             : 
      64     4974144 :   const auto n_passives = F_3d.size() - THMVACE3D::N_FLUX_OUTPUTS;
      65     5013332 :   for (const auto i : make_range(n_passives))
      66       39188 :     F_3d[THMVACE3D::N_FLUX_OUTPUTS + i] *= nLR_dot_d;
      67     4974144 : }

Generated by: LCOV version 1.14