https://mooseframework.inl.gov
DirectionalNeumannBC.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 "DirectionalNeumannBC.h"
11 
13 registerMooseObjectRenamed("MooseApp", VectorNeumannBC, "01/01/2025 00:01", DirectionalNeumannBC);
14 
17 {
19  params.addParam<RealVectorValue>(
20  "vector_value", RealVectorValue(), "vector this BC should act in");
21  params.addClassDescription("Imposes the integrated boundary condition "
22  "$\\frac{\\partial u}{\\partial n}=\\vec{V}\\cdot\\hat{n}$, "
23  "where $\\vec{V}$ is a user-defined, constant vector.");
24  return params;
25 }
26 
28  : IntegratedBC(parameters), _value(getParam<RealVectorValue>("vector_value"))
29 {
30 }
31 
32 Real
34 {
35  return -_test[_i][_qp] * (_value * _normals[_qp]);
36 }
const VariableTestValue & _test
test function values (in QPs)
Definition: IntegratedBC.h:97
const MooseArray< Point > & _normals
normals at quadrature points
Definition: IntegratedBC.h:85
static InputParameters validParams()
static InputParameters validParams()
Definition: IntegratedBC.C:23
Implements a flux boundary condition grad(u).n = V.n, where the vector V is specifed by the user...
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
unsigned int _qp
quadrature point index
registerMooseObject("MooseApp", DirectionalNeumannBC)
const RealVectorValue & _value
Vector to dot with the normal.
Base class for deriving any boundary condition of a integrated type.
Definition: IntegratedBC.h:18
virtual Real computeQpResidual() override
Method for computing the residual at quadrature points.
registerMooseObjectRenamed("MooseApp", VectorNeumannBC, "01/01/2025 00:01", DirectionalNeumannBC)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
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...
DirectionalNeumannBC(const InputParameters &parameters)