https://mooseframework.inl.gov
HillConstants.h
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 
10 #pragma once
11 
12 #include "Material.h"
13 #include "Function.h"
14 #include "RotationTensor.h"
15 
20 template <bool is_ad>
22 {
23 public:
25 
27 
28 protected:
29  virtual void computeQpProperties() override;
30 
31  virtual void initQpStatefulProperties() override;
32 
33  virtual void rotateHillConstants(const std::vector<Real> & hill_constants_input);
34 
36  const std::string _base_name;
37 
39  const bool _use_large_rotation;
40 
45 
48 
50  const std::vector<Real> _hill_constants_input;
52 
55 
58 
61 
64 
66  const bool _has_temp;
67 
70 
72  const std::vector<FunctionName> _function_names;
73 
75  const unsigned int _num_functions;
76 
78  std::vector<const Function *> _functions;
79 
80  // Initial rigid body rotation of the structural element
82 };
83 
const std::vector< FunctionName > _function_names
Function names.
Definition: HillConstants.h:72
RotationTensor _rigid_body_rotation_tensor
Definition: HillConstants.h:81
DenseMatrix< Real > _transformation_tensor
Transformation matrix.
Definition: HillConstants.h:63
virtual void initQpStatefulProperties() override
MaterialProperty< DenseMatrix< Real > > * _hill_tensor_material
Material property for storing transformed Hill tensor.
Definition: HillConstants.h:57
DenseMatrix< Real > _hill_tensor
Definition: HillConstants.h:51
GenericMaterialProperty< RankTwoTensor, is_ad > * _rotation_total_hill
Rotation up to current step "n" to compute Hill tensor.
Definition: HillConstants.h:42
MaterialProperty< std::vector< Real > > & _hill_constant_material
Material property for storing hill constants (unrotated)
Definition: HillConstants.h:54
HillConstantsTempl< false > HillConstants
Definition: HillConstants.h:84
const bool _has_temp
Flag to determine if temperature is supplied by the user.
Definition: HillConstants.h:66
const std::string _base_name
Base name of the material system.
Definition: HillConstants.h:36
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
virtual void rotateHillConstants(const std::vector< Real > &hill_constants_input)
HillConstantsTempl< true > ADHillConstants
Definition: HillConstants.h:85
HillConstantsTempl(const InputParameters &parameters)
Definition: HillConstants.C:52
const VariableValue & _temperature
Temperature variable value.
Definition: HillConstants.h:69
RealVectorValue _zxz_angles
Euler angles for transformation of hill tensor.
Definition: HillConstants.h:60
This is a RealTensor version of a rotation matrix It is instantiated with the Euler angles...
OutputTools< Real >::VariableValue VariableValue
virtual void computeQpProperties() override
const GenericMaterialProperty< RankTwoTensor, is_ad > * _rotation_increment
Strain increment material property.
Definition: HillConstants.h:47
const InputParameters & parameters() const
const MaterialProperty< RankTwoTensor > * _rotation_total_hill_old
Rotation up to "n - 1" (previous) step to compute Hill tensor.
Definition: HillConstants.h:44
const std::vector< Real > _hill_constants_input
Hill constants for orthotropic inelasticity.
Definition: HillConstants.h:50
std::vector< const Function * > _functions
The functions describing the temperature dependence.
Definition: HillConstants.h:78
const unsigned int _num_functions
Number of function names.
Definition: HillConstants.h:75
static InputParameters validParams()
Definition: HillConstants.C:17
const bool _use_large_rotation
Flag to determine whether to rotate Hill&#39;s tensor with large strain kinematics.
Definition: HillConstants.h:39
This class defines a Hill tensor material object with a given base name.
Definition: HillConstants.h:21