LCOV - code coverage report
Current view: top level - src/hdgkernels - NavierStokesStressIPHDGAssemblyHelper.C (source / functions) Hit Total Coverage
Test: idaholab/moose navier_stokes: #32971 (54bef8) with base c6cf66 Lines: 46 48 95.8 %
Date: 2026-05-29 20:37:52 Functions: 6 6 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 "NavierStokesStressIPHDGAssemblyHelper.h"
      11             : #include "MooseTypes.h"
      12             : #include "MooseVariableDependencyInterface.h"
      13             : #include "MooseVariableScalar.h"
      14             : #include "SystemBase.h"
      15             : #include "MooseMesh.h"
      16             : #include "MooseObject.h"
      17             : #include "MaterialPropertyInterface.h"
      18             : #include "Assembly.h"
      19             : #include "MooseMesh.h"
      20             : 
      21             : using namespace libMesh;
      22             : 
      23             : InputParameters
      24        5043 : NavierStokesStressIPHDGAssemblyHelper::validParams()
      25             : {
      26        5043 :   auto params = DiffusionIPHDGAssemblyHelper::validParams();
      27       10086 :   params.addRequiredParam<NonlinearVariableName>(
      28             :       "pressure_variable", "The pressure variable that lives on element interiors.");
      29       10086 :   params.addRequiredParam<NonlinearVariableName>(
      30             :       "pressure_face_variable", "The pressure variable that lives on element faces.");
      31       10086 :   params.addRequiredParam<unsigned int>("component", "number of component (0 = x, 1 = y, 2 = z)");
      32        5043 :   return params;
      33           0 : }
      34             : 
      35        2534 : NavierStokesStressIPHDGAssemblyHelper::NavierStokesStressIPHDGAssemblyHelper(
      36             :     const MooseObject * const moose_obj,
      37             :     MooseVariableDependencyInterface * const mvdi,
      38             :     const TransientInterface * const ti,
      39             :     const MooseMesh & mesh,
      40             :     SystemBase & sys,
      41             :     const Assembly & assembly,
      42             :     const THREAD_ID tid,
      43             :     const std::set<SubdomainID> & block_ids,
      44        2534 :     const std::set<BoundaryID> & boundary_ids)
      45             :   : DiffusionIPHDGAssemblyHelper(moose_obj, mvdi, ti, sys, assembly, tid, block_ids, boundary_ids),
      46        2534 :     _pressure_var(sys.getFieldVariable<Real>(
      47        5068 :         tid, moose_obj->getParam<NonlinearVariableName>("pressure_variable"))),
      48        2534 :     _pressure_face_var(sys.getFieldVariable<Real>(
      49        2534 :         tid, moose_obj->getParam<NonlinearVariableName>("pressure_face_variable"))),
      50        2534 :     _pressure_sol(_pressure_var.adSln()),
      51        2534 :     _pressure_face_sol(_pressure_face_var.adSln()),
      52        2534 :     _coord_sys(assembly.coordSystem()),
      53        2534 :     _rz_radial_coord(mesh.getAxisymmetricRadialCoord()),
      54        7602 :     _component(moose_obj->getParam<unsigned int>("component"))
      55             : {
      56        2534 : }
      57             : 
      58             : void
      59     3790420 : NavierStokesStressIPHDGAssemblyHelper::scalarVolume()
      60             : {
      61     3790420 :   DiffusionIPHDGAssemblyHelper::scalarVolume();
      62             : 
      63    22795260 :   for (const auto qp : make_range(_ip_qrule->n_points()))
      64   102942152 :     for (const auto i : index_range(_scalar_re))
      65             :     {
      66   251811936 :       _scalar_re(i) -= _ip_JxW[qp] * (_grad_scalar_phi[i][qp](_component) * _pressure_sol[qp]);
      67    83937312 :       if (_coord_sys == Moose::COORD_RZ && (_rz_radial_coord == _component))
      68           0 :         _scalar_re(i) -= _pressure_sol[qp] / _ip_q_point[qp](_rz_radial_coord) * _scalar_phi[i][qp];
      69             :     }
      70     3790420 : }
      71             : 
      72             : void
      73    11196588 : NavierStokesStressIPHDGAssemblyHelper::scalarFace()
      74             : {
      75    11196588 :   DiffusionIPHDGAssemblyHelper::scalarFace();
      76             : 
      77    56019540 :   for (const auto i : index_range(_scalar_re))
      78   156925440 :     for (const auto qp : make_range(_ip_qrule_face->n_points()))
      79   224204976 :       _scalar_re(i) += _ip_JxW_face[qp] * _pressure_face_sol[qp] * _ip_normals[qp](_component) *
      80   224204976 :                        _scalar_phi_face[i][qp];
      81    11196588 : }
      82             : 
      83             : void
      84      175760 : NavierStokesStressIPHDGAssemblyHelper::scalarDirichlet(const Moose::Functor<Real> & dirichlet_value)
      85             : {
      86      175760 :   DiffusionIPHDGAssemblyHelper::scalarDirichlet(dirichlet_value);
      87             : 
      88     1009124 :   for (const auto i : index_range(_scalar_re))
      89     3108996 :     for (const auto qp : make_range(_ip_qrule_face->n_points()))
      90     4551264 :       _scalar_re(i) += _ip_JxW_face[qp] * _pressure_face_sol[qp] * _ip_normals[qp](_component) *
      91     4551264 :                        _scalar_phi_face[i][qp];
      92      175760 : }
      93             : 
      94             : void
      95    11196588 : NavierStokesStressIPHDGAssemblyHelper::lmFace()
      96             : {
      97    11196588 :   DiffusionIPHDGAssemblyHelper::lmFace();
      98             : 
      99    89609304 :   for (const auto i : index_range(_lm_re))
     100   268918128 :     for (const auto qp : make_range(_ip_qrule_face->n_points()))
     101   381010824 :       _lm_re(i) -= _ip_JxW_face[qp] * _pressure_face_sol[qp] * _ip_normals[qp](_component) *
     102   381010824 :                    _lm_phi_face[i][qp];
     103    11196588 : }

Generated by: LCOV version 1.14