www.mooseframework.org
TemperatureDependentHardeningStressUpdate.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 #include "LinearInterpolation.h"
14 
15 class PiecewiseLinear;
16 
18 
19 template <>
21 
28 {
29 public:
30  static InputParameters validParams();
31 
32  TemperatureDependentHardeningStressUpdate(const InputParameters & parameters);
33 
34 protected:
35  virtual void computeStressInitialize(const Real effectiveTrialStress,
36  const RankFourTensor & elasticity_tensor) override;
37 
38  virtual void computeYieldStress(const RankFourTensor & elasticity_tensor) override;
39  virtual Real computeHardeningValue(Real scalar) override;
40  virtual Real computeHardeningDerivative(Real scalar) override;
41 
48 
49  MooseSharedPointer<LinearInterpolation> _interp_yield_stress;
50 
52  const std::vector<FunctionName> _hardening_functions_names;
53  std::vector<const PiecewiseLinear *> _hardening_functions;
55 
57  std::vector<Real> _hf_temperatures;
58 
60  unsigned int _hf_index_lo;
61  unsigned int _hf_index_hi;
63 
71 };
TemperatureDependentHardeningStressUpdate::_hf_temperatures
std::vector< Real > _hf_temperatures
The temperatures at which each of the hardening functions are defined.
Definition: TemperatureDependentHardeningStressUpdate.h:57
TemperatureDependentHardeningStressUpdate::computeYieldStress
virtual void computeYieldStress(const RankFourTensor &elasticity_tensor) override
Definition: TemperatureDependentHardeningStressUpdate.C:152
TemperatureDependentHardeningStressUpdate::_hf_index_lo
unsigned int _hf_index_lo
Indices to identify the lower and upper temperature bounds for the current value.
Definition: TemperatureDependentHardeningStressUpdate.h:60
IsotropicPlasticityStressUpdate.h
TemperatureDependentHardeningStressUpdate::_hf_index_hi
unsigned int _hf_index_hi
Definition: TemperatureDependentHardeningStressUpdate.h:61
TemperatureDependentHardeningStressUpdate::validParams
static InputParameters validParams()
Definition: TemperatureDependentHardeningStressUpdate.C:20
TemperatureDependentHardeningStressUpdate::computeHardeningValue
virtual Real computeHardeningValue(Real scalar) override
Definition: TemperatureDependentHardeningStressUpdate.C:132
validParams< TemperatureDependentHardeningStressUpdate >
InputParameters validParams< TemperatureDependentHardeningStressUpdate >()
TemperatureDependentHardeningStressUpdate::computeStressInitialize
virtual void computeStressInitialize(const Real effectiveTrialStress, const RankFourTensor &elasticity_tensor) override
Perform any necessary initialization before return mapping iterations.
Definition: TemperatureDependentHardeningStressUpdate.C:86
TemperatureDependentHardeningStressUpdate::_hardening_functions
std::vector< const PiecewiseLinear * > _hardening_functions
Definition: TemperatureDependentHardeningStressUpdate.h:53
TemperatureDependentHardeningStressUpdate::TemperatureDependentHardeningStressUpdate
TemperatureDependentHardeningStressUpdate(const InputParameters &parameters)
Definition: TemperatureDependentHardeningStressUpdate.C:46
TemperatureDependentHardeningStressUpdate::_hf_fraction
Real _hf_fraction
The fraction of the temperature within the bounds of the relevant section of the piecewise hardening ...
Definition: TemperatureDependentHardeningStressUpdate.h:70
TemperatureDependentHardeningStressUpdate::initializeHardeningFunctions
void initializeHardeningFunctions()
Determines the section of the piecewise temperature dependent hardening function for the current temp...
Definition: TemperatureDependentHardeningStressUpdate.C:98
RankFourTensorTempl< Real >
TemperatureDependentHardeningStressUpdate
This class inherits from IsotropicPlasticityStressUpdate.
Definition: TemperatureDependentHardeningStressUpdate.h:27
TemperatureDependentHardeningStressUpdate::_hardening_functions_names
const std::vector< FunctionName > _hardening_functions_names
The function names and expressions for hardening as a function of temperature.
Definition: TemperatureDependentHardeningStressUpdate.h:52
TemperatureDependentHardeningStressUpdate::_interp_yield_stress
MooseSharedPointer< LinearInterpolation > _interp_yield_stress
Definition: TemperatureDependentHardeningStressUpdate.h:49
IsotropicPlasticityStressUpdate
This class uses the Discrete material in a radial return isotropic plasticity model.
Definition: IsotropicPlasticityStressUpdate.h:37
TemperatureDependentHardeningStressUpdate::computeHardeningDerivative
virtual Real computeHardeningDerivative(Real scalar) override
Definition: TemperatureDependentHardeningStressUpdate.C:142