https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ComputeSmallStrainVariableHorizonMaterialOSPD.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{
18 params.addClassDescription("Class for computing peridynamic micro elastic moduli for ordinary "
19 "state-based model using irregular mesh");
20
21 return params;
22}
23
29
30void
32{
33 _a = 0.5 * (_bulk_modulus - (8.0 - _dim) / 3.0 * _shear_modulus);
34
35 // _b = _bij * _horizon_i + _bji * _horizon_j
36 _b = _dim * _dim * (_bulk_modulus / 2.0 - _a) * (1.0 / _horizon_vol[0] + 1.0 / _horizon_vol[1]);
37
38 // _d_i = _di * _horizon_i = _dim / _nvsum_i
39 _d[0] = _dim / _horizon_vol[0];
40
41 // _d_j = _dj * _horizon_j = _dim / _nvsum_j
42 _d[1] = _dim / _horizon_vol[1];
43}
registerMooseObject("PeridynamicsApp", ComputeSmallStrainVariableHorizonMaterialOSPD)
Base material class for ordinary state based peridynamic solid mechanics models.
Material class for ordinary state based peridynamic solid mechanics model based on irregular spatial ...
virtual void computePeridynamicsParams() override
Function to compute the micro-moduli for bond-based and ordinary state-based models.
void addClassDescription(const std::string &doc_string)