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 "PINSFVRhieChowInterpolatorSegregated.h" 11 : #include "NS.h" 12 : 13 : using namespace libMesh; 14 : 15 : registerMooseObject("NavierStokesApp", PINSFVRhieChowInterpolatorSegregated); 16 : 17 : InputParameters 18 82 : PINSFVRhieChowInterpolatorSegregated::validParams() 19 : { 20 82 : auto params = INSFVRhieChowInterpolatorSegregated::validParams(); 21 : 22 82 : params.addClassDescription("Computes H/A and 1/A together with face velocities for segregated " 23 : "porous medium momentum-pressure equations."); 24 : 25 82 : params.addParam<MooseFunctorName>(NS::porosity, "The porosity functor."); 26 : 27 82 : return params; 28 0 : } 29 : 30 41 : PINSFVRhieChowInterpolatorSegregated::PINSFVRhieChowInterpolatorSegregated( 31 41 : const InputParameters & params) 32 : : INSFVRhieChowInterpolatorSegregated(params), 33 82 : _eps(getFunctor<ADReal>(NS::porosity)), 34 41 : _epss(libMesh::n_threads(), nullptr) 35 : { 36 41 : const auto porosity_name = deduceFunctorName(NS::porosity); 37 95 : for (const auto tid : make_range(libMesh::n_threads())) 38 54 : _epss[tid] = &UserObject::_subproblem.getFunctor<ADReal>(porosity_name, tid, name(), true); 39 41 : }