LCOV - code coverage report
Current view: top level - src/bcs - NSEnergyInviscidUnspecifiedBC.C (source / functions) Hit Total Coverage
Test: idaholab/moose navier_stokes: 9fc4b0 Lines: 0 22 0.0 %
Date: 2025-08-14 10:14:56 Functions: 0 6 0.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             : // Navier-Stokes includes
      11             : #include "NS.h"
      12             : #include "NSEnergyInviscidUnspecifiedBC.h"
      13             : 
      14             : registerMooseObject("NavierStokesApp", NSEnergyInviscidUnspecifiedBC);
      15             : 
      16             : InputParameters
      17           0 : NSEnergyInviscidUnspecifiedBC::validParams()
      18             : {
      19           0 :   InputParameters params = NSEnergyInviscidBC::validParams();
      20           0 :   params.addRequiredCoupledVar(NS::pressure, "pressure");
      21           0 :   return params;
      22           0 : }
      23             : 
      24           0 : NSEnergyInviscidUnspecifiedBC::NSEnergyInviscidUnspecifiedBC(const InputParameters & parameters)
      25           0 :   : NSEnergyInviscidBC(parameters), _pressure(coupledValue(NS::pressure))
      26             : {
      27           0 : }
      28             : 
      29             : Real
      30           0 : NSEnergyInviscidUnspecifiedBC::computeQpResidual()
      31             : {
      32             :   // Velocity vector object
      33           0 :   RealVectorValue vel(_u_vel[_qp], _v_vel[_qp], _w_vel[_qp]);
      34             : 
      35             :   // Normal component
      36           0 :   Real un = vel * _normals[_qp];
      37             : 
      38           0 :   return qpResidualHelper(_pressure[_qp], un);
      39             : }
      40             : 
      41             : Real
      42           0 : NSEnergyInviscidUnspecifiedBC::computeQpJacobian()
      43             : {
      44           0 :   return computeJacobianHelper(/*on-diagonal variable is energy=*/4);
      45             : }
      46             : 
      47             : Real
      48           0 : NSEnergyInviscidUnspecifiedBC::computeQpOffDiagJacobian(unsigned jvar)
      49             : {
      50           0 :   if (isNSVariable(jvar))
      51           0 :     return computeJacobianHelper(mapVarNumber(jvar));
      52             :   else
      53             :     return 0.0;
      54             : }
      55             : 
      56             : Real
      57           0 : NSEnergyInviscidUnspecifiedBC::computeJacobianHelper(unsigned var_number)
      58             : {
      59             :   // Velocity vector object
      60           0 :   RealVectorValue vel(_u_vel[_qp], _v_vel[_qp], _w_vel[_qp]);
      61             : 
      62             :   // Normal component of velocity
      63           0 :   Real un = vel * _normals[_qp];
      64             : 
      65             :   // When both u.n and pressure are unspecified, all 3 Jacobian terms apply.
      66             :   // See base class for details.
      67           0 :   return qpJacobianTermA(var_number, _pressure[_qp]) + qpJacobianTermB(var_number, un) +
      68           0 :          qpJacobianTermC(var_number, un);
      69             : }

Generated by: LCOV version 1.14