www.mooseframework.org
JouleHeatingSource.h
Go to the documentation of this file.
1 #ifndef JOULEHEATINGSOURCE_H
2 #define JOULEHEATINGSOURCE_H
3 
4 #include "HeatSource.h"
5 #include "JvarMapInterface.h"
6 #include "DerivativeMaterialInterface.h"
7 
8 // Forward Declarations
10 
11 template <>
12 InputParameters validParams<JouleHeatingSource>();
13 
18 class JouleHeatingSource : public DerivativeMaterialInterface<JvarMapKernelInterface<HeatSource>>
19 {
20 public:
21  JouleHeatingSource(const InputParameters & parameters);
22  virtual void initialSetup();
23 
24 protected:
25  virtual Real computeQpResidual();
26  virtual Real computeQpJacobian();
27  virtual Real computeQpOffDiagJacobian(unsigned int jvar);
28 
29 private:
30  const VariableGradient & _grad_elec;
31  const unsigned int _elec_var;
32 
33  const MaterialProperty<Real> & _elec_cond;
34  const MaterialProperty<Real> & _delec_cond_dT;
35  std::vector<const MaterialProperty<Real> *> _delec_cond_darg;
36 };
37 
38 #endif // JOULEHEATINGSOURCE_H
JouleHeatingSource(const InputParameters &parameters)
const VariableGradient & _grad_elec
virtual void initialSetup()
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
const MaterialProperty< Real > & _delec_cond_dT
const MaterialProperty< Real > & _elec_cond
InputParameters validParams< JouleHeatingSource >()
virtual Real computeQpResidual()
virtual Real computeQpJacobian()
const unsigned int _elec_var
This kernel calculates the heat source term corresponding to joule heating, Q = J * E = elec_cond * g...
std::vector< const MaterialProperty< Real > * > _delec_cond_darg