LCOV - code coverage report
Current view: top level - src/bcs - INSFEFluidIntegratedBCBase.C (source / functions) Hit Total Coverage
Test: idaholab/moose navier_stokes: 9fc4b0 Lines: 38 39 97.4 %
Date: 2025-08-14 10:14:56 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 "INSFEFluidIntegratedBCBase.h"
      11             : #include "MooseMesh.h"
      12             : 
      13             : InputParameters
      14         697 : INSFEFluidIntegratedBCBase::validParams()
      15             : {
      16         697 :   InputParameters params = IntegratedBC::validParams();
      17             : 
      18             :   // Coupled variables
      19        1394 :   params.addRequiredCoupledVar("u", "velocity in x-coord");
      20        1394 :   params.addCoupledVar("v", "velocity in y-coord"); // required in 2D and 3D
      21        1394 :   params.addCoupledVar("w", "velocity in z-coord"); // required in 3D
      22             : 
      23        1394 :   params.addRequiredCoupledVar("pressure", "pressure");
      24        1394 :   params.addRequiredCoupledVar("temperature", "temperature");
      25        1394 :   params.addCoupledVar("porosity", "porosity");
      26             : 
      27        1394 :   params.addRequiredParam<UserObjectName>("eos", "The name of equation of state object to use.");
      28         697 :   return params;
      29           0 : }
      30             : 
      31         374 : INSFEFluidIntegratedBCBase::INSFEFluidIntegratedBCBase(const InputParameters & parameters)
      32             :   : IntegratedBC(parameters),
      33             :     // Coupled variables
      34         374 :     _u_vel(coupledValue("u")),
      35         374 :     _v_vel(_mesh.dimension() >= 2 ? coupledValue("v") : _zero),
      36         374 :     _w_vel(_mesh.dimension() == 3 ? coupledValue("w") : _zero),
      37         374 :     _pressure(coupledValue("pressure")),
      38         374 :     _temperature(coupledValue("temperature")),
      39         748 :     _rho(getMaterialProperty<Real>("rho_fluid")),
      40             :     // Gradients
      41         374 :     _grad_u_vel(coupledGradient("u")),
      42         374 :     _grad_v_vel(_mesh.dimension() >= 2 ? coupledGradient("v") : _grad_zero),
      43         374 :     _grad_w_vel(_mesh.dimension() == 3 ? coupledGradient("w") : _grad_zero),
      44         374 :     _grad_pressure(coupledGradient("pressure")),
      45         374 :     _grad_temperature(coupledGradient("temperature")),
      46             :     // Variable numberings
      47         374 :     _u_vel_var_number(coupled("u")),
      48         374 :     _v_vel_var_number(_mesh.dimension() >= 2 ? coupled("v") : libMesh::invalid_uint),
      49         374 :     _w_vel_var_number(_mesh.dimension() == 3 ? coupled("w") : libMesh::invalid_uint),
      50         374 :     _pressure_var_number(coupled("pressure")),
      51         374 :     _temperature_var_number(coupled("temperature")),
      52             : 
      53         748 :     _has_porosity(isParamValid("porosity")),
      54         374 :     _porosity(_has_porosity ? coupledValue("porosity") : _zero),
      55             : 
      56         748 :     _eos(getUserObject<SinglePhaseFluidProperties>("eos"))
      57             : {
      58         374 : }
      59             : 
      60             : unsigned
      61      565248 : INSFEFluidIntegratedBCBase::mapVarNumber(unsigned var)
      62             : {
      63             :   // Convert the Moose numbering to:
      64             :   // 0 for pressure
      65             :   // 1 for u
      66             :   // 2 for v
      67             :   // 3 for w
      68             :   // 4 for temperature
      69             :   // regardless of the problem dimension, etc.
      70             :   unsigned mapped_var_number = 99;
      71             : 
      72      565248 :   if (var == _pressure_var_number)
      73             :     mapped_var_number = 0;
      74      502912 :   else if (var == _u_vel_var_number)
      75             :     mapped_var_number = 1;
      76      333312 :   else if (var == _v_vel_var_number)
      77             :     mapped_var_number = 2;
      78      137856 :   else if (var == _w_vel_var_number)
      79             :     mapped_var_number = 3;
      80      137856 :   else if (var == _temperature_var_number)
      81             :     mapped_var_number = 4;
      82             :   else
      83             :     mapped_var_number = 99;
      84             : 
      85      565248 :   return mapped_var_number;
      86             : }

Generated by: LCOV version 1.14