https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ComputeSmallStrainConstantHorizonMaterialOSPD.C
Go to the documentation of this file.
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
11
13
16{
19 "Class for computing peridynamic micro elastic moduli for ordinary state-based model "
20 "using regular uniform mesh");
21
22 return params;
23}
24
30
31void
33{
34 _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 _b = _origin_vec.norm() * (3.0 * _dim + 6.0) * _shear_modulus / M_PI /
39 std::pow(_horizon_radius[0], _dim + 1);
40
41 // _d_i = _di * _horizon_(i/j)
42 _d[0] = (_dim / 4.0 + 1.5) / M_PI / std::pow(_horizon_radius[0], _dim);
43 _d[1] = _d[0];
44}
registerMooseObject("PeridynamicsApp", ComputeSmallStrainConstantHorizonMaterialOSPD)
Material class for ordinary state based peridynamic solid mechanics model based on regular spatial di...
virtual void computePeridynamicsParams() override
Function to compute the micro-moduli for bond-based and ordinary state-based models.
Base material class for ordinary state based peridynamic solid mechanics models.
void addClassDescription(const std::string &doc_string)