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 "FaceArgInterface.h" 11 : 12 : Moose::FaceArg 13 17616267 : FaceArgProducerInterface::makeFace(const FaceInfo & fi, 14 : const Moose::FV::LimiterType limiter_type, 15 : const bool elem_is_upwind, 16 : const bool correct_skewness, 17 : const Moose::StateArg * state_limiter) const 18 : { 19 17616267 : const bool defined_on_elem_side = hasFaceSide(fi, true); 20 17616267 : const bool defined_on_neighbor_side = hasFaceSide(fi, false); 21 17596092 : const Elem * const elem = defined_on_elem_side && defined_on_neighbor_side 22 35232534 : ? nullptr 23 2378939 : : (defined_on_elem_side ? &fi.elem() : fi.neighborPtr()); 24 : 25 17616267 : if (!defined_on_elem_side && !defined_on_neighbor_side) 26 0 : mooseError("No definition on either side"); 27 : 28 17616267 : return {&fi, limiter_type, elem_is_upwind, correct_skewness, elem, state_limiter}; 29 : }