LCOV - code coverage report
Current view: top level - src/variables - CoupleableMooseVariableDependencyIntermediateInterface.C (source / functions) Hit Total Coverage
Test: idaholab/moose framework: 2bf808 Lines: 26 34 76.5 %
Date: 2025-07-17 01:28:37 Functions: 3 3 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 "CoupleableMooseVariableDependencyIntermediateInterface.h"
      11             : 
      12             : #include "FEProblemBase.h"
      13             : 
      14      278411 : CoupleableMooseVariableDependencyIntermediateInterface::
      15             :     CoupleableMooseVariableDependencyIntermediateInterface(const MooseObject * moose_object,
      16             :                                                            bool nodal,
      17      278411 :                                                            bool is_fv)
      18             :   : Coupleable(moose_object, nodal, is_fv),
      19             :     ScalarCoupleable(moose_object),
      20      278411 :     MooseVariableDependencyInterface(moose_object)
      21             : {
      22      335303 :   for (MooseVariableFEBase * coupled_var : getCoupledMooseVars())
      23       56900 :     addMooseVariableDependency(coupled_var);
      24      278403 : }
      25             : 
      26             : const VariableValue &
      27          13 : CoupleableMooseVariableDependencyIntermediateInterface::coupledValueByName(
      28             :     const std::string & var_name)
      29             : {
      30          13 :   MooseVariableFieldBase * moose_var = &_c_fe_problem.getVariable(
      31          13 :       _c_tid, var_name, Moose::VarKindType::VAR_ANY, Moose::VarFieldType::VAR_FIELD_ANY);
      32          13 :   _coupled_moose_vars.push_back(moose_var);
      33          13 :   MooseVariable * var = &_c_fe_problem.getStandardVariable(_c_tid, var_name);
      34          13 :   _coupled_standard_moose_vars.push_back(var);
      35             : 
      36          13 :   addMooseVariableDependency(moose_var);
      37             : 
      38          13 :   if (!_coupleable_neighbor)
      39             :   {
      40          13 :     if (_c_nodal)
      41           0 :       return (_c_is_implicit) ? var->dofValues() : var->dofValuesOld();
      42             :     else
      43          13 :       return (_c_is_implicit) ? var->sln() : var->slnOld();
      44             :   }
      45             :   else
      46             :   {
      47           0 :     if (_c_nodal)
      48           0 :       return (_c_is_implicit) ? var->dofValuesNeighbor() : var->dofValuesOldNeighbor();
      49             :     else
      50           0 :       return (_c_is_implicit) ? var->slnNeighbor() : var->slnOldNeighbor();
      51             :   }
      52             : }
      53             : 
      54             : const ArrayVariableValue &
      55          13 : CoupleableMooseVariableDependencyIntermediateInterface::coupledArrayValueByName(
      56             :     const std::string & var_name)
      57             : {
      58          13 :   MooseVariableFieldBase * moose_var = &_c_fe_problem.getVariable(
      59          13 :       _c_tid, var_name, Moose::VarKindType::VAR_ANY, Moose::VarFieldType::VAR_FIELD_ANY);
      60          13 :   _coupled_moose_vars.push_back(moose_var);
      61          13 :   ArrayMooseVariable * var = &_c_fe_problem.getArrayVariable(_c_tid, var_name);
      62          13 :   _coupled_array_moose_vars.push_back(var);
      63             : 
      64          13 :   addMooseVariableDependency(moose_var);
      65             : 
      66          13 :   if (!_coupleable_neighbor)
      67             :   {
      68          13 :     if (_c_nodal)
      69           0 :       return (_c_is_implicit) ? var->dofValues() : var->dofValuesOld();
      70             :     else
      71          13 :       return (_c_is_implicit) ? var->sln() : var->slnOld();
      72             :   }
      73             :   else
      74             :   {
      75           0 :     if (_c_nodal)
      76           0 :       return (_c_is_implicit) ? var->dofValuesNeighbor() : var->dofValuesOldNeighbor();
      77             :     else
      78           0 :       return (_c_is_implicit) ? var->slnNeighbor() : var->slnOldNeighbor();
      79             :   }
      80             : }

Generated by: LCOV version 1.14