https://mooseframework.inl.gov
Loading...
Searching...
No Matches
TemperatureDependentHardeningStressUpdate.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
13#include "LinearInterpolation.h"
14
15class PiecewiseLinear;
16
22template <bool is_ad>
25{
26public:
28
30
31 using Material::_qp;
32
33protected:
34 virtual void
35 computeStressInitialize(const GenericReal<is_ad> & effectiveTrialStress,
37
39 virtual GenericReal<is_ad> computeHardeningValue(const GenericReal<is_ad> & 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};
72
Moose::GenericType< RankFourTensor, is_ad > GenericRankFourTensor
Moose::GenericType< Real, is_ad > GenericReal
TemperatureDependentHardeningStressUpdateTempl< false > TemperatureDependentHardeningStressUpdate
TemperatureDependentHardeningStressUpdateTempl< true > ADTemperatureDependentHardeningStressUpdate
This class uses the Discrete material in a radial return isotropic plasticity model.
unsigned int _qp
const InputParameters & parameters() const
This class inherits from IsotropicPlasticityStressUpdate.
virtual GenericReal< is_ad > computeHardeningDerivative(const GenericReal< is_ad > &scalar) override
virtual GenericReal< is_ad > computeHardeningValue(const GenericReal< is_ad > &scalar) override
virtual void computeYieldStress(const GenericRankFourTensor< is_ad > &elasticity_tensor) override
const std::vector< FunctionName > _hardening_functions_names
The function names and expressions for hardening as a function of temperature.
void initializeHardeningFunctions()
Determines the section of the piecewise temperature dependent hardening function for the current temp...
virtual void computeStressInitialize(const GenericReal< is_ad > &effectiveTrialStress, const GenericRankFourTensor< is_ad > &elasticity_tensor) override
Perform any necessary initialization before return mapping iterations.
GenericReal< is_ad > _hf_fraction
The fraction of the temperature within the bounds of the relevant section of the piecewise hardening ...
unsigned int _hf_index_lo
Indices to identify the lower and upper temperature bounds for the current value.
std::vector< Real > _hf_temperatures
The temperatures at which each of the hardening functions are defined.
Real elasticity_tensor(unsigned int i, unsigned int j, unsigned int k, unsigned int l)