www.mooseframework.org
peridynamics
src
materials
ComputeSmallStrainVariableHorizonMaterialOSPD.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
10
#include "
ComputeSmallStrainVariableHorizonMaterialOSPD.h
"
11
12
registerMooseObject
(
"PeridynamicsApp"
,
ComputeSmallStrainVariableHorizonMaterialOSPD
);
13
14
template
<>
15
InputParameters
16
validParams<ComputeSmallStrainVariableHorizonMaterialOSPD>
()
17
{
18
InputParameters params =
validParams<ComputeSmallStrainMaterialBaseOSPD>
();
19
params.addClassDescription(
"Class for computing peridynamic micro elastic moduli for ordinary "
20
"state-based model using irregular mesh"
);
21
22
return
params;
23
}
24
25
ComputeSmallStrainVariableHorizonMaterialOSPD::ComputeSmallStrainVariableHorizonMaterialOSPD
(
26
const
InputParameters & parameters)
27
:
ComputeSmallStrainMaterialBaseOSPD
(parameters)
28
{
29
}
30
31
void
32
ComputeSmallStrainVariableHorizonMaterialOSPD::computePeridynamicsParams
()
33
{
34
_a
= 0.5 * (
_bulk_modulus
- (8.0 -
_dim
) / 3.0 *
_shear_modulus
);
35
36
// _b = _bij * _horizon_i + _bji * _horizon_j
37
_b
=
_dim
*
_dim
* (
_bulk_modulus
/ 2.0 -
_a
) * (1.0 /
_horiz_vol
[0] + 1.0 /
_horiz_vol
[1]);
38
39
// _d_i = _di * _horizon_i = _dim / _nvsum_i
40
_d
[0] =
_dim
/
_horiz_vol
[0];
41
42
// _d_j = _dj * _horizon_j = _dim / _nvsum_j
43
_d
[1] =
_dim
/
_horiz_vol
[1];
44
}
registerMooseObject
registerMooseObject("PeridynamicsApp", ComputeSmallStrainVariableHorizonMaterialOSPD)
ComputeSmallStrainMaterialBaseOSPD::_b
Real _b
Definition:
ComputeSmallStrainMaterialBaseOSPD.h:39
ComputeSmallStrainVariableHorizonMaterialOSPD::ComputeSmallStrainVariableHorizonMaterialOSPD
ComputeSmallStrainVariableHorizonMaterialOSPD(const InputParameters ¶meters)
Definition:
ComputeSmallStrainVariableHorizonMaterialOSPD.C:25
ComputeSmallStrainVariableHorizonMaterialOSPD
Material class for ordinary state based peridynamic solid mechanics model based on irregular spatial ...
Definition:
ComputeSmallStrainVariableHorizonMaterialOSPD.h:23
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
ParametricMaterialBasePD::_bulk_modulus
Real _bulk_modulus
Definition:
ParametricMaterialBasePD.h:81
ComputeSmallStrainVariableHorizonMaterialOSPD::computePeridynamicsParams
virtual void computePeridynamicsParams() override
Function to compute the micro-moduli for bond-based and ordinary state-based models.
Definition:
ComputeSmallStrainVariableHorizonMaterialOSPD.C:32
ComputeSmallStrainMaterialBaseOSPD::_a
Real _a
Model parameters.
Definition:
ComputeSmallStrainMaterialBaseOSPD.h:38
validParams< ComputeSmallStrainVariableHorizonMaterialOSPD >
InputParameters validParams< ComputeSmallStrainVariableHorizonMaterialOSPD >()
Definition:
ComputeSmallStrainVariableHorizonMaterialOSPD.C:16
PeridynamicsMaterialBase::_horiz_vol
std::vector< Real > _horiz_vol
Definition:
PeridynamicsMaterialBase.h:40
ComputeSmallStrainMaterialBaseOSPD::_d
std::vector< Real > _d
Definition:
ComputeSmallStrainMaterialBaseOSPD.h:40
ComputeSmallStrainVariableHorizonMaterialOSPD.h
ParametricMaterialBasePD::_shear_modulus
Real _shear_modulus
Definition:
ParametricMaterialBasePD.h:80
Generated on Sat Jan 25 2020 12:04:38 for www.mooseframework.org by
1.8.16