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 "InternalSideIndicator.h" 11 : 12 : // MOOSE includes 13 : #include "Assembly.h" 14 : #include "MooseTypes.h" 15 : #include "MooseVariableFE.h" 16 : #include "Problem.h" 17 : #include "SubProblem.h" 18 : #include "SystemBase.h" 19 : 20 : #include "libmesh/dof_map.h" 21 : #include "libmesh/dense_vector.h" 22 : #include "libmesh/numeric_vector.h" 23 : #include "libmesh/dense_subvector.h" 24 : #include "libmesh/libmesh_common.h" 25 : #include "libmesh/quadrature.h" 26 : 27 : template <typename ComputeValueType> 28 : InputParameters 29 58197 : InternalSideIndicatorTempl<ComputeValueType>::validParams() 30 : { 31 58197 : InputParameters params = InternalSideIndicatorBase::validParams(); 32 58197 : params.addRequiredParam<VariableName>( 33 : "variable", "The name of the variable that this side indicator applies to"); 34 : 35 58197 : return params; 36 0 : } 37 : 38 : template <typename ComputeValueType> 39 595 : InternalSideIndicatorTempl<ComputeValueType>::InternalSideIndicatorTempl( 40 : const InputParameters & parameters) 41 : : InternalSideIndicatorBase(parameters), 42 : NeighborMooseVariableInterface<ComputeValueType>(this, 43 : false, 44 : Moose::VarKindType::VAR_ANY, 45 : std::is_same<Real, ComputeValueType>::value 46 : ? Moose::VarFieldType::VAR_FIELD_STANDARD 47 : : Moose::VarFieldType::VAR_FIELD_VECTOR), 48 1190 : _var(this->mooseVariableField()), 49 595 : _u(_var.sln()), 50 595 : _grad_u(_var.gradSln()), 51 595 : _u_neighbor(_var.slnNeighbor()), 52 1190 : _grad_u_neighbor(_var.gradSlnNeighbor()) 53 : { 54 595 : addMooseVariableDependency(&this->mooseVariableField()); 55 595 : } 56 : 57 : // Explicitly instantiate three versions of the InternalSideIndicatorTempl class 58 : template class InternalSideIndicatorTempl<Real>; 59 : template class InternalSideIndicatorTempl<RealVectorValue>;