www.mooseframework.org
ComputeSmallStrainConstantHorizonMaterialOSPD.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 
11 
13 
14 template <>
15 InputParameters
17 {
18  InputParameters params = validParams<ComputeSmallStrainMaterialBaseOSPD>();
19  params.addClassDescription(
20  "Class for computing peridynamic micro elastic moduli for ordinary state-based model "
21  "using regular uniform mesh");
22 
23  return params;
24 }
25 
27  const InputParameters & parameters)
29 {
30 }
31 
32 void
34 {
35  _a = 0.5 * (_bulk_modulus - (8.0 - _dim) / 3.0 * _shear_modulus);
36 
37  // _b = 2 * _b * _horizon_(i/j) * _origin_length //_origin_length will be cancelled out in parent
38  // material model
39  _b = _origin_length * (3.0 * _dim + 6.0) * _shear_modulus / M_PI /
40  std::pow(_horiz_rad[0], _dim + 1);
41 
42  // _d_i = _di * _horizon_(i/j)
43  _d[0] = (_dim / 4.0 + 1.5) / M_PI / std::pow(_horiz_rad[0], _dim);
44  _d[1] = _d[0];
45 }
PeridynamicsMaterialBase::_origin_length
Real _origin_length
Definition: PeridynamicsMaterialBase.h:43
pow
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
Definition: ExpressionBuilder.h:673
ComputeSmallStrainMaterialBaseOSPD::_b
Real _b
Definition: ComputeSmallStrainMaterialBaseOSPD.h:39
validParams< ComputeSmallStrainMaterialBaseOSPD >
InputParameters validParams< ComputeSmallStrainMaterialBaseOSPD >()
Definition: ComputeSmallStrainMaterialBaseOSPD.C:14
ComputeSmallStrainMaterialBaseOSPD
Base material class for ordinary state based peridynamic solid mechanics models.
Definition: ComputeSmallStrainMaterialBaseOSPD.h:22
PeridynamicsMaterialBase::_dim
const unsigned int _dim
Definition: PeridynamicsMaterialBase.h:36
registerMooseObject
registerMooseObject("PeridynamicsApp", ComputeSmallStrainConstantHorizonMaterialOSPD)
ParametricMaterialBasePD::_bulk_modulus
Real _bulk_modulus
Definition: ParametricMaterialBasePD.h:81
ComputeSmallStrainMaterialBaseOSPD::_a
Real _a
Model parameters.
Definition: ComputeSmallStrainMaterialBaseOSPD.h:38
ComputeSmallStrainConstantHorizonMaterialOSPD::ComputeSmallStrainConstantHorizonMaterialOSPD
ComputeSmallStrainConstantHorizonMaterialOSPD(const InputParameters &parameters)
Definition: ComputeSmallStrainConstantHorizonMaterialOSPD.C:26
PeridynamicsMaterialBase::_horiz_rad
std::vector< Real > _horiz_rad
Definition: PeridynamicsMaterialBase.h:38
ComputeSmallStrainConstantHorizonMaterialOSPD.h
ComputeSmallStrainMaterialBaseOSPD::_d
std::vector< Real > _d
Definition: ComputeSmallStrainMaterialBaseOSPD.h:40
ComputeSmallStrainConstantHorizonMaterialOSPD
Material class for ordinary state based peridynamic solid mechanics model based on regular spatial di...
Definition: ComputeSmallStrainConstantHorizonMaterialOSPD.h:23
ParametricMaterialBasePD::_shear_modulus
Real _shear_modulus
Definition: ParametricMaterialBasePD.h:80
validParams< ComputeSmallStrainConstantHorizonMaterialOSPD >
InputParameters validParams< ComputeSmallStrainConstantHorizonMaterialOSPD >()
Definition: ComputeSmallStrainConstantHorizonMaterialOSPD.C:16
ComputeSmallStrainConstantHorizonMaterialOSPD::computePeridynamicsParams
virtual void computePeridynamicsParams() override
Function to compute the micro-moduli for bond-based and ordinary state-based models.
Definition: ComputeSmallStrainConstantHorizonMaterialOSPD.C:33