www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ThermalConstantHorizonMaterialBPD Class Reference

Material class for bond based peridynamic heat conduction model based on regular spatial discretization. More...

#include <ThermalConstantHorizonMaterialBPD.h>

Inheritance diagram for ThermalConstantHorizonMaterialBPD:
[legend]

Public Member Functions

 ThermalConstantHorizonMaterialBPD (const InputParameters &parameters)
 

Protected Member Functions

virtual void computePeridynamicsParams (const Real ave_thermal_conductivity) override
 Function to compute micro-conductivity. More...
 
virtual void computeProperties () override
 
void setupMeshRelatedData ()
 Function to setup mesh related data to be used in this class. More...
 

Protected Attributes

const MaterialProperty< Real > & _thermal_conductivity
 Thermal conductivity. More...
 
Real _Kij
 Micro-conductivity. More...
 
MooseVariable * _temp_var
 Temperature variable and values. More...
 
std::vector< Real > _temp
 
MaterialProperty< Real > & _bond_heat_flow
 Material properties to be stored. More...
 
MaterialProperty< Real > & _bond_dQdT
 
PeridynamicsMesh_pdmesh
 Mesh related information for material points of current bond/element. More...
 
const unsigned int _dim
 
const unsigned int _nnodes
 
std::vector< Real > _horiz_rad
 
std::vector< Real > _node_vol
 
std::vector< Real > _horiz_vol
 
RealGradient _origin_vec
 
Real _origin_length
 

Detailed Description

Material class for bond based peridynamic heat conduction model based on regular spatial discretization.

Definition at line 23 of file ThermalConstantHorizonMaterialBPD.h.

Constructor & Destructor Documentation

◆ ThermalConstantHorizonMaterialBPD()

ThermalConstantHorizonMaterialBPD::ThermalConstantHorizonMaterialBPD ( const InputParameters &  parameters)

Definition at line 27 of file ThermalConstantHorizonMaterialBPD.C.

29  : ThermalMaterialBaseBPD(parameters)
30 {
31 }

Member Function Documentation

◆ computePeridynamicsParams()

void ThermalConstantHorizonMaterialBPD::computePeridynamicsParams ( const Real  ave_thermal_conductivity)
overrideprotectedvirtual

Function to compute micro-conductivity.

Parameters
ave_thermal_conductivityaverage thermal conductivity for the current element

Implements ThermalMaterialBaseBPD.

Definition at line 34 of file ThermalConstantHorizonMaterialBPD.C.

35 {
36  _Kij = 3.0 * ave_thermal_conductivity / M_PI *
37  (1.0 / (MathUtils::pow(_horiz_rad[0], _dim + 1)) +
38  1.0 / (MathUtils::pow(_horiz_rad[1], _dim + 1)));
39 }

◆ computeProperties()

void ThermalMaterialBaseBPD::computeProperties ( )
overrideprotectedvirtualinherited

Definition at line 42 of file ThermalMaterialBaseBPD.C.

43 {
44  setupMeshRelatedData(); // function from base class
45 
46  Real ave_thermal_conductivity = 0.0;
47  for (unsigned int qp = 0; qp < _qrule->n_points(); ++qp)
48  ave_thermal_conductivity += _thermal_conductivity[qp] * _JxW[qp] * _coord[qp];
49  ave_thermal_conductivity /= _assembly.elemVolume();
50 
51  // nodal temperature
52  _temp[0] = _temp_var->getNodalValue(*_current_elem->node_ptr(0));
53  _temp[1] = _temp_var->getNodalValue(*_current_elem->node_ptr(1));
54 
55  // compute peridynamic micro-conductivity: _Kij
56  computePeridynamicsParams(ave_thermal_conductivity);
57 
58  for (_qp = 0; _qp < _nnodes; ++_qp)
59  {
60  // residual term
61  _bond_heat_flow[_qp] =
62  _Kij * (_temp[1] - _temp[0]) / _origin_length * _node_vol[0] * _node_vol[1];
63 
64  // derivative of the residual term
65  _bond_dQdT[_qp] = -_Kij / _origin_length * _node_vol[0] * _node_vol[1];
66  }
67 }

◆ setupMeshRelatedData()

void PeridynamicsMaterialBase::setupMeshRelatedData ( )
protectedinherited

Function to setup mesh related data to be used in this class.

Definition at line 34 of file PeridynamicsMaterialBase.C.

35 {
36  for (unsigned int i = 0; i < _nnodes; ++i)
37  {
38  _horiz_rad[i] = _pdmesh.getHorizon(_current_elem->node_id(i));
39  _node_vol[i] = _pdmesh.getPDNodeVolume(_current_elem->node_id(i));
40  _horiz_vol[i] = _pdmesh.getHorizVolume(_current_elem->node_id(i));
41  }
42 
43  _origin_vec = _pdmesh.getPDNodeCoord(_current_elem->node_id(1)) -
44  _pdmesh.getPDNodeCoord(_current_elem->node_id(0));
45  _origin_length = _origin_vec.norm();
46 }

Referenced by ThermalMaterialBaseBPD::computeProperties(), and ParametricMaterialBasePD::computeProperties().

Member Data Documentation

◆ _bond_dQdT

MaterialProperty<Real>& ThermalMaterialBaseBPD::_bond_dQdT
protectedinherited

Definition at line 44 of file ThermalMaterialBaseBPD.h.

Referenced by ThermalMaterialBaseBPD::computeProperties().

◆ _bond_heat_flow

MaterialProperty<Real>& ThermalMaterialBaseBPD::_bond_heat_flow
protectedinherited

Material properties to be stored.

Definition at line 43 of file ThermalMaterialBaseBPD.h.

Referenced by ThermalMaterialBaseBPD::computeProperties().

