https://mooseframework.inl.gov
ArrayNeumannBC.C
Go to the documentation of this file.
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 "ArrayNeumannBC.h"
11 
13 
16 {
18  params.addParam<RealEigenVector>("value", "The value of the gradient on the boundary.");
19  params.addClassDescription("Imposes the integrated boundary condition "
20  "$\\frac{\\partial u}{\\partial n}=h$, "
21  "where $h$ is a constant, controllable value.");
22  return params;
23 }
24 
26  : ArrayIntegratedBC(parameters),
27  _value(isParamValid("value") ? getParam<RealEigenVector>("value")
28  : RealEigenVector::Zero(_count))
29 {
30 }
31 
32 void
34 {
35  residual -= _test[_i][_qp] * _value;
36 }
registerMooseObject("MooseApp", ArrayNeumannBC)
ArrayNeumannBC(const InputParameters &parameters)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
unsigned int _i
i-th, j-th index for enumerating test and shape functions
static InputParameters validParams()
virtual void computeQpResidual(RealEigenVector &residual) override
Method for computing the residual at quadrature points, to be filled in residual. ...
unsigned int _qp
quadrature point index
const RealEigenVector _value
Values of grad(u) on the boundary.
const ArrayVariableTestValue & _test
test function values (in QPs)
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump...
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an optional parameter and a documentation string to the InputParameters object...
Base class for deriving any boundary condition of a integrated type.
Eigen::Matrix< Real, Eigen::Dynamic, 1 > RealEigenVector
Definition: MooseTypes.h:146
static InputParameters validParams()