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 "PiecewiseConstantVariable.h" 11 : #include "NS.h" 12 : #include "NSFVUtils.h" 13 : 14 : registerMooseObject("NavierStokesApp", PiecewiseConstantVariable); 15 : 16 : InputParameters 17 246 : PiecewiseConstantVariable::validParams() 18 : { 19 246 : return INSFVVariable::validParams(); 20 : } 21 : 22 132 : PiecewiseConstantVariable::PiecewiseConstantVariable(const InputParameters & params) 23 132 : : INSFVVariable(params) 24 : { 25 132 : } 26 : 27 : bool 28 25124 : PiecewiseConstantVariable::isExtrapolatedBoundaryFace(const FaceInfo & fi, 29 : const Elem * const elem, 30 : const Moose::StateArg & time) const 31 : { 32 25124 : if (isDirichletBoundaryFace(fi, elem, time)) 33 : return false; 34 25124 : if (!isInternalFace(fi)) 35 : return true; 36 : 37 20516 : return !MooseUtils::relativeFuzzyEqual((*this)(Moose::ElemArg{&fi.elem(), false}, time), 38 41032 : (*this)(Moose::ElemArg{fi.neighborPtr(), false}, time)); 39 : }