◆ _dim

const unsigned int PeridynamicsMaterialBase::_dim
protectedinherited

◆ _horiz_rad

std::vector<Real> PeridynamicsMaterialBase::_horiz_rad
protectedinherited

◆ _horiz_vol

std::vector<Real> PeridynamicsMaterialBase::_horiz_vol
protectedinherited

◆ _Kij

Real ThermalMaterialBaseBPD::_Kij
protectedinherited

◆ _nnodes

const unsigned int PeridynamicsMaterialBase::_nnodes
protectedinherited

◆ _node_vol

std::vector<Real> PeridynamicsMaterialBase::_node_vol
protectedinherited

◆ _origin_length

Real PeridynamicsMaterialBase::_origin_length
protectedinherited

◆ _origin_vec

RealGradient PeridynamicsMaterialBase::_origin_vec
protectedinherited

◆ _pdmesh

PeridynamicsMesh& PeridynamicsMaterialBase::_pdmesh
protectedinherited

Mesh related information for material points of current bond/element.

Definition at line 35 of file PeridynamicsMaterialBase.h.

Referenced by MechanicsMaterialBasePD::computeBondCurrentLength(), and PeridynamicsMaterialBase::setupMeshRelatedData().

◆ _temp

std::vector<Real> ThermalMaterialBaseBPD::_temp
protectedinherited

Definition at line 39 of file ThermalMaterialBaseBPD.h.

Referenced by ThermalMaterialBaseBPD::computeProperties().

◆ _temp_var

MooseVariable* ThermalMaterialBaseBPD::_temp_var
protectedinherited

Temperature variable and values.

Definition at line 38 of file ThermalMaterialBaseBPD.h.

Referenced by ThermalMaterialBaseBPD::computeProperties().

◆ _thermal_conductivity

const MaterialProperty<Real>& ThermalMaterialBaseBPD::_thermal_conductivity
protectedinherited

Thermal conductivity.

Definition at line 48 of file ThermalMaterialBaseBPD.h.

Referenced by ThermalMaterialBaseBPD::computeProperties().


The documentation for this class was generated from the following files:
PeridynamicsMaterialBase::_origin_length
Real _origin_length
Definition: PeridynamicsMaterialBase.h:43
ThermalMaterialBaseBPD::_Kij
Real _Kij
Micro-conductivity.
Definition: ThermalMaterialBaseBPD.h:51
PeridynamicsMaterialBase::_nnodes
const unsigned int _nnodes
Definition: PeridynamicsMaterialBase.h:37
PeridynamicsMesh::getPDNodeVolume
Real getPDNodeVolume(dof_id_type node_id)
Function to return nodal volume for node node_id.
Definition: PeridynamicsMesh.C:435
pow
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
Definition: ExpressionBuilder.h:673
ThermalMaterialBaseBPD::_thermal_conductivity
const MaterialProperty< Real > & _thermal_conductivity
Thermal conductivity.
Definition: ThermalMaterialBaseBPD.h:48
PeridynamicsMaterialBase::_origin_vec
RealGradient _origin_vec
Definition: PeridynamicsMaterialBase.h:42
PeridynamicsMaterialBase::setupMeshRelatedData
void setupMeshRelatedData()
Function to setup mesh related data to be used in this class.
Definition: PeridynamicsMaterialBase.C:34
ThermalMaterialBaseBPD::_temp
std::vector< Real > _temp
Definition: ThermalMaterialBaseBPD.h:39
ThermalMaterialBaseBPD::_bond_heat_flow
MaterialProperty< Real > & _bond_heat_flow
Material properties to be stored.
Definition: ThermalMaterialBaseBPD.h:43
PeridynamicsMaterialBase::_dim
const unsigned int _dim
Definition: PeridynamicsMaterialBase.h:36
PeridynamicsMaterialBase::_node_vol
std::vector< Real > _node_vol
Definition: PeridynamicsMaterialBase.h:39
PeridynamicsMesh::getPDNodeCoord
Point getPDNodeCoord(dof_id_type node_id)
Function to return coordinates for node node_id.
Definition: PeridynamicsMesh.C:420
ThermalMaterialBaseBPD::computePeridynamicsParams
virtual void computePeridynamicsParams(const Real ave_thermal_conductivity)=0
Function to compute micro-conductivity.
ThermalMaterialBaseBPD::_bond_dQdT
MaterialProperty< Real > & _bond_dQdT
Definition: ThermalMaterialBaseBPD.h:44
PeridynamicsMesh::getHorizon
Real getHorizon(dof_id_type node_id)
Function to return horizon size.
Definition: PeridynamicsMesh.C:471
PeridynamicsMaterialBase::_pdmesh
PeridynamicsMesh & _pdmesh
Mesh related information for material points of current bond/element.
Definition: PeridynamicsMaterialBase.h:35
PeridynamicsMesh::getHorizVolume
Real getHorizVolume(dof_id_type node_id)
Function to return summation of neighbor nodal volumes for node node_id.
Definition: PeridynamicsMesh.C:444
PeridynamicsMaterialBase::_horiz_rad
std::vector< Real > _horiz_rad
Definition: PeridynamicsMaterialBase.h:38
PeridynamicsMaterialBase::_horiz_vol
std::vector< Real > _horiz_vol
Definition: PeridynamicsMaterialBase.h:40
ThermalMaterialBaseBPD::_temp_var
MooseVariable * _temp_var
Temperature variable and values.
Definition: ThermalMaterialBaseBPD.h:38
ThermalMaterialBaseBPD::ThermalMaterialBaseBPD
ThermalMaterialBaseBPD(const InputParameters &parameters)
Definition: ThermalMaterialBaseBPD.C:31