https://mooseframework.inl.gov
Loading...
Searching...
No Matches
CoefDiffusion.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 "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
34Real
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
45Real
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}
registerMooseObject("MiscApp", CoefDiffusion)
static InputParameters validParams()
virtual Real computeQpResidual()
const Function *const _func
const Real _coef
virtual Real computeQpJacobian()
CoefDiffusion(const InputParameters &parameters)
virtual Real value(Real t, const Point &p) const
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
unsigned int _qp
const MooseArray< Point > & _q_point
unsigned int _j
unsigned int _i
const VariableGradient & _grad_u
static InputParameters validParams()
const VariablePhiGradient & _grad_phi
const VariableTestGradient & _grad_test
Real & _t