www.mooseframework.org
peridynamics
test
src
materials
ComputePlaneStressIsotropicElasticityTensor.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 "
ComputePlaneStressIsotropicElasticityTensor.h
"
11
#include "
ElasticityTensorTools.h
"
12
13
registerMooseObject
(
"PeridynamicsTestApp"
,
ComputePlaneStressIsotropicElasticityTensor
);
14
15
template
<>
16
InputParameters
17
validParams<ComputePlaneStressIsotropicElasticityTensor>
()
18
{
19
InputParameters params =
validParams<ComputeIsotropicElasticityTensor>
();
20
params.addClassDescription(
21
"Class for computing a constant isotropic elasticity tensor for strong plane stress"
);
22
23
return
params;
24
}
25
26
ComputePlaneStressIsotropicElasticityTensor::ComputePlaneStressIsotropicElasticityTensor
(
27
const
InputParameters & parameters)
28
:
ComputeIsotropicElasticityTensor
(parameters)
29
{
30
// Retrieve youngs_modulus and poissons_ratio from the general 3D elasticity_tensor
31
Real youngs_modulus =
ElasticityTensorTools::getIsotropicYoungsModulus
(
_Cijkl
);
32
Real poissons_ratio =
ElasticityTensorTools::getIsotropicPoissonsRatio
(
_Cijkl
);
33
34
// Reconstructe the elasticity tensor specific for plane stress case
35
_Cijkl
.zero();
36
_Cijkl
(0, 0, 0, 0) =
_Cijkl
(1, 1, 1, 1) =
37
youngs_modulus / (1.0 + poissons_ratio) / (1.0 - poissons_ratio);
38
_Cijkl
(0, 0, 1, 1) =
_Cijkl
(1, 1, 0, 0) =
39
youngs_modulus * poissons_ratio / (1.0 + poissons_ratio) / (1.0 - poissons_ratio);
40
_Cijkl
(0, 1, 0, 1) =
_Cijkl
(1, 0, 1, 0) = 0.5 * youngs_modulus / (1.0 + poissons_ratio);
41
}
ComputePlaneStressIsotropicElasticityTensor.h
ComputeIsotropicElasticityTensor
ComputeIsotropicElasticityTensor defines an elasticity tensor material for isotropic materials.
Definition:
ComputeIsotropicElasticityTensor.h:23
ComputeIsotropicElasticityTensor::_Cijkl
RankFourTensor _Cijkl
Individual elasticity tensor.
Definition:
ComputeIsotropicElasticityTensor.h:47
ElasticityTensorTools::getIsotropicPoissonsRatio
T getIsotropicPoissonsRatio(const RankFourTensorTempl< T > &elasticity_tensor)
Get the Poisson's modulus for an isotropic elasticity tensor param elasticity_tensor the tensor (must...
Definition:
ElasticityTensorTools.h:115
ComputePlaneStressIsotropicElasticityTensor::ComputePlaneStressIsotropicElasticityTensor
ComputePlaneStressIsotropicElasticityTensor(const InputParameters ¶meters)
Definition:
ComputePlaneStressIsotropicElasticityTensor.C:26
ElasticityTensorTools::getIsotropicYoungsModulus
T getIsotropicYoungsModulus(const RankFourTensorTempl< T > &elasticity_tensor)
Get the Young's modulus for an isotropic elasticity tensor param elasticity_tensor the tensor (must b...
Definition:
ElasticityTensorTools.h:98
validParams< ComputePlaneStressIsotropicElasticityTensor >
InputParameters validParams< ComputePlaneStressIsotropicElasticityTensor >()
Definition:
ComputePlaneStressIsotropicElasticityTensor.C:17
ElasticityTensorTools.h
registerMooseObject
registerMooseObject("PeridynamicsTestApp", ComputePlaneStressIsotropicElasticityTensor)
validParams< ComputeIsotropicElasticityTensor >
InputParameters validParams< ComputeIsotropicElasticityTensor >()
ComputePlaneStressIsotropicElasticityTensor
Material class to define elasticity tensor for conventional plane stress of isotropic material.
Definition:
ComputePlaneStressIsotropicElasticityTensor.h:22
Generated on Sat Jan 25 2020 12:04:39 for www.mooseframework.org by
1.8.16