www.mooseframework.org
MaterialSymmElasticityTensorAux.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 /*************************************************************************
11 *
12 * Welcome to HYRAX!
13 * Andrea M. Jokisaari
14 * CASL/MOOSE
15 *
16 * 18 April 2012
17 *
18 *************************************************************************/
19 
21 
23 
24 template <>
25 InputParameters
27 {
28  InputParameters params = validParams<AuxKernel>();
29  // name of the material property of symm elasticity tensor type (probably "elasticity_tensor")
30  params.addRequiredParam<std::string>("tensor_matpro",
31  "The SymmElasticityTensor material property name");
32  params.addRequiredParam<int>("index", "The matrix index (0-20) to output");
33 
34  return params;
35 }
36 
38  : AuxKernel(parameters),
39  _tensor_matpro(getParam<std::string>("tensor_matpro")),
40  _index(getParam<int>("index")),
41  _tensor_prop(getMaterialProperty<SymmElasticityTensor>(_tensor_matpro))
42 {
43  if (_index < 0 || _index > 20)
44  mooseError("Please check your index specified for MaterialSymmElasticityTensorAux (between 0 "
45  "and 20).");
46 }
47 
48 Real
50 {
51  return (_tensor_prop[_qp]).valueAtIndex(_index);
52 }
registerMooseObject
registerMooseObject("SolidMechanicsApp", MaterialSymmElasticityTensorAux)
MaterialSymmElasticityTensorAux::MaterialSymmElasticityTensorAux
MaterialSymmElasticityTensorAux(const InputParameters &parameters)
Definition: MaterialSymmElasticityTensorAux.C:36
MaterialSymmElasticityTensorAux::_tensor_prop
const MaterialProperty< SymmElasticityTensor > & _tensor_prop
Definition: MaterialSymmElasticityTensorAux.h:42
SymmElasticityTensor
This class defines a basic set of capabilities any elasticity tensor should have.
Definition: SymmElasticityTensor.h:55
MaterialSymmElasticityTensorAux::_index
int _index
Definition: MaterialSymmElasticityTensorAux.h:39
MaterialSymmElasticityTensorAux
Definition: MaterialSymmElasticityTensorAux.h:31
MaterialSymmElasticityTensorAux.h
MaterialSymmElasticityTensorAux::computeValue
virtual Real computeValue()
Definition: MaterialSymmElasticityTensorAux.C:48
validParams< MaterialSymmElasticityTensorAux >
InputParameters validParams< MaterialSymmElasticityTensorAux >()
Definition: MaterialSymmElasticityTensorAux.C:25