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 "ADBoundaryFlux3EqnGhostBase.h" 11 : #include "ADNumericalFlux3EqnBase.h" 12 : 13 : InputParameters 14 9355 : ADBoundaryFlux3EqnGhostBase::validParams() 15 : { 16 9355 : InputParameters params = ADBoundaryFluxBase::validParams(); 17 : 18 9355 : params.addClassDescription("Computes boundary fluxes for the 1-D, variable-area Euler equations " 19 : "using a numerical flux user object and a ghost cell solution"); 20 : 21 18710 : params.addRequiredParam<UserObjectName>("numerical_flux", "Name of numerical flux user object"); 22 18710 : params.addRequiredParam<Real>("normal", "Outward normal"); 23 : 24 9355 : return params; 25 0 : } 26 : 27 5106 : ADBoundaryFlux3EqnGhostBase::ADBoundaryFlux3EqnGhostBase(const InputParameters & parameters) 28 : : ADBoundaryFluxBase(parameters), 29 5106 : _numerical_flux(getUserObject<ADNumericalFlux3EqnBase>("numerical_flux")), 30 15318 : _normal(getParam<Real>("normal")) 31 : { 32 5106 : } 33 : 34 : void 35 180177 : ADBoundaryFlux3EqnGhostBase::calcFlux(unsigned int iside, 36 : dof_id_type ielem, 37 : const std::vector<ADReal> & U1, 38 : const RealVectorValue & /*normal*/, 39 : std::vector<ADReal> & flux) const 40 : { 41 180177 : const std::vector<ADReal> U2 = getGhostCellSolution(U1); 42 180177 : flux = _numerical_flux.getFlux(iside, ielem, true, U1, U2, _normal); 43 180177 : }