Line data Source code
1 : //* This file is part of the MOOSE framework 2 : //* https://mooseframework.inl.gov 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 "ComputeSmallStrainConstantHorizonMaterialOSPD.h" 11 : 12 : registerMooseObject("PeridynamicsApp", ComputeSmallStrainConstantHorizonMaterialOSPD); 13 : 14 : InputParameters 15 267 : ComputeSmallStrainConstantHorizonMaterialOSPD::validParams() 16 : { 17 267 : InputParameters params = ComputeSmallStrainMaterialBaseOSPD::validParams(); 18 267 : params.addClassDescription( 19 : "Class for computing peridynamic micro elastic moduli for ordinary state-based model " 20 : "using regular uniform mesh"); 21 : 22 267 : return params; 23 0 : } 24 : 25 210 : ComputeSmallStrainConstantHorizonMaterialOSPD::ComputeSmallStrainConstantHorizonMaterialOSPD( 26 210 : const InputParameters & parameters) 27 210 : : ComputeSmallStrainMaterialBaseOSPD(parameters) 28 : { 29 210 : } 30 : 31 : void 32 342758 : ComputeSmallStrainConstantHorizonMaterialOSPD::computePeridynamicsParams() 33 : { 34 342758 : _a = 0.5 * (_bulk_modulus - (8.0 - _dim) / 3.0 * _shear_modulus); 35 : 36 : // _b = 2 * _b * _horizon_(i/j) * _origin_vec.norm() //_origin_vec.norm() will be cancelled out in 37 : // parent material model 38 342758 : _b = _origin_vec.norm() * (3.0 * _dim + 6.0) * _shear_modulus / M_PI / 39 342758 : std::pow(_horizon_radius[0], _dim + 1); 40 : 41 : // _d_i = _di * _horizon_(i/j) 42 342758 : _d[0] = (_dim / 4.0 + 1.5) / M_PI / std::pow(_horizon_radius[0], _dim); 43 342758 : _d[1] = _d[0]; 44 342758 : }