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 "InterfaceQpValueUserObject.h" 11 : 12 : registerMooseObject("MooseApp", InterfaceQpValueUserObject); 13 : 14 : InputParameters 15 14666 : InterfaceQpValueUserObject::validParams() 16 : { 17 14666 : InputParameters params = InterfaceQpUserObjectBase::validParams(); 18 14666 : params.addRequiredCoupledVar("var", "The variable name"); 19 14666 : params.addCoupledVar("var_neighbor", "The neighbor variable name"); 20 14666 : params.addClassDescription( 21 : "Computes the variable value, rate or increment across an " 22 : "interface. The value, rate or increment is computed according to the provided " 23 : "interface_value_type parameter"); 24 14666 : return params; 25 0 : } 26 : 27 204 : InterfaceQpValueUserObject::InterfaceQpValueUserObject(const InputParameters & parameters) 28 : : InterfaceQpUserObjectBase(parameters), 29 204 : _u(_value_type > 0 ? coupledDot("var") : coupledValue("var")), 30 204 : _u_neighbor( 31 408 : parameters.isParamSetByUser("var_neighbor") 32 673 : ? (_value_type > 0 ? coupledNeighborValueDot("var_neighbor") 33 295 : : coupledNeighborValue("var_neighbor")) 34 582 : : (_value_type > 0 ? coupledNeighborValueDot("var") : coupledNeighborValue("var"))) 35 : 36 : { 37 204 : } 38 : 39 : Real 40 6426 : InterfaceQpValueUserObject::computeRealValue(const unsigned int qp) 41 : { 42 : /* civet complains about fall through, let's fix this using some extra code */ 43 6426 : switch (_value_type) 44 : { 45 5114 : case 0: /*value*/ 46 5114 : return computeInterfaceValueType(_u[qp], _u_neighbor[qp]); 47 656 : case 1: /*rate*/ 48 656 : return computeInterfaceValueType(_u[qp], _u_neighbor[qp]); 49 656 : case 2: /*increment*/ 50 656 : return computeInterfaceValueType(_u[qp] * _dt, _u_neighbor[qp] * _dt); 51 0 : default: 52 0 : mooseError("InterfaceQpValueUserObject::computeRealValue the supplied " 53 : "value type has not been implemented"); 54 : } 55 : mooseError("InterfaceQpValueUserObject::computeRealValue if we are here something is wrong"); 56 : }