www.mooseframework.org
CoefDiffusion.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 "CoefDiffusion.h"
11 
13 
16 {
18  params.addParam<Real>("coef", 0.0, "Diffusion coefficient");
19  params.addParam<FunctionName>("function",
20  "If provided, the diffusion coefficient will be coef + "
21  "this function. This is useful for temporally or "
22  "spatially varying diffusivities");
23  params.addClassDescription("Kernel for diffusion with diffusivity = coef + function");
24  return params;
25 }
26 
28  : Kernel(parameters),
29  _coef(getParam<Real>("coef")),
30  _func(parameters.isParamValid("function") ? &getFunction("function") : NULL)
31 {
32 }
33 
34 Real
36 {
37  Real diffusivity = _coef;
38 
39  if (_func)
40  diffusivity += _func->value(_t, _q_point[_qp]);
41 
42  return diffusivity * _grad_test[_i][_qp] * _grad_u[_qp];
43 }
44 
45 Real
47 {
48  Real diffusivity = _coef;
49 
50  if (_func)
51  diffusivity += _func->value(_t, _q_point[_qp]);
52 
53  return diffusivity * _grad_test[_i][_qp] * _grad_phi[_j][_qp];
54 }
const VariableGradient & _grad_u
static InputParameters validParams()
registerMooseObject("MiscApp", CoefDiffusion)
CoefDiffusion(const InputParameters &parameters)
Definition: CoefDiffusion.C:27
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
const VariablePhiGradient & _grad_phi
virtual Real computeQpJacobian()
Definition: CoefDiffusion.C:46
virtual Real computeQpResidual()
Definition: CoefDiffusion.C:35
static InputParameters validParams()
Definition: CoefDiffusion.C:15
Real & _t
unsigned int _i
const Real _coef
Definition: CoefDiffusion.h:27
unsigned int _j
const Function *const _func
Definition: CoefDiffusion.h:28
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const VariableTestGradient & _grad_test
void addClassDescription(const std::string &doc_string)
virtual Real value(Real t, const Point &p) const
const MooseArray< Point > & _q_point
unsigned int _qp