www.mooseframework.org
ComputeVariableIsotropicElasticityTensor.h
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 #pragma once
11 
13 
15 
16 template <>
18 
25 {
26 public:
27  static InputParameters validParams();
28 
29  ComputeVariableIsotropicElasticityTensor(const InputParameters & parameters);
30 
31 protected:
32  virtual void initialSetup() override;
33  virtual void initQpStatefulProperties() override;
34  virtual void computeQpElasticityTensor() override;
35 
37  const MaterialProperty<Real> & _youngs_modulus;
38 
40  const MaterialProperty<Real> & _poissons_ratio;
41 
43  const unsigned int _num_args;
44 
46  std::vector<const MaterialProperty<Real> *> _dyoungs_modulus;
48  std::vector<std::vector<const MaterialProperty<Real> *>> _d2youngs_modulus;
49 
51  std::vector<const MaterialProperty<Real> *> _dpoissons_ratio;
53  std::vector<std::vector<const MaterialProperty<Real> *>> _d2poissons_ratio;
54 
56  std::vector<MaterialProperty<RankFourTensor> *> _delasticity_tensor;
58  std::vector<std::vector<MaterialProperty<RankFourTensor> *>> _d2elasticity_tensor;
59 
61  std::vector<Real> _isotropic_elastic_constants;
62 };
ComputeVariableIsotropicElasticityTensor::computeQpElasticityTensor
virtual void computeQpElasticityTensor() override
Definition: ComputeVariableIsotropicElasticityTensor.C:104
ComputeVariableIsotropicElasticityTensor::ComputeVariableIsotropicElasticityTensor
ComputeVariableIsotropicElasticityTensor(const InputParameters &parameters)
Definition: ComputeVariableIsotropicElasticityTensor.C:31
ComputeVariableIsotropicElasticityTensor::_dpoissons_ratio
std::vector< const MaterialProperty< Real > * > _dpoissons_ratio
first derivatives of the Poisson's Ratio with respect to the args
Definition: ComputeVariableIsotropicElasticityTensor.h:51
ComputeVariableIsotropicElasticityTensor
ComputeVariableIsotropicElasticityTensor defines an elasticity tensor material for isotropic material...
Definition: ComputeVariableIsotropicElasticityTensor.h:24
ComputeVariableIsotropicElasticityTensor::_delasticity_tensor
std::vector< MaterialProperty< RankFourTensor > * > _delasticity_tensor
first derivatives of the elasticity tensor with respect to the args
Definition: ComputeVariableIsotropicElasticityTensor.h:56
ComputeVariableIsotropicElasticityTensor::initialSetup
virtual void initialSetup() override
Definition: ComputeVariableIsotropicElasticityTensor.C:76
ComputeVariableIsotropicElasticityTensor::_isotropic_elastic_constants
std::vector< Real > _isotropic_elastic_constants
Vector of elastic constants to create the elasticity tensor (member to avoid memory churn)
Definition: ComputeVariableIsotropicElasticityTensor.h:61
ComputeVariableIsotropicElasticityTensor::_d2youngs_modulus
std::vector< std::vector< const MaterialProperty< Real > * > > _d2youngs_modulus
second derivatives of the Young's Modulus with respect to the args
Definition: ComputeVariableIsotropicElasticityTensor.h:48
ComputeVariableIsotropicElasticityTensor::_dyoungs_modulus
std::vector< const MaterialProperty< Real > * > _dyoungs_modulus
first derivatives of the Young's Modulus with respect to the args
Definition: ComputeVariableIsotropicElasticityTensor.h:46
ComputeElasticityTensorBase
ComputeElasticityTensorBase the base class for computing elasticity tensors.
Definition: ComputeElasticityTensorBase.h:25
ComputeVariableIsotropicElasticityTensor::validParams
static InputParameters validParams()
Definition: ComputeVariableIsotropicElasticityTensor.C:17
ComputeVariableIsotropicElasticityTensor::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: ComputeVariableIsotropicElasticityTensor.C:99
ComputeVariableIsotropicElasticityTensor::_youngs_modulus
const MaterialProperty< Real > & _youngs_modulus
Material defining the Young's Modulus.
Definition: ComputeVariableIsotropicElasticityTensor.h:37
ComputeVariableIsotropicElasticityTensor::_d2poissons_ratio
std::vector< std::vector< const MaterialProperty< Real > * > > _d2poissons_ratio
second derivatives of the Poisson's Ratio with respect to the args
Definition: ComputeVariableIsotropicElasticityTensor.h:53
ComputeVariableIsotropicElasticityTensor::_poissons_ratio
const MaterialProperty< Real > & _poissons_ratio
Material defining the Poisson's Ratio.
Definition: ComputeVariableIsotropicElasticityTensor.h:40
validParams< ComputeVariableIsotropicElasticityTensor >
InputParameters validParams< ComputeVariableIsotropicElasticityTensor >()
ComputeVariableIsotropicElasticityTensor::_d2elasticity_tensor
std::vector< std::vector< MaterialProperty< RankFourTensor > * > > _d2elasticity_tensor
second derivatives of the elasticity tensor with respect to the args
Definition: ComputeVariableIsotropicElasticityTensor.h:58
ComputeVariableIsotropicElasticityTensor::_num_args
const unsigned int _num_args
number of variables the moduli depend on
Definition: ComputeVariableIsotropicElasticityTensor.h:43
ComputeElasticityTensorBase.h