www.mooseframework.org
ComputeCosseratElasticityTensor.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 
11 
13 
16 {
18  params.addClassDescription("Compute Cosserat elasticity and flexural bending rigidity tensors");
19  params.addRequiredParam<std::vector<Real>>("E_ijkl", "Elastic stiffness tensor for material");
20  params.addParam<MooseEnum>(
21  "fill_method", RankFourTensor::fillMethodEnum() = "symmetric9", "The fill method");
22  params.addRequiredParam<std::vector<Real>>("B_ijkl", "Flexural bending rigidity tensor.");
23  params.addParam<MooseEnum>("fill_method_bending",
24  RankFourTensor::fillMethodEnum() = "antisymmetric_isotropic",
25  "The fill method for the 'bending' tensor.");
26  return params;
27 }
28 
30  : ComputeElasticityTensorBase(parameters),
31  _Eijkl(getParam<std::vector<Real>>("E_ijkl"),
32  (RankFourTensor::FillMethod)(int)getParam<MooseEnum>("fill_method")),
33  _Bijkl(getParam<std::vector<Real>>("B_ijkl"),
34  (RankFourTensor::FillMethod)(int)getParam<MooseEnum>("fill_method_bending")),
35  _elastic_flexural_rigidity_tensor(
36  declareProperty<RankFourTensor>("elastic_flexural_rigidity_tensor"))
37 {
38  if (!isParamValid("elasticity_tensor_prefactor"))
40 }
41 
42 void
44 {
47 }
registerMooseObject("SolidMechanicsApp", ComputeCosseratElasticityTensor)
MaterialProperty< RankFourTensor > & _elastic_flexural_rigidity_tensor
Flexural rigidity tensor at the qps.
ComputeElasticityTensor defines an elasticity tensor material for isi.
ComputeCosseratElasticityTensor(const InputParameters &parameters)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
ComputeElasticityTensorBase the base class for computing elasticity tensors.
RankFourTensor _Bijkl
Flexural rigidity tensor.
void issueGuarantee(const MaterialPropertyName &prop_name, Guarantee guarantee)
GenericMaterialProperty< T, is_ad > & _elasticity_tensor
void addRequiredParam(const std::string &name, const std::string &doc_string)
bool isParamValid(const std::string &name) const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
RankFourTensor _Eijkl
Conventional elasticity tensor.
void addClassDescription(const std::string &doc_string)
static MooseEnum fillMethodEnum()
void ErrorVector unsigned int