www.mooseframework.org
PeridynamicsKernelBase.h
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 #pragma once
11 
12 #include "Kernel.h"
13 #include "Assembly.h"
14 #include "SystemBase.h"
15 
16 class PeridynamicsMesh;
18 
19 template <>
20 InputParameters validParams<PeridynamicsKernelBase>();
21 
25 class PeridynamicsKernelBase : public Kernel
26 {
27 public:
28  PeridynamicsKernelBase(const InputParameters & parameters);
29 
30  virtual void computeResidual() override;
31  virtual void computeJacobian() override;
32  virtual Real computeQpResidual() override { return 0.0; }
33 
34 protected:
38  virtual void computeLocalResidual() = 0;
39 
43  virtual void computeNonlocalResidual(){};
44 
48  virtual void computeLocalJacobian(){};
49 
53  virtual void prepare();
54 
56  MooseVariable * _bond_status_var;
57 
59  const bool _use_full_jacobian;
60 
63  const unsigned int _dim;
64  const unsigned int _nnodes;
65  std::vector<Real> _vols_ij;
66  std::vector<Real> _dg_vol_frac_ij;
67  std::vector<Real> _horiz_rad;
69 
72 
75 };
PeridynamicsKernelBase::computeResidual
virtual void computeResidual() override
Definition: PeridynamicsKernelBase.C:60
validParams< PeridynamicsKernelBase >
InputParameters validParams< PeridynamicsKernelBase >()
Definition: PeridynamicsKernelBase.C:15
libMesh::RealGradient
VectorValue< Real > RealGradient
Definition: GrainForceAndTorqueInterface.h:17
PeridynamicsKernelBase::computeQpResidual
virtual Real computeQpResidual() override
Definition: PeridynamicsKernelBase.h:32
PeridynamicsKernelBase::_bond_status_ij
Real _bond_status_ij
Bond status of current bond/edge2.
Definition: PeridynamicsKernelBase.h:74
PeridynamicsKernelBase::computeLocalJacobian
virtual void computeLocalJacobian()
Function to compute local contribution to the diagonal Jacobian at the current nodes.
Definition: PeridynamicsKernelBase.h:48
PeridynamicsKernelBase::_bond_status_var
MooseVariable * _bond_status_var
Bond_status variable.
Definition: PeridynamicsKernelBase.h:56
PeridynamicsKernelBase::_nnodes
const unsigned int _nnodes
Definition: PeridynamicsKernelBase.h:64
PeridynamicsMesh
Peridynamics mesh class.
Definition: PeridynamicsMesh.h:25
PeridynamicsKernelBase::_dg_vol_frac_ij
std::vector< Real > _dg_vol_frac_ij
Definition: PeridynamicsKernelBase.h:66
PeridynamicsKernelBase::_horiz_rad
std::vector< Real > _horiz_rad
Definition: PeridynamicsKernelBase.h:67
PeridynamicsKernelBase::prepare
virtual void prepare()
Function to precalculate data which will be used in the derived classes.
Definition: PeridynamicsKernelBase.C:43
PeridynamicsKernelBase
Base kernel class for peridynamic models.
Definition: PeridynamicsKernelBase.h:25
PeridynamicsKernelBase::_use_full_jacobian
const bool _use_full_jacobian
Option to use full jacobian including nonlocal constribution or not.
Definition: PeridynamicsKernelBase.h:59
PeridynamicsKernelBase::_pdmesh
PeridynamicsMesh & _pdmesh
Parameters for peridynamic mesh information.
Definition: PeridynamicsKernelBase.h:62
PeridynamicsKernelBase::_dim
const unsigned int _dim
Definition: PeridynamicsKernelBase.h:63
PeridynamicsKernelBase::PeridynamicsKernelBase
PeridynamicsKernelBase(const InputParameters &parameters)
Definition: PeridynamicsKernelBase.C:29
PeridynamicsKernelBase::computeNonlocalResidual
virtual void computeNonlocalResidual()
Function to compute nonlocal contribution to the residual at the current nodes.
Definition: PeridynamicsKernelBase.h:43
PeridynamicsKernelBase::_origin_vec_ij
RealGradient _origin_vec_ij
Vector for current bond under undefored configuration.
Definition: PeridynamicsKernelBase.h:71
PeridynamicsKernelBase::computeJacobian
virtual void computeJacobian() override
Definition: PeridynamicsKernelBase.C:87
PeridynamicsKernelBase::computeLocalResidual
virtual void computeLocalResidual()=0
Function to compute local contribution to the residual at the current nodes.
PeridynamicsKernelBase::_vols_ij
std::vector< Real > _vols_ij
Definition: PeridynamicsKernelBase.h:65