www.mooseframework.org
HeatConductionBPD.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 "HeatConductionBPD.h"
11 
12 registerMooseObject("PeridynamicsApp", HeatConductionBPD);
13 
14 template <>
15 InputParameters
17 {
18  InputParameters params = validParams<PeridynamicsKernelBase>();
19  params.addClassDescription("Class for calculating residual and Jacobian for bond-based "
20  "peridynamic heat conduction formulation");
21 
22  return params;
23 }
24 
25 HeatConductionBPD::HeatConductionBPD(const InputParameters & parameters)
26  : PeridynamicsKernelBase(parameters),
27  _bond_heat_flow(getMaterialProperty<Real>("bond_heat_flow")),
28  _bond_dQdT(getMaterialProperty<Real>("bond_dQdT"))
29 {
30 }
31 
32 void
34 {
35  _local_re(0) = -_bond_heat_flow[0] * _bond_status_ij;
36  _local_re(1) = -_local_re(0);
37 }
38 
39 void
41 {
42  for (_i = 0; _i < _test.size(); ++_i)
43  for (_j = 0; _j < _phi.size(); ++_j)
44  _local_ke(_i, _j) += -1 * (_i == _j ? 1 : -1) * _bond_dQdT[0] * _bond_status_ij;
45 }
HeatConductionBPD::computeLocalResidual
virtual void computeLocalResidual() override
Function to compute local contribution to the residual at the current nodes.
Definition: HeatConductionBPD.C:33
HeatConductionBPD
Kernel class for peridynamic heat conduction models.
Definition: HeatConductionBPD.h:22
validParams< PeridynamicsKernelBase >
InputParameters validParams< PeridynamicsKernelBase >()
Definition: PeridynamicsKernelBase.C:15
PeridynamicsKernelBase::_bond_status_ij
Real _bond_status_ij
Bond status of current bond/edge2.
Definition: PeridynamicsKernelBase.h:74
HeatConductionBPD.h
HeatConductionBPD::_bond_dQdT
const MaterialProperty< Real > & _bond_dQdT
Definition: HeatConductionBPD.h:33
PeridynamicsKernelBase
Base kernel class for peridynamic models.
Definition: PeridynamicsKernelBase.h:25
registerMooseObject
registerMooseObject("PeridynamicsApp", HeatConductionBPD)
validParams< HeatConductionBPD >
InputParameters validParams< HeatConductionBPD >()
Definition: HeatConductionBPD.C:16
HeatConductionBPD::HeatConductionBPD
HeatConductionBPD(const InputParameters &parameters)
Definition: HeatConductionBPD.C:25
HeatConductionBPD::_bond_heat_flow
const MaterialProperty< Real > & _bond_heat_flow
Bond based material properties.
Definition: HeatConductionBPD.h:32
HeatConductionBPD::computeLocalJacobian
virtual void computeLocalJacobian() override
Function to compute local contribution to the diagonal Jacobian at the current nodes.
Definition: HeatConductionBPD.C:40