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 "NSFVMixturePhaseInterface.h" 11 : #include "NS.h" 12 : 13 : registerMooseObject("NavierStokesApp", NSFVMixturePhaseInterface); 14 : 15 : InputParameters 16 246 : NSFVMixturePhaseInterface::validParams() 17 : { 18 246 : InputParameters params = FVElementalKernel::validParams(); 19 246 : params.addClassDescription("Implements a phase-to-phase volumetric exchange."); 20 246 : params.addRequiredParam<MooseFunctorName>(NS::alpha, 21 : "Name of the volumetric exchange coefficient"); 22 492 : params.addRequiredParam<MooseFunctorName>("phase_coupled", "The ambient temperature"); 23 246 : return params; 24 0 : } 25 : 26 132 : NSFVMixturePhaseInterface::NSFVMixturePhaseInterface(const InputParameters & parameters) 27 : : FVElementalKernel(parameters), 28 264 : _alpha(getFunctor<ADReal>(NS::alpha)), 29 264 : _phase_coupled(getFunctor<ADReal>("phase_coupled")) 30 : { 31 132 : } 32 : 33 : ADReal 34 138860 : NSFVMixturePhaseInterface::computeQpResidual() 35 : { 36 138860 : const auto elem_arg = makeElemArg(_current_elem); 37 138860 : const auto state = determineState(); 38 277720 : return _alpha(elem_arg, state) * (_var(elem_arg, state) - _phase_coupled(elem_arg, state)); 39 : }