https://mooseframework.inl.gov
Loading...
Searching...
No Matches
CompositeElasticityTensor.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("Assemble an elasticity tensor from multiple tensor contributions "
19 "weighted by material properties");
20 params.addParam<std::string>("base_name",
21 "Optional parameter that allows the user to define "
22 "multiple mechanics material systems on the same "
23 "block, i.e. for multiple phases");
24 return params;
25}
26
29 _base_name(isParamValid("base_name") ? getParam<std::string>("base_name") + "_" : ""),
30 _M_name(_base_name + "elasticity_tensor"),
31 _M(declareProperty<RankFourTensor>(_M_name))
32{
33 // we take the tensor names to be the _base names_ of the elasticity tensors
34 for (unsigned int i = 0; i < _num_comp; ++i)
35 _tensor_names[i] += "_elasticity_tensor";
36
38}
39
40void
registerMooseObject("SolidMechanicsApp", CompositeElasticityTensor)
CompositeElasticityTensor provides a simple RankFourTensor type MaterialProperty that can be used as ...
static InputParameters validParams()
MaterialProperty< RankFourTensor > & _M
CompositeElasticityTensor(const InputParameters &parameters)
static InputParameters validParams()
void initializeDerivativeProperties(const std::string name)
virtual void computeQpTensorProperties(MaterialProperty< T > &M, Real derivative_prefactor=1.0)
std::vector< MaterialPropertyName > _tensor_names
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)