https://mooseframework.inl.gov
ChemicalOutFlowBC.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 "ChemicalOutFlowBC.h"
11 
12 registerMooseObject("ChemicalReactionsApp", ChemicalOutFlowBC);
13 
16 {
18  params.addClassDescription("Chemical flux boundary condition");
19  return params;
20 }
21 
23  : IntegratedBC(parameters),
24  _diff(getMaterialProperty<Real>("diffusivity")),
25  _porosity(getMaterialProperty<Real>("porosity"))
26 {
27 }
28 
29 Real
31 {
32  return -_test[_i][_qp] * _porosity[_qp] * _diff[_qp] * _grad_u[_qp] * _normals[_qp];
33 }
34 
35 Real
37 {
38  return -_test[_i][_qp] * _porosity[_qp] * _diff[_qp] * _grad_phi[_j][_qp] * _normals[_qp];
39 }
const VariableTestValue & _test
Implements a simple constant VectorNeumann BC where grad(u)=value on the boundary.
unsigned int _j
const MooseArray< Point > & _normals
const VariableGradient & _grad_u
const MaterialProperty< Real > & _diff
Diffusivity.
static InputParameters validParams()
unsigned int _i
const MaterialProperty< Real > & _porosity
Porosity.
unsigned int _qp
const VariablePhiGradient & _grad_phi
virtual Real computeQpJacobian() override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void addClassDescription(const std::string &doc_string)
static InputParameters validParams()
virtual Real computeQpResidual() override
ChemicalOutFlowBC(const InputParameters &parameters)
registerMooseObject("ChemicalReactionsApp", ChemicalOutFlowBC)